{"version":"{\"name\":\"_Users_james_dev_maxwell-edi\",\"rootDir\":\"/Users/james/dev/maxwell-edi\",\"testPathDirs\":[\"/Users/james/dev/maxwell-edi\"],\"testPathIgnorePatterns\":[\"/node_modules/.+\"],\"bail\":false,\"cacheDirectory\":\"/Users/james/dev/jest/.haste_cache\",\"coverageCollector\":\"/Users/james/dev/jest/src/IstanbulCollector.js\",\"coverageReporters\":[\"json\",\"text\",\"lcov\",\"clover\"],\"globals\":{},\"moduleFileExtensions\":[\"js\",\"json\"],\"moduleLoader\":\"/Users/james/dev/jest/src/HasteModuleLoader/HasteModuleLoader.js\",\"preprocessorIgnorePatterns\":[],\"modulePathIgnorePatterns\":[],\"testDirectoryName\":\"__tests__\",\"testEnvironment\":\"/Users/james/dev/jest/src/JSDomEnvironment.js\",\"testEnvData\":{},\"testFileExtensions\":[\"js\"],\"testReporter\":\"/Users/james/dev/jest/src/IstanbulTestReporter.js\",\"testRunner\":\"/Users/james/dev/jest/src/jasmineTestRunner/jasmineTestRunner.js\",\"noHighlight\":false,\"preprocessCachingDisabled\":false,\"verbose\":false,\"setupJSLoaderOptions\":{\"extensions\":[\".js\",\".json\"]},\"setupJSTestLoaderOptions\":{\"extensions\":[\".js\"]},\"setupJSMockLoaderOptions\":{\"extensions\":[\".js\",\".json\"]}}","objects":[{"type":"JS","path":"/Users/james/dev/maxwell-edi/coffeelint.json","id":"maxwell-edi/coffeelint.json","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/benefitXml.sample.json","id":"maxwell-edi/data/benefitXml.sample.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/cron.js","id":"maxwell-edi/cron.js","options":{},"isModule":true,"requiredModules":["coffee-script/register.js","./lib/services/email","maxwell-edi/lib/bootCron.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/administrator.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/administrator.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/analyst.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/analyst.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/audit_log.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/audit_log.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/auth_token.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/auth_token.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/broker_admin.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/broker_admin.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/broker.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/broker.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/broker_email_template.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/broker_email_template.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/employer.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/employer.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/employer_bundle.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/employer_bundle.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/employer_email_template.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/employer_email_template.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/employer_group.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/employer_group.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/employer_group_product.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/employer_group_product.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/employer_product.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/employer_product.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/family.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/family.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/family_product_available.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/family_product_available.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/family_product_enrollment.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/family_product_enrollment.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/family_qle.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/family_qle.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/family_snapshot.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/family_snapshot.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/notification_template.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/notification_template.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/product.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/product.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/product_template.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/product_template.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/qle.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/qle.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/rule.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/rule.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/super_admin.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/super_admin.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/system_email_template.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/system_email_template.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/user.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/user.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/dump/maxwellv5/vendor.metadata.json","id":"maxwell-edi/data/dump/maxwellv5/vendor.metadata.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/data/familyData.sample.json","id":"maxwell-edi/data/familyData.sample.json","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/getUsedLockboxFiles.js","id":"maxwell-edi/getUsedLockboxFiles.js","options":{},"isModule":true,"requiredModules":["coffee-script/register.js","./lib/services/logging","maxwell-edi/lib/services/db/mongo.js","underscore/underscore.js","./lib/services/lockbox","./lib/models"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/Gruntfile.js","id":"maxwell-edi/Gruntfile.js","options":{},"isModule":true,"requiredModules":["util/util.js","fs"],"mtime":1440776467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/bootCron.js","id":"maxwell-edi/lib/bootCron.js","options":{},"isModule":true,"requiredModules":["./services/logging","maxwell-edi/lib/services/utilities/config.js","q/q.js","underscore/underscore.js","express/index.js","util/util.js","body-parser/index.js","cookie-parser/index.js","maxwell-edi/lib/modules/index.js","./services/dispatcher","winston/lib/winston.js","mongoose-q/index.js","mongoose/index.js","maxwell-edi/lib/services/registry.js","maxwell-edi/lib/services/db/mongo.js","./models","./services/queueDrivers/sqs"],"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/bootProcess.js","id":"maxwell-edi/lib/bootProcess.js","options":{},"isModule":true,"requiredModules":["./services/logging","q/q.js","underscore/underscore.js","express/index.js","util/util.js","body-parser/index.js","cookie-parser/index.js","maxwell-edi/lib/modules/index.js","./services/dispatcher","winston/lib/winston.js","./services/utilities/handlebars","./services/queueDrivers/driver","mongoose-q/index.js","mongoose/index.js","maxwell-edi/lib/services/registry.js","maxwell-edi/lib/services/db/mongo.js","./models"],"mtime":1446725536000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/controllers/dashboard.js","id":"maxwell-edi/lib/controllers/dashboard.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/utilities/config.js","express/index.js","../middleware/basicAuth","ps-node/index.js","q/q.js","../services/queueDrivers/sqs","winston/lib/winston.js","../models","moment/moment.js"],"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/ApiAuth.js","id":"maxwell-edi/lib/models/models/ApiAuth.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","hat/index.js","mongoose/index.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/Broker.js","id":"maxwell-edi/lib/models/models/Broker.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","mongoose/index.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/Employer.js","id":"maxwell-edi/lib/models/models/Employer.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","mongoose/index.js"],"mtime":1444217620000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/EmployerGroup.js","id":"maxwell-edi/lib/models/models/EmployerGroup.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","moment/moment.js","../../services/utilities/dot","mongoose/index.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/EventLog.js","id":"maxwell-edi/lib/models/models/EventLog.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","os","mongoose/index.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/FamilyProductAvailable.js","id":"maxwell-edi/lib/models/models/FamilyProductAvailable.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","mongoose/index.js","../utils/addEncryptionHooks","../utils/schemaRegistry"],"mtime":1446725536000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/FamilyProductEnrollment.js","id":"maxwell-edi/lib/models/models/FamilyProductEnrollment.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","mongoose/index.js","../utils/addEncryptionHooks","../utils/schemaRegistry"],"mtime":1446725536000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/FamilyQle.js","id":"maxwell-edi/lib/models/models/FamilyQle.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","mongoose/index.js","../utils/addEncryptionHooks","../utils/schemaRegistry"],"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/Nonce.js","id":"maxwell-edi/lib/models/models/Nonce.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","mongoose/index.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/Product.js","id":"maxwell-edi/lib/models/models/Product.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","mongoose/index.js"],"mtime":1446725536000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/SsoToken.js","id":"maxwell-edi/lib/models/models/SsoToken.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","random-string/lib/random-string.js","mongoose/index.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/TempCompleteFamily.js","id":"maxwell-edi/lib/models/models/TempCompleteFamily.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","mongoose/index.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/models/models/Vendor.js","id":"maxwell-edi/lib/models/models/Vendor.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/db/mongo.js","../utils/addEncryptionHooks","mongoose/index.js"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/BambooHR/webhookConfig.json","id":"maxwell-edi/lib/modules/BambooHR/webhookConfig.json","options":{},"isModule":true,"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/DiscoveryBenefits/config.json","id":"maxwell-edi/lib/modules/DiscoveryBenefits/config.json","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/ChangeReport/config.json","id":"maxwell-edi/lib/modules/ChangeReport/config.json","options":{},"isModule":true,"mtime":1444217620000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/GenericEnrollment/config.json","id":"maxwell-edi/lib/modules/GenericEnrollment/config.json","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/index.js","id":"maxwell-edi/lib/modules/index.js","options":{},"isModule":true,"requiredModules":["./Testing/Bogus","./System/ClearQueue","./System/UniversalEndpoints","./SilkRoad","./SilkRoad/Dispatch","./AgeReduction/Dispatch","./Guardian/SyncUp","./Guardian/Dispatch","./BambooHR","./BambooHR/webhookIndex","./Tradelink/BogusPartner","./Tradelink/partners/AnthemCA","./Tradelink/partners/BCBSAL","./Tradelink/partners/BCBSMA","./Tradelink/partners/BlueCrossShield","./Tradelink/partners/Cigna","./Tradelink/partners/EyeMed","./Tradelink/partners/Guardian","./Tradelink/partners/Kaiser","./Tradelink/partners/Lincoln","./Tradelink/partners/MetLife","./Tradelink/partners/MutualOfOmaha","./Tradelink/partners/Principal","./Tradelink/partners/RSL","./Tradelink/partners/SunLife","./Tradelink/partners/UHC","./Tradelink/partners/VSP","./Tradelink/partners/BusinessAdministratorsAndConsultants","./Tradelink/partners/AnthemIN","./Tradelink/partners/AnthemWI","./Tradelink/partners/BCBSTX","./Tradelink/partners/BlueShieldCalifornia","./Tradelink/partners/BCBSNC","./Tradelink/partners/CignaFacets","./Tradelink/partners/CignaProclaim","./Tradelink/partners/CignaAncillary","./Tradelink/partners/Assurant","./Tradelink/partners/BenefitMallImmersion","./Tradelink/partners/BenefitMallIntridea","./Tradelink/partners/BenefitMallLeadershipForEducationEquity","./Tradelink/partners/BenefitMallPleasantValley","./Tradelink/partners/BenefitMallRyanSharkey","./Tradelink/partners/BenefitMallTheClearing","./Tradelink/partners/BenefitMallCoverent","./Tradelink/partners/BenefitMallUSSoccer","./Tradelink/partners/BenefitMallMCNBuild","./Tradelink/partners/BenefitMallBlueline","./Tradelink/partners/Avesis","./Tradelink/partners/Wellmark","./Tradelink/partners/Aetna","./Tradelink/partners/AnthemHROI","./Tradelink/partners/CarefirstQHS","./Tradelink/partners/AlliedAdminstrators","./Tradelink/partners/Coventry","./Tradelink/partners/Oxford","./Tradelink/partners/DeltaDental_IA","./Tradelink/partners/AnthemWIDental","./Tradelink/partners/FloridaBlue","./Tradelink/partners/Regence","./Tradelink/partners/CignaProclaimTrelloStack","./Tradelink/partners/Ameritas","./Tradelink/partners/GuardianHROI","./Tradelink/partners/MetlifeSOH","./Tradelink/partners/CignaLADE_MUW","./Tradelink/partners/CignaLADE_Elig","./Tradelink/partners/DeltaDentalCA","./Tradelink/partners/HealthnetMedical","./Tradelink/partners/HealthnetDental","./Tradelink/partners/HealthnetVision","./Tradelink/Dispatch","./GenericEnrollment/partners/AlliedAdministrators","./GenericEnrollment/partners/Ameritas","./GenericEnrollment/partners/AmeritasAsRSL","./GenericEnrollment/partners/Assurant","./GenericEnrollment/partners/BusinessAdministratorsAndConsultants","./GenericEnrollment/partners/CignaAncillary","./GenericEnrollment/partners/DeltaDental","./GenericEnrollment/partners/Kaiser","./GenericEnrollment/partners/MetLife","./GenericEnrollment/partners/MutualOfOmaha","./GenericEnrollment/partners/Principal","./GenericEnrollment/partners/Reliance","./GenericEnrollment/partners/Standard","./GenericEnrollment/partners/SunLife","./GenericEnrollment/partners/VSPGroupOnly","./GenericEnrollment/partners/VPI","./GenericEnrollment/partners/EBSO","./GenericEnrollment/dispatch","./System/Dashboard","./System/DailyDigest","./System/ProcessParsedForms","./System/ProcessSignedForms","./System/FpeTermCron","./Reports/Generate","./HealthAdvocate/SyncUp","./HealthAdvocate/Dispatch","./DiscoveryBenefits/index","./DiscoveryBenefits/payScheduleDispatch","./DiscoveryBenefits/weeklyDispatch","./Census","./ChangeReport/SyncUp","./Paylocity/index","./Paylocity/Dispatch","./Dynamo","./Dynamo/Dispatch","./CheckoutEmails/Quotit/index","./CheckoutEmails/Quotit/dispatch","./CheckoutEmails/HelloFresh/dispatch","./CheckoutEmails/HelloFresh/index","./CheckoutEmails/DoctorOnDemand/dispatch","./CheckoutEmails/DoctorOnDemand/index","./Jexwell/index","./Engine/index","./Engine/dispatch","./Engine/engineTaskHandler","./MapMyBenefits/index","./RetireSmart/index","./MassMutual/Inbound401k/index","./MassMutual/Inbound401k/Dispatch","./RedirectIntegrations/RGA"],"mtime":1449587357000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Flood.js","id":"maxwell-edi/lib/modules/Jexwell/Flood.js","options":{},"isModule":true,"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/Evaluator.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/Evaluator.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/subProcessors.js","maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/handlers.js","maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/utils.js","maxwell-edi/lib/modules/Jexwell/Jexl/Relay.js"],"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/handlers.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/handlers.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/Evaluator.js"],"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/subProcessors.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/subProcessors.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/utils.js","maxwell-edi/lib/modules/Jexwell/Jexl/Relay.js"],"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/grammar.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/grammar.js","options":{},"isModule":true,"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/Jexl.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/Jexl.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/Evaluator.js","maxwell-edi/lib/modules/Jexwell/Jexl/Lexer.js","maxwell-edi/lib/modules/Jexwell/Jexl/parser/Parser.js","maxwell-edi/lib/modules/Jexwell/Jexl/Relay.js","maxwell-edi/lib/modules/Jexwell/Jexl/grammar.js"],"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/Lexer.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/Lexer.js","options":{},"isModule":true,"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/utils.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/evaluator/utils.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/modules/Jexwell/Jexl/Relay.js"],"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/parser/handlers.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/parser/handlers.js","options":{},"isModule":true,"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/parser/Parser.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/parser/Parser.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/modules/Jexwell/Jexl/parser/handlers.js","maxwell-edi/lib/modules/Jexwell/Jexl/parser/states.js"],"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/parser/states.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/parser/states.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/modules/Jexwell/Jexl/parser/handlers.js"],"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Jexwell/Jexl/Relay.js","id":"maxwell-edi/lib/modules/Jexwell/Jexl/Relay.js","options":{},"isModule":true,"mtime":1439378060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/MassMutual/Inbound401k/config.json","id":"maxwell-edi/lib/modules/MassMutual/Inbound401k/config.json","options":{},"isModule":true,"mtime":1444217623000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/Paylocity/config.json","id":"maxwell-edi/lib/modules/Paylocity/config.json","options":{},"isModule":true,"mtime":1429182746000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/modules/System/hardcodedFormRequiredFields.json","id":"maxwell-edi/lib/modules/System/hardcodedFormRequiredFields.json","options":{},"isModule":true,"mtime":1439378031000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/csvParser.js","id":"maxwell-edi/lib/services/csvParser.js","options":{},"isModule":true,"requiredModules":["q/q.js","csv-parse/lib/index.js","underscore/underscore.js"],"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/db/mongo.js","id":"maxwell-edi/lib/services/db/mongo.js","options":{},"isModule":true,"requiredModules":["../../services/email","mongoose-q/index.js","mongoose/index.js","../logging","q/q.js","winston/lib/winston.js","maxwell-edi/lib/services/utilities/config.js"],"mtime":1446725536000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/queueDrivers/bogus.js","id":"maxwell-edi/lib/services/queueDrivers/bogus.js","options":{},"isModule":true,"requiredModules":["q/q.js","underscore/underscore.js"],"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/registry.js","id":"maxwell-edi/lib/services/registry.js","options":{},"isModule":true,"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/sorting.js","id":"maxwell-edi/lib/services/sorting.js","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/template.js","id":"maxwell-edi/lib/services/template.js","options":{},"isModule":true,"requiredModules":["q/q.js","fs"],"mtime":1415815448000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/titan/employersWithCarrierProducts.js","id":"maxwell-edi/lib/services/titan/employersWithCarrierProducts.js","options":{},"isModule":true,"requiredModules":["q/q.js","underscore/underscore.js","mongodb/lib/mongodb/index.js","../../models"],"mtime":1432212953000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/titan/fullFamilyStream.js","id":"maxwell-edi/lib/services/titan/fullFamilyStream.js","options":{},"isModule":true,"requiredModules":["./familyStreamForEmployer","q/q.js","moment/moment.js","underscore/underscore.js","mongoose/index.js","mongodb/lib/mongodb/index.js","../../models"],"mtime":1446725536000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/utilities/config.js","id":"maxwell-edi/lib/services/utilities/config.js","options":{},"isModule":true,"requiredModules":["underscore/underscore.js","fs","./dot"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/utilities/emptyDirectory.js","id":"maxwell-edi/lib/services/utilities/emptyDirectory.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/utilities/fieldMapper.js","id":"maxwell-edi/lib/services/utilities/fieldMapper.js","options":{},"isModule":true,"requiredModules":["underscore/underscore.js"],"mtime":1444217620000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/utilities/tpaCredentials.js","id":"maxwell-edi/lib/services/utilities/tpaCredentials.js","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/utilities/spawnProcess.js","id":"maxwell-edi/lib/services/utilities/spawnProcess.js","options":{},"isModule":true,"requiredModules":["child_process","winston/lib/winston.js","path"],"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/services/utilities/validMongoId.js","id":"maxwell-edi/lib/services/utilities/validMongoId.js","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/test/titan/sampleFamilies.json","id":"maxwell-edi/lib/test/titan/sampleFamilies.json","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/test/titan/sampleProduct.json","id":"maxwell-edi/lib/test/titan/sampleProduct.json","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/test/titan/sampleFPEs.json","id":"maxwell-edi/lib/test/titan/sampleFPEs.json","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/test/titan/testUtil.js","id":"maxwell-edi/lib/test/titan/testUtil.js","options":{},"isModule":true,"requiredModules":["superagent/lib/node/index.js","q/q.js","colors/colors.js"],"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/translators/HealthAdvocate.js","id":"maxwell-edi/lib/translators/HealthAdvocate.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/translators/HR-XML.js","id":"maxwell-edi/lib/translators/HR-XML.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/template.js","q/q.js","ejs/lib/ejs.js","fs","libxmljs/index.js","moment/moment.js","child_process"],"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/lib/translators/SilkRoad.js","id":"maxwell-edi/lib/translators/SilkRoad.js","options":{},"isModule":true,"requiredModules":["maxwell-edi/lib/services/template.js","q/q.js","ejs/lib/ejs.js","fs","libxmljs/index.js","moment/moment.js","underscore/underscore.js","../services/fieldMapper"],"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/newTradelinkModule.js","id":"maxwell-edi/newTradelinkModule.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1432212953000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/_site/lib/allong.es.js","id":"_site/lib/allong.es.js","options":{},"isModule":true,"requiredModules":["promise/index.js"],"mtime":1366380196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/_site/lib/allong.es.min.js","id":"_site/lib/allong.es.min.js","options":{},"isModule":true,"mtime":1366380196000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/_site/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/allong.es/_site/package.json","data":{"author":"Reg Braithwaite <raganwald@gmail.com> (http://braythwayt.com)","name":"allong.es","description":"Combinators and Function Decorators","version":"0.10.2","homepage":"http://allong.es","repository":{"type":"git","url":"git://github.com/raganwald/allong.es.git"},"main":"lib/allong.es.js","scripts":{"test":"jasmine-node --coffee --verbose spec"},"engines":{"node":""},"dependencies":{"promise":""},"devDependencies":{"jasmine-node":"","coffee-script":"","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0"}},"mtime":1366380197000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/lib/allong.es.js","id":"allong.es/lib/allong.es.js","options":{},"isModule":true,"requiredModules":["promise/index.js"],"mtime":1367873840000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/lib/allong.es.min.js","id":"allong.es/lib/allong.es.min.js","options":{},"isModule":true,"requiredModules":["promise/index.js"],"mtime":1367874841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/build.js","id":"promise/build.js","options":{},"isModule":true,"requiredModules":["fs","rimraf/rimraf.js","acorn","acorn/dist/walk","asap/asap.js"],"mtime":1438199259000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/core.js","id":"promise/core.js","options":{},"isModule":true,"requiredModules":["promise/lib/core.js","promise/core.js","promise/lib/core.js"],"mtime":1438199258000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/domains/core.js","id":"promise/domains/core.js","options":{},"isModule":true,"requiredModules":["asap/asap.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/domains/done.js","id":"promise/domains/done.js","options":{},"isModule":true,"requiredModules":["promise/domains/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/domains/es6-extensions.js","id":"promise/domains/es6-extensions.js","options":{},"isModule":true,"requiredModules":["promise/domains/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/domains/finally.js","id":"promise/domains/finally.js","options":{},"isModule":true,"requiredModules":["promise/domains/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/domains/index.js","id":"promise/domains/index.js","options":{},"isModule":true,"requiredModules":["promise/domains/core.js","promise/domains/done.js","promise/domains/finally.js","promise/domains/es6-extensions.js","promise/domains/node-extensions.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/domains/node-extensions.js","id":"promise/domains/node-extensions.js","options":{},"isModule":true,"requiredModules":["promise/domains/core.js","asap/asap.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/index.js","id":"promise/index.js","options":{},"isModule":true,"requiredModules":["promise/lib/index.js"],"mtime":1438199259000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/lib/core.js","id":"promise/lib/core.js","options":{},"isModule":true,"requiredModules":["asap/raw.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/lib/done.js","id":"promise/lib/done.js","options":{},"isModule":true,"requiredModules":["promise/lib/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/lib/es6-extensions.js","id":"promise/lib/es6-extensions.js","options":{},"isModule":true,"requiredModules":["promise/lib/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/lib/finally.js","id":"promise/lib/finally.js","options":{},"isModule":true,"requiredModules":["promise/lib/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/lib/index.js","id":"promise/lib/index.js","options":{},"isModule":true,"requiredModules":["promise/lib/core.js","promise/lib/done.js","promise/lib/finally.js","promise/lib/es6-extensions.js","promise/lib/node-extensions.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/node_modules/asap/asap.js","id":"asap/asap.js","options":{},"isModule":true,"requiredModules":["asap/raw.js"],"mtime":1425179383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/lib/node-extensions.js","id":"promise/lib/node-extensions.js","options":{},"isModule":true,"requiredModules":["promise/lib/core.js","asap/asap.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/node_modules/asap/browser-asap.js","id":"asap/browser-asap.js","options":{},"isModule":true,"requiredModules":["asap/raw.js"],"mtime":1430003107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/node_modules/asap/browser-raw.js","id":"asap/browser-raw.js","options":{},"isModule":true,"mtime":1430002970000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/node_modules/asap/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/node_modules/asap/package.json","data":{"name":"asap","version":"2.0.3","description":"High-priority task queue for Node.js and browsers","keywords":["event","task","queue"],"license":{"type":"MIT","url":"https://github.com/kriskowal/asap/raw/master/LICENSE.md"},"repository":{"type":"git","url":"git+https://github.com/kriskowal/asap.git"},"main":"./asap.js","browser":{"./asap.js":"./browser-asap.js","./raw.js":"./browser-raw.js","./test/domain.js":"./test/browser-domain.js"},"files":["raw.js","asap.js","browser-raw.js","browser-asap.js"],"scripts":{"test":"npm run lint && npm run test-node","test-travis":"npm run lint && npm run test-node && npm run test-saucelabs && npm run test-saucelabs-worker","test-node":"node test/asap-test.js","test-publish":"node scripts/publish-bundle.js test/asap-test.js | pbcopy","test-browser":"node scripts/publish-bundle.js test/asap-test.js | xargs opener","test-saucelabs":"node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-spot-configurations.json","test-saucelabs-all":"node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-all-configurations.json","test-saucelabs-worker":"node scripts/saucelabs-worker-test.js scripts/saucelabs-spot-configurations.json","test-saucelabs-worker-all":"node scripts/saucelabs-worker-test.js scripts/saucelabs-all-configurations.json","lint":"jshint raw.js asap.js browser-raw.js browser-asap.js $(find scripts -name '*.js' | grep -v gauntlet)"},"devDependencies":{"events":"^1.0.1","jshint":"^2.5.1","knox":"^0.8.10","mr":"^2.0.5","opener":"^1.3.0","q":"^2.0.3","q-io":"^2.0.3","saucelabs":"^0.1.1","wd":"^0.2.21","weak-map":"^1.0.5"},"gitHead":"ccbf94d4e4a0c3afc2df13331044020a46a74ab6","bugs":{"url":"https://github.com/kriskowal/asap/issues"},"homepage":"https://github.com/kriskowal/asap#readme","_id":"asap@2.0.3","_shasum":"1fc1d1564ee11620dfca6d67029850913f9f4679","_from":"asap@>=2.0.3 <2.1.0","_npmVersion":"2.8.3","_nodeVersion":"1.8.1","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"kriskowal","email":"kris.kowal@cixar.com"},{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"}],"dist":{"shasum":"1fc1d1564ee11620dfca6d67029850913f9f4679","tarball":"http://registry.npmjs.org/asap/-/asap-2.0.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/asap/-/asap-2.0.3.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/node_modules/asap/raw.js","id":"asap/raw.js","options":{},"isModule":true,"requiredModules":["domain"],"mtime":1430004580000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/package.json","data":{"name":"promise","version":"7.0.4","description":"Bare bones Promises/A+ implementation","main":"index.js","scripts":{"prepublish":"node build","pretest":"node build","pretest-resolve":"node build","pretest-extensions":"node build","pretest-memory-leak":"node build","test":"mocha --bail --timeout 200 --slow 99999 -R dot && npm run test-memory-leak","test-resolve":"mocha test/resolver-tests.js --timeout 200 --slow 999999","test-extensions":"mocha test/extensions-tests.js --timeout 200 --slow 999999","test-memory-leak":"node --expose-gc test/memory-leak.js","coverage":"istanbul cover node_modules/mocha/bin/_mocha -- --bail --timeout 200 --slow 99999 -R dot"},"repository":{"type":"git","url":"git+https://github.com/then/promise.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","devDependencies":{"acorn":"^1.0.1","better-assert":"*","istanbul":"^0.3.13","mocha":"*","promises-aplus-tests":"*","rimraf":"^2.3.2"},"dependencies":{"asap":"~2.0.3"},"gitHead":"8a42572e23669b685b659d1fa56532c7b05fb8d7","bugs":{"url":"https://github.com/then/promise/issues"},"homepage":"https://github.com/then/promise#readme","_id":"promise@7.0.4","_shasum":"363e84a4c36c8356b890fed62c91ce85d02ed539","_from":"promise@*","_npmVersion":"3.2.1","_nodeVersion":"2.3.1","_npmUser":{"name":"nathan7","email":"nathan@nathan7.eu"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"nathan7","email":"nathan@nathan7.eu"}],"dist":{"shasum":"363e84a4c36c8356b890fed62c91ce85d02ed539","tarball":"http://registry.npmjs.org/promise/-/promise-7.0.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/promise/-/promise-7.0.4.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/polyfill-done.js","id":"promise/polyfill-done.js","options":{},"isModule":true,"mtime":1438199258000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/polyfill.js","id":"promise/polyfill.js","options":{},"isModule":true,"requiredModules":["asap/asap.js","promise/lib/core.js","promise/lib/es6-extensions.js","promise/polyfill-done.js"],"mtime":1438199258000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/setimmediate/core.js","id":"promise/setimmediate/core.js","options":{},"isModule":true,"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/setimmediate/done.js","id":"promise/setimmediate/done.js","options":{},"isModule":true,"requiredModules":["promise/setimmediate/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/setimmediate/es6-extensions.js","id":"promise/setimmediate/es6-extensions.js","options":{},"isModule":true,"requiredModules":["promise/setimmediate/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/setimmediate/finally.js","id":"promise/setimmediate/finally.js","options":{},"isModule":true,"requiredModules":["promise/setimmediate/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/setimmediate/index.js","id":"promise/setimmediate/index.js","options":{},"isModule":true,"requiredModules":["promise/setimmediate/core.js","promise/setimmediate/done.js","promise/setimmediate/finally.js","promise/setimmediate/es6-extensions.js","promise/setimmediate/node-extensions.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/setimmediate/node-extensions.js","id":"promise/setimmediate/node-extensions.js","options":{},"isModule":true,"requiredModules":["promise/setimmediate/core.js"],"mtime":1438678256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/src/core.js","id":"promise/src/core.js","options":{},"isModule":true,"requiredModules":["asap/raw.js"],"mtime":1438199259000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/src/done.js","id":"promise/src/done.js","options":{},"isModule":true,"requiredModules":["promise/src/core.js"],"mtime":1438199259000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/src/es6-extensions.js","id":"promise/src/es6-extensions.js","options":{},"isModule":true,"requiredModules":["promise/src/core.js"],"mtime":1438489963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/src/finally.js","id":"promise/src/finally.js","options":{},"isModule":true,"requiredModules":["promise/src/core.js"],"mtime":1438199259000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/src/index.js","id":"promise/src/index.js","options":{},"isModule":true,"requiredModules":["promise/src/core.js","promise/src/done.js","promise/src/finally.js","promise/src/es6-extensions.js","promise/src/node-extensions.js"],"mtime":1438199259000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/node_modules/promise/src/node-extensions.js","id":"promise/src/node-extensions.js","options":{},"isModule":true,"requiredModules":["promise/src/core.js","asap/asap.js"],"mtime":1438199259000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/allong.es/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/allong.es/package.json","data":{"author":{"name":"Reg Braithwaite","email":"raganwald@gmail.com","url":"http://braythwayt.com"},"name":"allong.es","description":"Combinators and Function Decorators","version":"0.14.0","homepage":"http://allong.es","repository":{"type":"git","url":"git://github.com/raganwald/allong.es.git"},"main":"lib/allong.es.js","scripts":{"test":"jasmine-node --coffee --verbose spec"},"engines":{"node":""},"dependencies":{"promise":""},"devDependencies":{"jasmine-node":"","coffee-script":"","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0"},"readme":"# `allong.es`\n\nThe `allong.es` library is a collection of functions designed to facilitate writing JavaScript and/or CoffeeScript with functions as first-class values. The emphasis in `allong.es` is on composing and decomposing functions using combinators and decorators. `allong.es` is designed to complement libraries like [Underscore](http://underscorejs.org), not compete with them.\n\n## Currying and Partial Application\n\nAt the heart of `allong.es` are the functions that curry and partially apply other functions. The two most important to understand are `call` and `apply`. They work very much like the `.call` and `.apply` methods that every JavaScript function implements:\n\n```javascript\nfunction greet (how, whom) {\n  return '' + how + ', ' + whom + '!';\n};\n  \ncall(greet, 'Hello', 'Tom')\n  //=> 'Hello, Tom!'\n  \napply(greet, ['Hello', 'Tom'])\n  //=> 'Hello, Tom!'\n```\n\nTheir \"special sauce\" is that they automatically *curry* the supplied function, so if you provide fewer or no arguments, you get back a partially applied or curried function:\n\n```javascript\ncall(greet)('Hello')('Tom')\n  //=> 'Hello, Tom!'\n  \ncall(greet, 'Hello')('Tom'])\n  //=> 'Hello, Tom!'\n  \napply(greet, [])('Hello')('Tom')\n  //=> 'Hello, Tom!'\n  \napply(greet, ['Hello'])('Tom'])\n  //=> 'Hello, Tom!'\n```\n\n### immediate application\n\nIf you don't want the currying/partial application behaviour, there is an immediate application version named (appropriately), `callNow` (and also another named `applyNow`, not shown):\n\n```javascript\ncallNow(greet, 'Hello', 'Tom')\n  //=> 'Hello, Tom!'\n  \ncallNow(greet, 'Hello')\n  //=> 'Hello, undefined!'\n```\n\n### variations on the order of applying the arguments\n\n`callRight` applies any arguments supplied to the right. If you supply all the arguments, it's the same as `call`, but if you supply fewer arguments, you get a right partial application:\n\n```javascript\ncallRight(greet, 'Hello', 'Tom')\n  //=> 'Hello, Tom!'\n  \ncallRight(greet, 'Hello')('Tom')\n  //=> 'Tom, Hello!'\n```\n\n`callFlipped` applies the arguments backwards, even when curried:\n\n```javascript\ncallFlipped(greet, 'Hello', 'Tom')\n  //=> 'Tom, Hello!'\n  \ncallFlipped(greet, 'Hello')('Tom')\n  //=> 'Tom, Hello!'\n  \ncallFlipped(greet)('Hello')('Tom')\n  //=> 'Tom, Hello!'\n```\n\n### more partial application\n\n`callLeft` is actually synonymous with `call`: It applies arguments given to the left. We've seen `callRight` above. Both are *variadic*: You can supply as many arguments as you want.\n\n`callFirst` and `callLast` are just like `callLeft` and `callRight`, but they are *binary* functions: They accept a function and exactly one argument. This is sometimes useful when combining functions together.\n\n`callFirst` and `callLast` both have \"flipped and curried\" versions (`callFirstWith` and `callLastWith`). `callLastWith` is especially useful for working with functions written in \"collection - operation\" style. Here we take advantage of the fact that they are \"automatically curried\" to implement the popular `pluck` function.\n\n### currying\n\n`allong.es` does support the `curry` function, it is implemented as the unary form of `call`:\n\n```javascript\nvar curry = unary(call);\n```\n\n### with\n\n`splat` was present in earlier versions of `allong.es` but has been deprecated as being too cryptic. Instead, there is a general naming convention that works as follows. Many binary functions such as `map` and `filter` are historically written to take a noun or collection as the first argument and a verb as the second.\n\nHowever, reversing and currying these functions is super-useful as it makes composeable functions out of them. That's why `callFlipped` is so important. But to save you the trouble of writing `callFlipped map` everywhere, many such functions in `allong.es` have a clipped version pre-defined and named with the suffix `With`:\n\n```\nmap(list, function)       <=> mapWith(function, list)\nfilter(list, function)    <=> filterWith(function, list)\nget(object, propertyName) <=> getWith(propertyName, object)\npluck(list, propertyName) <=> pluckWith(propertyName, list)\n```\n\nSo you \"map\" a list, but \"mapWith\" a function. And of course, they are all curried. For example:\n\n```\nmap(list)(function)       <=> mapWith(function)(list)\ndeepMap(list)(function)   <=> deepMapWith(function)(list)\nfilter(list)(function)    <=> filterWith(function)(list)\nget(object)(propertyName) <=> getWith(propertyName)(object)\npluck(list)(propertyName) <=> pluckWith(propertyName)(list)\n```\n\nThus if you have a collection such as:\n\n```javascript\nvar users = [\n  { name: 'Huey' },\n  { name: 'Dewey' },\n  { name: 'Louie' }\n]\n```\n\nYou can get the names with either:\n\n```javascript\npluck(users, 'name')\n  //=> ['Huey', 'Dewey', 'Louie']\n```\n\nOr:\n\n```javascript\npluckWith('name', users)\n  //=> ['Huey', 'Dewey', 'Louie']\n```\n\nThe latter is interesting because `pluck` and `pluckWith` are both automatically curried (like almost everything that isn't named \"now\"). Thus, we could also write:\n\n```javascript\nvar namesOf = pluckWith('name');\n\n// ...\nnamesOf(users)\n  //=> ['Huey', 'Dewey', 'Louie']\n```\n\n## Arity Function Decorators\n\n### variadic\n\nMakes a function into a variadic (accepts any number of arguments). The last named parameter will be given an array of arguments.\n\n```javascript\nvar variadic = require('allong.es').allong.es.variadic;\n\nvar fn = variadic(function (a) { return a })\n\nfn()\n  //=> []\nfn(1, 2, 3)\n  //=> [1,2,3]\n\nfn = variadic(function (a,b) { return { a: a, b: b } })\n\nfn()\n  //=> { a: undefined, b: [] }\nfn(1)\n  //=> { a: 1, b: [] }\nfn(1,2,3)\n  //=> { a: 1, b: [2, 3] }\n```\n\n### variadic, part ii\n\nWhen given just the function, `variadic` returns a function with an arity of zero. This is consistent with JavaScript programming practice. There are times when you wish to report an arity, meaning that you want the returned function to have its `length` getibute set.\n\nYou do this by prefacing the function argument with a length:\n\n```javascript\nfn = variadic(function (a,b) { return { a: a, b: b } });\n\nfn.length\n  //=> 0\n  \nfn2 = variadic(1, function (a,b) { return { a: a, b: b } }); \n\nfn2.length\n  //=> 1\n```\n\n### unary, binary, and ternary\n\nSometimes, you have a function that takes multiple arguments, but you only want it to accept one, or two, or maybe three arguments and ignore the rest. For example, `parseInt` takes a radix as an optional second parameter. And that is havoc if you try to use it with `Array.map`:\n\n```javascript\n['1', '2', '3', '4', '5'].map(parseInt)\n  //=> [ 1,\n  //     NaN,\n  //     NaN,\n  //     NaN,\n  //     NaN ]\n```\n\nUse `unary(parseInt)` to solve the problem:\n\n```javascript\n['1', '2', '3', '4', '5'].map(unary(parseInt))\n  //=> [ 1, 2, 3, 4, 5 ]\n```\n\n`binary` has similar uses when working with `Array.reduce` and its habit of passing three parameters to your supplied function.\n\n## Miscellaneous Combinators\n\n### bound\n\n```javascript\nvar bound = require('allong.es').allong.es.bound;\n    \nbound(fn, args...)(obj)\n  //=> fn.bind(obj, args...)\n```\n\n### getWith\n\n```javascript\nvar getWith = require('allong.es').allong.es.getWith;\n    \narray.map(getWith('property'))\n  //=> array.map(function (element) {\n  //               return element['property']\n  //             })\n```\n\n## Functional Composition\n\n```javascript\nvar compose = require('allong.es').allong.es.compose,\n    sequence = require('allong.es').allong.es.sequence;\n    \ncompose(a, b, c)\n  //=> function (x) {\n  //     return a(b(c(x)))\n  //   }\n \nsequence(a, b, c)\n  //=> function (x) {\n  //     return c(b(a(x)))\n  //   }\n```\n\n## List Combinators\n\n### mapWith and deepMapWith\n\n```javascript\nvar mapWith = require('allong.es').allong.es.mapWith,\n    deepMapWith = require('allong.es').allong.es.deepMapWith;\n    \nvar squareList = mapWith(function (x) { return x * x })\n\nsquareList([1, 2, 3, 4])\n  //=> [1, 4, 9, 16]\n  \nvar squareTree = deepMapWith(function (x) { return x * x })\n\nsquareTree([1, 2, [3, 4]])\n  //=> [1, 4, [9, 16]]\n```\n\n## Function/Method Decorators\n\n### maybe\n\n```javascript\nvar maybe = require('allong.es').allong.es.maybe;\n    \nvar safeFirst = maybe(function (arr) { return arr[0] })\n\nsafeFirst([1, 2, 3])\n  //=> 1\nsafeFirst(null)\n  //=> null\n```\n\n### tap\n\n```javascript\nvar tap = require('allong.es').allong.es.tap;\n    \ntap([1, 2, 3, 4, 5], send('pop'))\n  //=> [1, 2, 3, 4]\n```\n\n### fluent\n\n```javascript\nvar fluent = require('allong.es').allong.es.fluent;\n    \nRole = function () {}\n\nRole.prototype.set = fluent( function (property, name) { \n  this[property] = name \n})\n\nvar doomed = new Role()\n  .set('name', \"Fredo\")\n  .set('relationship', 'brother')\n  .set('parts', ['I', 'II'])\n```\n\n### once\n\n```javascript\nvar once = require('allong.es').allong.es.once;\n    \nvar message = once( function () { console.log(\"Hello, it's me\") })\n\nmessage()\n  //=> \"Hello, it's me\"\nmessage()\n  //=>\nmessage()\n  //=>\nmessage()\n  //=>\n```\n\n## Decorating Classes/Constructors\n\n```javascript\nvar mixin = require('allong.es').allong.es.mixin,\n    classDecorator = require('allong.es').allong.es.classDecorator;\n    \nfunction Todo (name) {\n  var self = this instanceof Todo\n             ? this\n             : new Todo();\n  self.name = name || 'Untitled';\n  self.done = false;\n};\n\nTodo.prototype.do = fluent( function () {\n  this.done = true;\n});\n\nTodo.prototype.undo = fluent( function () {\n  this.done = false;\n});\n\nvar AddLocation = mixin({\n      setLocation: fluent( function (location) {\n        this.location = location;\n      }),\n      getLocation: function () { return this.location; }\n    });\n\nAddLocation.call(Todo.prototype);\n// Or use AddLocation(Todo.prototype)\n\nnew Todo(\"Vacuum\").setLocation('Home');\n  //=> { name: 'Vacuum',\n  //     done: false,\n  //     location: 'Home' }\n\nvar AndColourCoded = classDecorator({\n  setColourRGB: fluent( function (r, g, b) {\n    this.colourCode = { r: r, g: g, b: b };\n  }),\n  getColourRGB: function () {\n    return this.colourCode;\n  }\n});\n\nvar ColourTodo = AndColourCoded(Todo);\n\nnew ColourTodo('Use More Decorators').setColourRGB(0, 255, 0);\n  //=> { name: 'Use More Decorators',\n  //     done: false,\n  //     colourCode: { r: 0, g: 255, b: 0 } }\n```\n\nNote: `classDecorator` works with JavaScript constructors that have a default implementation (they work properly with no arguments), and are new-agnostic (they can be called with new or as a normal function). `Todo` above has both properties.\n\n## Functional Iterators\n\nFunctional iterators are stateful functions that \"iterate over\" the values in some ordered data set. You call the iterator repeatedly to obtain the values, and it will either never stop returning values (an infinite data set) or return `undefined` when there are no more values to return.\n\nThe functional iterators utilities are all namespaced:\n\n```javascript\nvar iterators = require('allong.es').allong.es.iterators;\n```\n\n### FlatArrayIterator and RecursiveArrayIterator\n\nMaking functional iterators from arrays:\n\n```javascript\nvar FlatArrayIterator = iterators.FlatArrayIterator,\n    RecursiveArrayIterator = iterators.RecursiveArrayIterator;\n    \nvar i = FlatArrayIterator([1, 2, 3, 4, 5]);\n\ni();\n  //=> 1\ni();\n  //=> 2\ni();\n  //=> 3\ni();\n  //=> 4\ni();\n  //=> 5\ni();\n  //=> undefined\n    \nvar i = FlatArrayIterator([1, [2, 3, 4], 5]);\n\ni();\n  //=> 1\ni();\n  //=> [2, 3, 4]\ni();\n  //=> 5\ni();\n  //=> undefined\n    \nvar i = RecursiveArrayIterator([1, [2, 3, 4], 5]);\n\ni();\n  //=> 1\ni();\n  //=> 2\ni();\n  //=> 3\ni();\n  //=> 4\ni();\n  //=> 5\ni();\n  //=> undefined\n```\n\n### range and numbers\n\n```javascript\nvar range = iterators.range,\n    numbers = iterators.numbers;\n\nvar i = range(1, 5);\n\ni();\n  //=> 1\ni();\n  //=> 2\ni();\n  //=> 3\ni();\n  //=> 4\ni();\n  //=> 5\ni();\n  //=> undefined\n\nvar i = range(1, 5, 2);\n\ni();\n  //=> 1\ni();\n  //=> 3\ni();\n  //=> 5\ni();\n  //=> undefined\n\nvar i = range(5, 1);\n\ni();\n  //=> 5\ni();\n  //=> 4\ni();\n  //=> 3\ni();\n  //=> 2\ni();\n  //=> 1\ni();\n  //=> undefined\n\nvar i = range(1);\n\ni();\n  //=> 1\ni();\n  //=> 2\ni();\n  //=> 3\n// ...\n\nvar i = numbers();\n\ni();\n  //=> 1\ni();\n  //=> 2\ni();\n  //=> 3\n// ...\n\nvar i = numbers(0);\n\ni();\n  //=> 0\ni();\n  //=> 1\ni();\n  //=> 2\ni();\n  //=> 3\n// ...\n```\n\n### unfold and unfoldWithReturn\n\nUnfold makes an iterator out of a seed by successively applying a function to the seed value. Here's an example duplicating the \"numbers\" feature:\n\n```javascript\nvar unfold = iterators.unfold,\n    unfoldWithReturn = iterators.unfoldWithReturn;\n    \nvar i = unfold(1, function (n) { return n + 1; });\n\ni();\n  //=> 1\ni();\n  //=> 2\ni();\n  //=> 3\n// ...\n    \nvar i = unfoldWithReturn(1, function (n) { \n  return [n + 1, n + n]; \n});\n\ni();\n  //=> 2\ni();\n  //=> 4\ni();\n  //=> 6\n// ...\n```\n\nA richer example of `unfoldWithReturn`:\n\n```javaascript\nvar cards = ['A', 2, 3, 4, 5, 6, 7, 8, 9, '10', 'J', 'Q', 'K'];\n\nfunction pickCard (deck) {\n  var position;\n  \n  if (deck.length === 0) {\n    return [[], void 0];\n  }\n  else {\n    position = Math.floor(Math.random() * deck.length);\n    return [\n      deck.slice(0, position).concat(deck.slice(position + 1)),\n      deck[position]\n    ];\n  }\n};\n\nvar i = unfoldWithReturn(cards, pickCard);\n\ni();\n  //=> 5\ni();\n  //=> 4\ni();\n  //=> 2\ni();\n  //=> J\n  \n// ...\n```\n\n### map\n\nStateless mapping of an iterator to another iterator:\n\n```javascript\nvar map = iterators.map;\n    \nvar squares = map(numbers, function (n) { return n * n; });\n\nsquares();\n  //=> 1\nsquares();\n  //=> 4\nsquares();\n  //=> 9\n// ...\n```\n\n### accumulate\n\nAccumulating an iterator to another iterator, a/k/a stateful mapping, with an optional seed:\n\n```javascript\nvar accumulate = iterators.accumulate;\n    \nvar runningTotal = accumulate(numbers, function (accumulation, n) { \n      return accumulation + n; \n    });\n\nrunningTotal();\n  //=> 1\nrunningTotal();\n  //=> 3\nrunningTotal();\n  //=> 6\nrunningTotal();\n  //=> 10\nrunningTotal();\n  //=> 15\n// ...\n\nvar runningTotal = accumulate(numbers, function (accumulation, n) { \n      return accumulation + n; \n    }, 5);\n\nrunningTotal();\n  //=> 6\nrunningTotal();\n  //=> 8\nrunningTotal();\n  //=> 11\nrunningTotal();\n  //=> 15\nrunningTotal();\n  //=> 20\n// ...\n```\n\n### accumulateWithReturn\n\nThis code transforms filters duplicates out of an iterator of numbers by turning them into \"false.\" It consumes space proportional to the time it runs and the size of the set of possible numbers in its iterator.\n\n```javascript\nvar accumulateWithReturn = iterators.accumulateWithReturn;\n    \nvar randomNumbers = function () {\n  return Math.floor(Math.random() * 10);\n};\n\nrandomNumbers();\n  //=> 7\nrandomNumbers();\n  //=> 0\nrandomNumbers();\n  //=> 1\nrandomNumbers();\n  //=> 1\nrandomNumbers();\n  //=> 6\n// ...\n\nvar uniques = accumulateWithReturn(randomNumbers, function (alreadySeen, number) {\n  var key = number.toString();\n  \n  if (alreadySeen[key]) {\n    return [alreadySeen, false];\n  }\n  else {\n    alreadySeen[key] = true;\n    return [alreadySeen, number];\n  }\n}, {});\n\nuniques();\n  //=> 7\nuniques();\n  //=> 5\nuniques();\n  //=> 1\nuniques();\n  //=> false\nuniques();\n  //=> 9\nuniques();\n  //=> 4\nuniques();\n  //=> false\n// ...\n```\n\n### select and reject\n\n```javascript\nvar select = iterators.select,\n    reject = iterators.reject;\n\nfunction isEven (number) {\n  return number === 0 || !isEven(number - 1);\n};\n\nvar evens = select(randomNumbers, isEven);\n\nevens();\n  //=> 0\nevens();\n  //=> 6\nevens();\n  //=> 0\nevens();\n  //=> 2\nevens();\n  //=> 4\n// ...\n\nvar odds = reject(randomNumbers, isEven);\n\nodds();\n  //=> 3\nodds();\n  //=> 1\nodds();\n  //=> 7\nodds();\n  //=> 9\nodds();\n  //=> 9\n// ...\n```\n\nNote: `select` and `reject` will enter an \"infinite loop\" if the iterator does not terminate and also does not have any elements matching the condition.\n\n### slice\n\n```javascript\nvar slice = iterators.slice,\n    numbers = unfold(1, function (n) { return n + 1; });\n\nvar i = slice(numbers, 3);\n\ni();\n  //=> 4\ni();\n  //=> 5\ni();\n  //=> 6\n\ni = slice(numbers, 3, 2);\n\ni();\n  //=> 10\ni();\n  //=> 11\ni();\n  //=> undefined\n```\n\n### take\n\n```javascript\nvar take = iterators.take,\n    numbers = unfold(1, function (n) { return n + 1; });\n\nvar i = take(numbers);\n\ni();\n  //=> 1\ni();\n  //=> undefined\n\nvar i = take(numbers);\n\ni();\n  //=> 2\ni();\n  //=> undefined\n\nvar i = take(numbers, 3);\n\ni();\n  //=> 3\ni();\n  //=> 4\ni();\n  //=> 5\ni();\n  //=> undefined\n// ...\n```\n\n### drop\n\n```javascript\nvar drop = iterators.drop,\n    numbers = unfold(1, function (n) { return n + 1; });\n\ndrop(numbers);\n\nnumbers();\n  //=> 2\nnumbers();\n  //=> 3\nnumbers();\n  //=> 4\n\ndrop(numbers);\n\nnumbers();\n  //=> 6\nnumbers();\n  //=> 7\n\ndrop(numbers, 3);\n\nnumbers();\n  //=> 11\nnumbers();\n  //=> 12\n// ...\n```\n\n## Trampolining\n\n```\nvar trampoline = require('allong.es').allong.es.trampoline,\n    tailCall = require('allong.es').allong.es.tailCall;\n    \nfunction factorial (n) {\n  var _factorial = trampoline( function myself (acc, n) {\n    return n > 0\n      ? tailCall(myself, acc * n, n - 1)\n      : acc\n  });\n  \n  return _factorial(1, n);\n};\n\nfactorial(10);\n  //=> 3628800\n```\n","readmeFilename":"README.md","_id":"allong.es@0.14.0","dist":{"shasum":"6cb5116c81078325d6d268e3752adac431719b31","tarball":"http://registry.npmjs.org/allong.es/-/allong.es-0.14.0.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"raganwald","email":"reg@braythwayt.com"},"maintainers":[{"name":"raganwald","email":"reg@braythwayt.com"}],"directories":{},"_shasum":"6cb5116c81078325d6d268e3752adac431719b31","_resolved":"https://registry.npmjs.org/allong.es/-/allong.es-0.14.0.tgz","_from":"allong.es@0.14.0","bugs":{"url":"https://github.com/raganwald/allong.es/issues"}},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/index.js","id":"archiver/index.js","options":{},"isModule":true,"requiredModules":["archiver/lib/core.js","archiver/lib/plugins/zip.js","archiver/lib/plugins/tar.js","archiver/lib/plugins/json.js"],"mtime":1432995196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/lib/core.js","id":"archiver/lib/core.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","fs","archiver/lib/util/index.js","util/util.js","readable-stream/readable.js"],"mtime":1441855288000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/lib/plugins/json.js","id":"archiver/lib/plugins/json.js","options":{},"isModule":true,"requiredModules":["util/util.js","readable-stream/readable.js","buffer-crc32/index.js","archiver/lib/util/index.js"],"mtime":1423963417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/lib/plugins/tar.js","id":"archiver/lib/plugins/tar.js","options":{},"isModule":true,"requiredModules":["zlib","tar-stream/index.js","archiver/lib/util/index.js"],"mtime":1423963420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/lib/plugins/zip.js","id":"archiver/lib/plugins/zip.js","options":{},"isModule":true,"requiredModules":["zip-stream/lib/zip-stream.js","archiver/lib/util/index.js"],"mtime":1423963425000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/lib/util/file.js","id":"archiver/lib/util/file.js","options":{},"isModule":true,"requiredModules":["fs","path","lodash/index.js","glob/glob.js"],"mtime":1423963434000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/lib/util/index.js","id":"archiver/lib/util/index.js","options":{},"isModule":true,"requiredModules":["fs","path","stream","readable-stream/readable.js","lodash/index.js","lazystream/lib/lazystream.js","archiver/lib/util/file.js"],"mtime":1423963439000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1439143470000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"lib/async.js","files":["lib"],"author":{"name":"Caolan McMahon"},"version":"1.4.2","keywords":["async","callback","utility","module"],"repository":{"type":"git","url":"git+https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"license":"MIT","devDependencies":{"benchmark":"github:bestiejs/benchmark.js","bluebird":"^2.9.32","chai":"^3.1.0","coveralls":"^2.11.2","es6-promise":"^2.3.0","jscs":"^1.13.1","jshint":"~2.8.0","karma":"^0.13.2","karma-browserify":"^4.2.1","karma-firefox-launcher":"^0.1.6","karma-mocha":"^0.2.0","karma-mocha-reporter":"^1.0.2","lodash":"^3.9.0","mkdirp":"~0.5.1","mocha":"^2.2.5","native-promise-only":"^0.8.0-a","nodeunit":">0.0.0","nyc":"^2.1.0","rsvp":"^3.0.18","uglify-js":"~2.4.0","xyz":"^0.5.0","yargs":"~3.9.1"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"],"categories":["Utilities"]},"scripts":{"mocha-node-test":"mocha mocha_test/","mocha-browser-test":"karma start","mocha-test":"npm run mocha-node-test && npm run mocha-browser-test","nodeunit-test":"nodeunit test/test-async.js","test":"npm run-script lint && npm run nodeunit-test && npm run mocha-test","lint":"jshint lib/*.js test/*.js perf/*.js && jscs lib/*.js test/*.js perf/*.js","coverage":"nyc npm test && nyc report","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"spm":{"main":"lib/async.js"},"volo":{"main":"lib/async.js","ignore":["**/.*","node_modules","bower_components","test","tests"]},"gitHead":"92f78aebad222d60c13e4299c0e723f2fe2d6611","homepage":"https://github.com/caolan/async#readme","_id":"async@1.4.2","_shasum":"6c9edcb11ced4f0dd2f2d40db0d49a109c088aab","_from":"async@>=1.4.2 <1.5.0","_npmVersion":"2.9.0","_nodeVersion":"2.0.1","_npmUser":{"name":"megawac","email":"megawac@gmail.com"},"dist":{"shasum":"6c9edcb11ced4f0dd2f2d40db0d49a109c088aab","tarball":"http://registry.npmjs.org/async/-/async-1.4.2.tgz"},"maintainers":[{"name":"caolan","email":"caolan.mcmahon@gmail.com"},{"name":"beaugunderson","email":"beau@beaugunderson.com"},{"name":"aearly","email":"alexander.early@gmail.com"},{"name":"megawac","email":"megawac@gmail.com"}],"directories":{},"_resolved":"https://registry.npmjs.org/async/-/async-1.4.2.tgz","readme":"ERROR: No README data found!"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/buffer-crc32/index.js","id":"buffer-crc32/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1417979387000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/buffer-crc32/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/buffer-crc32/package.json","data":{"author":{"name":"Brian J. Brennan","email":"brianloveswords@gmail.com","url":"http://bjb.io"},"name":"buffer-crc32","description":"A pure javascript CRC32 algorithm that plays nice with binary data","version":"0.2.5","licenses":[{"type":"MIT","url":"https://github.com/brianloveswords/buffer-crc32/raw/master/LICENSE"}],"contributors":[{"name":"Vladimir Kuznetsov"}],"homepage":"https://github.com/brianloveswords/buffer-crc32","repository":{"type":"git","url":"git://github.com/brianloveswords/buffer-crc32.git"},"main":"index.js","scripts":{"test":"tap tests/*.test.js"},"dependencies":{},"devDependencies":{"tap":"~0.2.5"},"optionalDependencies":{},"engines":{"node":"*"},"license":"MIT","gitHead":"beb976670f2ea6414e4cce4764d0213e5f9d7cbc","bugs":{"url":"https://github.com/brianloveswords/buffer-crc32/issues"},"_id":"buffer-crc32@0.2.5","_shasum":"db003ac2671e62ebd6ece78ea2c2e1b405736e91","_from":"buffer-crc32@>=0.2.1 <0.3.0","_npmVersion":"2.1.11","_nodeVersion":"0.10.33","_npmUser":{"name":"brianloveswords","email":"brianloveswords@gmail.com"},"maintainers":[{"name":"brianloveswords","email":"brian@nyhacker.org"}],"dist":{"shasum":"db003ac2671e62ebd6ece78ea2c2e1b405736e91","tarball":"http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz","readme":"ERROR: No README data found!"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/buffer-crc32/tests/crc.test.js","id":"buffer-crc32/tests/crc.test.js","options":{},"isModule":true,"requiredModules":["buffer-crc32/index.js","tap"],"mtime":1417979387000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/common.js","id":"glob/common.js","options":{},"isModule":true,"requiredModules":["path","minimatch/minimatch.js","path-is-absolute/index.js"],"mtime":1439497932000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/glob.js","id":"glob/glob.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","inherits/inherits.js","events","path","assert","path-is-absolute/index.js","glob/sync.js","glob/common.js","inflight/inflight.js","util/util.js","once/once.js"],"mtime":1442360722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inflight/inflight.js","id":"inflight/inflight.js","options":{},"isModule":true,"requiredModules":["wrappy/wrappy.js","once/once.js"],"mtime":1412318830000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json","data":{"name":"wrappy","version":"1.0.1","description":"Callback wrapping utility","main":"wrappy.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^0.4.12"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/npm/wrappy.git"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/wrappy/issues"},"homepage":"https://github.com/npm/wrappy","gitHead":"006a8cbac6b99988315834c207896eed71fd069a","_id":"wrappy@1.0.1","_shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","_from":"wrappy@>=1.0.0 <2.0.0","_npmVersion":"2.0.0","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","tarball":"http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"},"_resolved":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js","id":"wrappy/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","wrappy/wrappy.js"],"mtime":1411082093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js","id":"wrappy/wrappy.js","options":{},"isModule":true,"mtime":1411082022000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inflight/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inflight/package.json","data":{"name":"inflight","version":"1.0.4","description":"Add callbacks to requests in flight to avoid async duplication","main":"inflight.js","dependencies":{"once":"^1.3.0","wrappy":"1"},"devDependencies":{"tap":"^0.4.10"},"scripts":{"test":"tap test.js"},"repository":{"type":"git","url":"git://github.com/isaacs/inflight.git"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/isaacs/inflight/issues"},"homepage":"https://github.com/isaacs/inflight","license":"ISC","gitHead":"c7b5531d572a867064d4a1da9e013e8910b7d1ba","_id":"inflight@1.0.4","_shasum":"6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a","_from":"inflight@>=1.0.4 <2.0.0","_npmVersion":"2.1.3","_nodeVersion":"0.10.32","_npmUser":{"name":"othiym23","email":"ogd@aoaioxxysz.net"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"othiym23","email":"ogd@aoaioxxysz.net"},{"name":"iarna","email":"me@re-becca.org"}],"dist":{"shasum":"6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a","tarball":"http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inflight/test.js","id":"inflight/test.js","options":{},"isModule":true,"requiredModules":["tap","inflight/inflight.js"],"mtime":1412318795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.0 <3.0.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["path","brace-expansion/index.js"],"mtime":1437616284000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js","id":"brace-expansion/example.js","options":{},"isModule":true,"requiredModules":["brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js","id":"brace-expansion/index.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js","balanced-match/index.js"],"mtime":1417452674000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js","id":"balanced-match/example.js","options":{},"isModule":true,"requiredModules":["balanced-match/index.js"],"mtime":1398343162000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js","id":"balanced-match/index.js","options":{},"isModule":true,"mtime":1417340440000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json","data":{"name":"balanced-match","description":"Match balanced character pairs, like \"{\" and \"}\"","version":"0.2.0","repository":{"type":"git","url":"git://github.com/juliangruber/balanced-match.git"},"homepage":"https://github.com/juliangruber/balanced-match","main":"index.js","scripts":{"test":"make test"},"dependencies":{},"devDependencies":{"tape":"~1.1.1"},"keywords":["match","regexp","test","balanced","parse"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/20..latest","firefox/nightly","chrome/25..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"ba40ed78e7114a4a67c51da768a100184dead39c","bugs":{"url":"https://github.com/juliangruber/balanced-match/issues"},"_id":"balanced-match@0.2.0","_shasum":"38f6730c03aab6d5edbb52bd934885e756d71674","_from":"balanced-match@>=0.2.0 <0.3.0","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}],"dist":{"shasum":"38f6730c03aab6d5edbb52bd934885e756d71674","tarball":"http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js","id":"balanced-match/test/balanced.js","options":{},"isModule":true,"requiredModules":["tape","balanced-match/index.js"],"mtime":1417340440000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js","id":"concat-map/example/map.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js"],"mtime":1339124034000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js","id":"concat-map/index.js","options":{},"isModule":true,"mtime":1354939769000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json","data":{"name":"concat-map","description":"concatenative mapdashery","version":"0.0.1","repository":{"type":"git","url":"git://github.com/substack/node-concat-map.git"},"main":"index.js","keywords":["concat","concatMap","map","functional","higher-order"],"directories":{"example":"example","test":"test"},"scripts":{"test":"tape test/*.js"},"devDependencies":{"tape":"~2.4.0"},"license":"MIT","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"testling":{"files":"test/*.js","browsers":{"ie":[6,7,8,9],"ff":[3.5,10,15],"chrome":[10,22],"safari":[5.1],"opera":[12]}},"bugs":{"url":"https://github.com/substack/node-concat-map/issues"},"homepage":"https://github.com/substack/node-concat-map","_id":"concat-map@0.0.1","dist":{"shasum":"d8a96bd77fd68df7793a73036a3ba0d5405d477b","tarball":"http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"},"_from":"concat-map@0.0.1","_npmVersion":"1.3.21","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"_shasum":"d8a96bd77fd68df7793a73036a3ba0d5405d477b","_resolved":"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz","readme":"concat-map\n==========\n\nConcatenative mapdashery.\n\n[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map)\n\n[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map)\n\nexample\n=======\n\n``` js\nvar concatMap = require('concat-map');\nvar xs = [ 1, 2, 3, 4, 5, 6 ];\nvar ys = concatMap(xs, function (x) {\n    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];\n});\nconsole.dir(ys);\n```\n\n***\n\n```\n[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]\n```\n\nmethods\n=======\n\n``` js\nvar concatMap = require('concat-map')\n```\n\nconcatMap(xs, fn)\n-----------------\n\nReturn an array of concatenated elements by calling `fn(x, i)` for each element\n`x` and each index `i` in the array `xs`.\n\nWhen `fn(x, i)` returns an array, its result will be concatenated with the\nresult array. If `fn(x, i)` returns anything else, that value will be pushed\nonto the end of the result array.\n\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install concat-map\n```\n\nlicense\n=======\n\nMIT\n\nnotes\n=====\n\nThis module was written while sitting high above the ground in a tree.\n","readmeFilename":"README.markdown"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js","id":"concat-map/test/map.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js","tape"],"mtime":1354099176000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json","data":{"name":"brace-expansion","description":"Brace expansion as known from sh/bash","version":"1.1.1","repository":{"type":"git","url":"git://github.com/juliangruber/brace-expansion.git"},"homepage":"https://github.com/juliangruber/brace-expansion","main":"index.js","scripts":{"test":"tape test/*.js","gentest":"bash test/generate.sh"},"dependencies":{"balanced-match":"^0.2.0","concat-map":"0.0.1"},"devDependencies":{"tape":"^3.0.3"},"keywords":[],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/20..latest","firefox/nightly","chrome/25..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"f50da498166d76ea570cf3b30179f01f0f119612","bugs":{"url":"https://github.com/juliangruber/brace-expansion/issues"},"_id":"brace-expansion@1.1.1","_shasum":"da5fb78aef4c44c9e4acf525064fb3208ebab045","_from":"brace-expansion@>=1.0.0 <2.0.0","_npmVersion":"2.6.1","_nodeVersion":"0.10.36","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"isaacs","email":"isaacs@npmjs.com"}],"dist":{"shasum":"da5fb78aef4c44c9e4acf525064fb3208ebab045","tarball":"http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"3.0.0","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"posttest":"standard minimatch.js test/*.js","test":"tap test/*.js"},"engines":{"node":"*"},"dependencies":{"brace-expansion":"^1.0.0"},"devDependencies":{"standard":"^3.7.2","tap":"^1.2.0"},"license":"ISC","files":["minimatch.js"],"gitHead":"270dbea567f0af6918cb18103e98c612aa717a20","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch#readme","_id":"minimatch@3.0.0","_shasum":"5236157a51e4f004c177fb3c527ff7dd78f0ef83","_from":"minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0","_npmVersion":"3.3.2","_nodeVersion":"4.0.0","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"5236157a51e4f004c177fb3c527ff7dd78f0ef83","tarball":"http://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/once/node_modules/wrappy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/once/node_modules/wrappy/package.json","data":{"name":"wrappy","version":"1.0.1","description":"Callback wrapping utility","main":"wrappy.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^0.4.12"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/npm/wrappy.git"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/wrappy/issues"},"homepage":"https://github.com/npm/wrappy","gitHead":"006a8cbac6b99988315834c207896eed71fd069a","_id":"wrappy@1.0.1","_shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","_from":"wrappy@>=1.0.0 <2.0.0","_npmVersion":"2.0.0","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","tarball":"http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"},"_resolved":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js","id":"wrappy/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","wrappy/wrappy.js"],"mtime":1411082093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js","id":"wrappy/wrappy.js","options":{},"isModule":true,"mtime":1411082022000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/once/once.js","id":"once/once.js","options":{},"isModule":true,"requiredModules":["wrappy/wrappy.js"],"mtime":1411081488000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/once/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/once/package.json","data":{"name":"once","version":"1.3.2","description":"Run a function exactly one time","main":"once.js","directories":{"test":"test"},"dependencies":{"wrappy":"1"},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/once.git"},"keywords":["once","function","one","single"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","gitHead":"e35eed5a7867574e2bf2260a1ba23970958b22f2","bugs":{"url":"https://github.com/isaacs/once/issues"},"homepage":"https://github.com/isaacs/once#readme","_id":"once@1.3.2","_shasum":"d8feeca93b039ec1dcdee7741c92bdac5e28081b","_from":"once@>=1.3.0 <1.4.0","_npmVersion":"2.9.1","_nodeVersion":"2.0.0","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"d8feeca93b039ec1dcdee7741c92bdac5e28081b","tarball":"http://registry.npmjs.org/once/-/once-1.3.2.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_resolved":"https://registry.npmjs.org/once/-/once-1.3.2.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/once/test/once.js","id":"once/test/once.js","options":{},"isModule":true,"requiredModules":["tap","once/once.js"],"mtime":1411081564000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/path-is-absolute/index.js","id":"path-is-absolute/index.js","options":{},"isModule":true,"mtime":1424141850000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/path-is-absolute/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/node_modules/path-is-absolute/package.json","data":{"name":"path-is-absolute","version":"1.0.0","description":"Node.js 0.12 path.isAbsolute() ponyfill","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/path-is-absolute.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["path","paths","file","dir","absolute","isabsolute","is-absolute","built-in","util","utils","core","ponyfill","polyfill","shim","is","detect","check"],"gitHead":"7a76a0c9f2263192beedbe0a820e4d0baee5b7a1","bugs":{"url":"https://github.com/sindresorhus/path-is-absolute/issues"},"homepage":"https://github.com/sindresorhus/path-is-absolute","_id":"path-is-absolute@1.0.0","_shasum":"263dada66ab3f2fb10bf7f9d24dd8f3e570ef912","_from":"path-is-absolute@>=1.0.0 <2.0.0","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"263dada66ab3f2fb10bf7f9d24dd8f3e570ef912","tarball":"http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"glob","description":"a little globber","version":"5.0.15","repository":{"type":"git","url":"git://github.com/isaacs/node-glob.git"},"main":"glob.js","files":["glob.js","sync.js","common.js"],"engines":{"node":"*"},"dependencies":{"inflight":"^1.0.4","inherits":"2","minimatch":"2 || 3","once":"^1.3.0","path-is-absolute":"^1.0.0"},"devDependencies":{"mkdirp":"0","rimraf":"^2.2.8","tap":"^1.1.4","tick":"0.0.6"},"scripts":{"prepublish":"npm run benchclean","profclean":"rm -f v8.log profile.txt","test":"tap test/*.js --cov","test-regen":"npm run profclean && TEST_REGEN=1 node test/00-setup.js","bench":"bash benchmark.sh","prof":"bash prof.sh && cat profile.txt","benchclean":"node benchclean.js"},"license":"ISC","gitHead":"3a7e71d453dd80e75b196fd262dd23ed54beeceb","bugs":{"url":"https://github.com/isaacs/node-glob/issues"},"homepage":"https://github.com/isaacs/node-glob#readme","_id":"glob@5.0.15","_shasum":"1bc936b9e02f4a603fcc222ecf7633d30b8b93b1","_from":"glob@>=5.0.0 <5.1.0","_npmVersion":"3.3.2","_nodeVersion":"4.0.0","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"1bc936b9e02f4a603fcc222ecf7633d30b8b93b1","tarball":"http://registry.npmjs.org/glob/-/glob-5.0.15.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_resolved":"https://registry.npmjs.org/glob/-/glob-5.0.15.tgz","readme":"ERROR: No README data found!"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/glob/sync.js","id":"glob/sync.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","glob/glob.js","util/util.js","path","assert","path-is-absolute/index.js","glob/common.js"],"mtime":1436923593000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lazystream/lib/lazystream.js","id":"lazystream/lib/lazystream.js","options":{},"isModule":true,"requiredModules":["util/util.js","stream","readable-stream/passthrough.js"],"mtime":1365100030000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lazystream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lazystream/package.json","data":{"name":"lazystream","version":"0.1.0","description":"Open Node Streams on demand.","homepage":"https://github.com/jpommerening/node-lazystream","author":{"name":"J. Pommerening"},"repository":{"type":"git","url":"git+https://github.com/jpommerening/node-lazystream.git"},"bugs":{"url":"https://github.com/jpommerening/node-lazystream/issues"},"licenses":[{"type":"MIT","url":"https://github.com/jpommerening/node-lazystream/blob/master/LICENSE-MIT"}],"main":"lib/lazystream.js","engines":{"node":">= 0.6.3"},"scripts":{"test":"nodeunit test/readable_test.js test/writable_test.js test/pipe_test.js test/fs_test.js"},"dependencies":{"readable-stream":"~1.0.2"},"devDependencies":{"nodeunit":"~0.7.4"},"keywords":["streams","stream"],"readme":"# Lazy Streams\n\n> *Create streams lazily when they are read from or written to.*  \n> `lazystream: 0.0.2` [![Build Status](https://travis-ci.org/jpommerening/node-lazystream.png?branch=master)](https://travis-ci.org/jpommerening/node-lazystream)  \n\n## Why?\n\nSometimes you feel the itch to open *all the files* at once. You want to pass a bunch of streams around, so the consumer does not need to worry where the data comes from.\nFrom a software design point-of-view this sounds entirely reasonable. Then there is that neat little function `fs.createReadStream()` that opens a file and gives you a nice `fs.ReadStream` to pass around, so you use what the mighty creator deities of node bestowed upon you.\n\n> `Error: EMFILE, too many open files`  \n> ─ *node*\n\nThis package provides two classes based on the node's new streams API (or `readable-stream` if you are using node a node version earlier than 0.10):\n\n## Class: lazystream.Readable\n\nA wrapper for readable streams. Extends [`stream.PassThrough`](http://nodejs.org/api/stream.html#stream_class_stream_passthrough).\n\n### new lazystream.Readable(fn [, options])\n\n* `fn` *{Function}*  \n  The function that the lazy stream will call to obtain the stream to actually read from.\n* `options` *{Object}*  \n  Options for the underlying `PassThrough` stream, accessible by `fn`.\n\nCreates a new readable stream. Once the stream is accessed (for example when you call its `read()` method, or attach a `data`-event listener) the `fn` function is called with the outer `lazystream.Readable` instance bound to `this`.\n\nIf you pass an `options` object to the constuctor, you can access it in your `fn` function.\n\n```javascript\nnew lazystream.Readable(function (options) {\n  return fs.createReadStream('/dev/urandom');\n});\n```\n\n## Class: lazystream.Writable\n\nA wrapper for writable streams. Extends [`stream.PassThrough`](http://nodejs.org/api/stream.html#stream_class_stream_passthrough).\n\n### new lazystream.Writable(fn [, options])\n\n* `fn` *{Function}*  \n  The function that the lazy stream will call to obtain the stream to actually write to.\n* `options` *{Object}*  \n  Options for the underlying `PassThrough` stream, accessible by `fn`.\n\nCreates a new writable stream. Just like the one above but for writable streams.\n\n```javascript\nnew lazystream.Writable(function () {\n  return fs.createWriteStream('/dev/null');\n});\n```\n\n## Install\n\n```console\n$ npm install lazystream --save\nnpm http GET https://registry.npmjs.org/readable-stream\nnpm http 200 https://registry.npmjs.org/readable-stream\nnpm http GET https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.2.tgz\nnpm http 200 https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.2.tgz\nlazystream@0.0.2 node_modules/lazystream\n└── readable-stream@1.0.2\n```\n\n## Contributing\n\nFork it, branch it, send me a pull request. We'll work out the rest together.\n\n## Credits\n\n[Chris Talkington](https://github.com/ctalkington) and his [node-archiver](https://github.com/ctalkington/node-archiver) for providing a use-case.\n\n## [License](LICENSE-MIT)\n\nCopyright (c) 2013 J. Pommerening, contributors.\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n\n","readmeFilename":"README.md","_id":"lazystream@0.1.0","dist":{"shasum":"1b25d63c772a4c20f0a5ed0a9d77f484b6e16920","tarball":"http://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz"},"_from":"lazystream@>=0.1.0 <0.2.0","_npmVersion":"1.2.17","_npmUser":{"name":"jpommerening","email":"jonas.pommerening@gmail.com"},"maintainers":[{"name":"jpommerening","email":"jonas.pommerening@gmail.com"}],"directories":{},"_shasum":"1b25d63c772a4c20f0a5ed0a9d77f484b6e16920","_resolved":"https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lazystream/test/fs_test.js","id":"lazystream/test/fs_test.js","options":{},"isModule":true,"requiredModules":["lazystream/lib/lazystream.js","fs"],"mtime":1365100030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lazystream/test/helper.js","id":"lazystream/test/helper.js","options":{},"isModule":true,"requiredModules":["readable-stream/readable.js","readable-stream/writable.js","util/util.js"],"mtime":1365019086000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lazystream/test/pipe_test.js","id":"lazystream/test/pipe_test.js","options":{},"isModule":true,"requiredModules":["lazystream/lib/lazystream.js","lazystream/test/helper.js"],"mtime":1365100030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lazystream/test/readable_test.js","id":"lazystream/test/readable_test.js","options":{},"isModule":true,"requiredModules":["lazystream/lib/lazystream.js","lazystream/test/helper.js"],"mtime":1365100030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lazystream/test/writable_test.js","id":"lazystream/test/writable_test.js","options":{},"isModule":true,"requiredModules":["lazystream/lib/lazystream.js","lazystream/test/helper.js"],"mtime":1365100030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/chunk.js","id":"lodash/array/chunk.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/compact.js","id":"lodash/array/compact.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/difference.js","id":"lodash/array/difference.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/baseFlatten.js","lodash/internal/isArrayLike.js","lodash/internal/isObjectLike.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/drop.js","id":"lodash/array/drop.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/dropRight.js","id":"lodash/array/dropRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/dropRightWhile.js","id":"lodash/array/dropRightWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/dropWhile.js","id":"lodash/array/dropWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/fill.js","id":"lodash/array/fill.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFill.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/findIndex.js","id":"lodash/array/findIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFindIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/findLastIndex.js","id":"lodash/array/findLastIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFindIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/first.js","id":"lodash/array/first.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/flatten.js","id":"lodash/array/flatten.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/flattenDeep.js","id":"lodash/array/flattenDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/head.js","id":"lodash/array/head.js","options":{},"isModule":true,"requiredModules":["lodash/array/first.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/indexOf.js","id":"lodash/array/indexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/binaryIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/initial.js","id":"lodash/array/initial.js","options":{},"isModule":true,"requiredModules":["lodash/array/dropRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/intersection.js","id":"lodash/array/intersection.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js","lodash/internal/isArrayLike.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/last.js","id":"lodash/array/last.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/lastIndexOf.js","id":"lodash/array/lastIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/binaryIndex.js","lodash/internal/indexOfNaN.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/object.js","id":"lodash/array/object.js","options":{},"isModule":true,"requiredModules":["lodash/array/zipObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/pull.js","id":"lodash/array/pull.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/pullAt.js","id":"lodash/array/pullAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAt.js","lodash/internal/baseCompareAscending.js","lodash/internal/baseFlatten.js","lodash/internal/basePullAt.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/remove.js","id":"lodash/array/remove.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/basePullAt.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/rest.js","id":"lodash/array/rest.js","options":{},"isModule":true,"requiredModules":["lodash/array/drop.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/slice.js","id":"lodash/array/slice.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/sortedIndex.js","id":"lodash/array/sortedIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createSortedIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/sortedLastIndex.js","id":"lodash/array/sortedLastIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createSortedIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/tail.js","id":"lodash/array/tail.js","options":{},"isModule":true,"requiredModules":["lodash/array/rest.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/take.js","id":"lodash/array/take.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/takeRight.js","id":"lodash/array/takeRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/takeRightWhile.js","id":"lodash/array/takeRightWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/takeWhile.js","id":"lodash/array/takeWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/union.js","id":"lodash/array/union.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/baseUniq.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/uniq.js","id":"lodash/array/uniq.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseUniq.js","lodash/internal/isIterateeCall.js","lodash/internal/sortedUniq.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/unique.js","id":"lodash/array/unique.js","options":{},"isModule":true,"requiredModules":["lodash/array/uniq.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/unzip.js","id":"lodash/array/unzip.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/arrayMap.js","lodash/internal/baseProperty.js","lodash/internal/isArrayLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/unzipWith.js","id":"lodash/array/unzipWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/arrayReduce.js","lodash/internal/bindCallback.js","lodash/array/unzip.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/without.js","id":"lodash/array/without.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/isArrayLike.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/xor.js","id":"lodash/array/xor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayPush.js","lodash/internal/baseDifference.js","lodash/internal/baseUniq.js","lodash/internal/isArrayLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/zip.js","id":"lodash/array/zip.js","options":{},"isModule":true,"requiredModules":["lodash/function/restParam.js","lodash/array/unzip.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/zipObject.js","id":"lodash/array/zipObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array/zipWith.js","id":"lodash/array/zipWith.js","options":{},"isModule":true,"requiredModules":["lodash/function/restParam.js","lodash/array/unzipWith.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/array.js","id":"lodash/array.js","options":{},"isModule":true,"requiredModules":["lodash/array/chunk.js","lodash/array/compact.js","lodash/array/difference.js","lodash/array/drop.js","lodash/array/dropRight.js","lodash/array/dropRightWhile.js","lodash/array/dropWhile.js","lodash/array/fill.js","lodash/array/findIndex.js","lodash/array/findLastIndex.js","lodash/array/first.js","lodash/array/flatten.js","lodash/array/flattenDeep.js","lodash/array/head.js","lodash/array/indexOf.js","lodash/array/initial.js","lodash/array/intersection.js","lodash/array/last.js","lodash/array/lastIndexOf.js","lodash/array/object.js","lodash/array/pull.js","lodash/array/pullAt.js","lodash/array/remove.js","lodash/array/rest.js","lodash/array/slice.js","lodash/array/sortedIndex.js","lodash/array/sortedLastIndex.js","lodash/array/tail.js","lodash/array/take.js","lodash/array/takeRight.js","lodash/array/takeRightWhile.js","lodash/array/takeWhile.js","lodash/array/union.js","lodash/array/uniq.js","lodash/array/unique.js","lodash/array/unzip.js","lodash/array/unzipWith.js","lodash/array/without.js","lodash/array/xor.js","lodash/array/zip.js","lodash/array/zipObject.js","lodash/array/zipWith.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/chain.js","id":"lodash/chain/chain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/lodash.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/commit.js","id":"lodash/chain/commit.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperCommit.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/concat.js","id":"lodash/chain/concat.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperConcat.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/lodash.js","id":"lodash/chain/lodash.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/internal/baseLodash.js","lodash/lang/isArray.js","lodash/internal/isObjectLike.js","lodash/internal/wrapperClone.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/plant.js","id":"lodash/chain/plant.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperPlant.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/reverse.js","id":"lodash/chain/reverse.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperReverse.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/run.js","id":"lodash/chain/run.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/tap.js","id":"lodash/chain/tap.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/thru.js","id":"lodash/chain/thru.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/toJSON.js","id":"lodash/chain/toJSON.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/toString.js","id":"lodash/chain/toString.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/value.js","id":"lodash/chain/value.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/valueOf.js","id":"lodash/chain/valueOf.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/wrapperChain.js","id":"lodash/chain/wrapperChain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/chain.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/wrapperCommit.js","id":"lodash/chain/wrapperCommit.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LodashWrapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/wrapperConcat.js","id":"lodash/chain/wrapperConcat.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayConcat.js","lodash/internal/baseFlatten.js","lodash/lang/isArray.js","lodash/function/restParam.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/wrapperPlant.js","id":"lodash/chain/wrapperPlant.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseLodash.js","lodash/internal/wrapperClone.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/wrapperReverse.js","id":"lodash/chain/wrapperReverse.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/chain/thru.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/wrapperToString.js","id":"lodash/chain/wrapperToString.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain/wrapperValue.js","id":"lodash/chain/wrapperValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseWrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/chain.js","id":"lodash/chain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/chain.js","lodash/chain/commit.js","lodash/chain/concat.js","lodash/chain/lodash.js","lodash/chain/plant.js","lodash/chain/reverse.js","lodash/chain/run.js","lodash/chain/tap.js","lodash/chain/thru.js","lodash/chain/toJSON.js","lodash/chain/toString.js","lodash/chain/value.js","lodash/chain/valueOf.js","lodash/chain/wrapperChain.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/all.js","id":"lodash/collection/all.js","options":{},"isModule":true,"requiredModules":["lodash/collection/every.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/any.js","id":"lodash/collection/any.js","options":{},"isModule":true,"requiredModules":["lodash/collection/some.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/at.js","id":"lodash/collection/at.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAt.js","lodash/internal/baseFlatten.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/collect.js","id":"lodash/collection/collect.js","options":{},"isModule":true,"requiredModules":["lodash/collection/map.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/contains.js","id":"lodash/collection/contains.js","options":{},"isModule":true,"requiredModules":["lodash/collection/includes.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/countBy.js","id":"lodash/collection/countBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/detect.js","id":"lodash/collection/detect.js","options":{},"isModule":true,"requiredModules":["lodash/collection/find.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/each.js","id":"lodash/collection/each.js","options":{},"isModule":true,"requiredModules":["lodash/collection/forEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/eachRight.js","id":"lodash/collection/eachRight.js","options":{},"isModule":true,"requiredModules":["lodash/collection/forEachRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/every.js","id":"lodash/collection/every.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEvery.js","lodash/internal/baseCallback.js","lodash/internal/baseEvery.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/filter.js","id":"lodash/collection/filter.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/baseCallback.js","lodash/internal/baseFilter.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/find.js","id":"lodash/collection/find.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/createFind.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/findLast.js","id":"lodash/collection/findLast.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEachRight.js","lodash/internal/createFind.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/findWhere.js","id":"lodash/collection/findWhere.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/collection/find.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/foldl.js","id":"lodash/collection/foldl.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduce.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/foldr.js","id":"lodash/collection/foldr.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduceRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/forEach.js","id":"lodash/collection/forEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseEach.js","lodash/internal/createForEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/forEachRight.js","id":"lodash/collection/forEachRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEachRight.js","lodash/internal/baseEachRight.js","lodash/internal/createForEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/groupBy.js","id":"lodash/collection/groupBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/include.js","id":"lodash/collection/include.js","options":{},"isModule":true,"requiredModules":["lodash/collection/includes.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/includes.js","id":"lodash/collection/includes.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/getLength.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/internal/isLength.js","lodash/lang/isString.js","lodash/object/values.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/indexBy.js","id":"lodash/collection/indexBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/inject.js","id":"lodash/collection/inject.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduce.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/invoke.js","id":"lodash/collection/invoke.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/invokePath.js","lodash/internal/isArrayLike.js","lodash/internal/isKey.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/map.js","id":"lodash/collection/map.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/max.js","id":"lodash/collection/max.js","options":{},"isModule":true,"requiredModules":["lodash/math/max.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/min.js","id":"lodash/collection/min.js","options":{},"isModule":true,"requiredModules":["lodash/math/min.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/partition.js","id":"lodash/collection/partition.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/pluck.js","id":"lodash/collection/pluck.js","options":{},"isModule":true,"requiredModules":["lodash/collection/map.js","lodash/utility/property.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/reduce.js","id":"lodash/collection/reduce.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayReduce.js","lodash/internal/baseEach.js","lodash/internal/createReduce.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/reduceRight.js","id":"lodash/collection/reduceRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayReduceRight.js","lodash/internal/baseEachRight.js","lodash/internal/createReduce.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/reject.js","id":"lodash/collection/reject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/baseCallback.js","lodash/internal/baseFilter.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/sample.js","id":"lodash/collection/sample.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/isIterateeCall.js","lodash/lang/toArray.js","lodash/internal/toIterable.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/select.js","id":"lodash/collection/select.js","options":{},"isModule":true,"requiredModules":["lodash/collection/filter.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/shuffle.js","id":"lodash/collection/shuffle.js","options":{},"isModule":true,"requiredModules":["lodash/collection/sample.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/size.js","id":"lodash/collection/size.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/some.js","id":"lodash/collection/some.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySome.js","lodash/internal/baseCallback.js","lodash/internal/baseSome.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/sortBy.js","id":"lodash/collection/sortBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/internal/baseSortBy.js","lodash/internal/compareAscending.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/sortByAll.js","id":"lodash/collection/sortByAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/baseSortByOrder.js","lodash/internal/isIterateeCall.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/sortByOrder.js","id":"lodash/collection/sortByOrder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSortByOrder.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/sum.js","id":"lodash/collection/sum.js","options":{},"isModule":true,"requiredModules":["lodash/math/sum.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection/where.js","id":"lodash/collection/where.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/collection/filter.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/collection.js","id":"lodash/collection.js","options":{},"isModule":true,"requiredModules":["lodash/collection/all.js","lodash/collection/any.js","lodash/collection/at.js","lodash/collection/collect.js","lodash/collection/contains.js","lodash/collection/countBy.js","lodash/collection/detect.js","lodash/collection/each.js","lodash/collection/eachRight.js","lodash/collection/every.js","lodash/collection/filter.js","lodash/collection/find.js","lodash/collection/findLast.js","lodash/collection/findWhere.js","lodash/collection/foldl.js","lodash/collection/foldr.js","lodash/collection/forEach.js","lodash/collection/forEachRight.js","lodash/collection/groupBy.js","lodash/collection/include.js","lodash/collection/includes.js","lodash/collection/indexBy.js","lodash/collection/inject.js","lodash/collection/invoke.js","lodash/collection/map.js","lodash/math/max.js","lodash/math/min.js","lodash/collection/partition.js","lodash/collection/pluck.js","lodash/collection/reduce.js","lodash/collection/reduceRight.js","lodash/collection/reject.js","lodash/collection/sample.js","lodash/collection/select.js","lodash/collection/shuffle.js","lodash/collection/size.js","lodash/collection/some.js","lodash/collection/sortBy.js","lodash/collection/sortByAll.js","lodash/collection/sortByOrder.js","lodash/math/sum.js","lodash/collection/where.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/date/now.js","id":"lodash/date/now.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/date.js","id":"lodash/date.js","options":{},"isModule":true,"requiredModules":["lodash/date/now.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/after.js","id":"lodash/function/after.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/ary.js","id":"lodash/function/ary.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/backflow.js","id":"lodash/function/backflow.js","options":{},"isModule":true,"requiredModules":["lodash/function/flowRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/before.js","id":"lodash/function/before.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/bind.js","id":"lodash/function/bind.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/bindAll.js","id":"lodash/function/bindAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/createWrapper.js","lodash/object/functions.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/bindKey.js","id":"lodash/function/bindKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/compose.js","id":"lodash/function/compose.js","options":{},"isModule":true,"requiredModules":["lodash/function/flowRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/curry.js","id":"lodash/function/curry.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCurry.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/curryRight.js","id":"lodash/function/curryRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCurry.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/debounce.js","id":"lodash/function/debounce.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js","lodash/date/now.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/defer.js","id":"lodash/function/defer.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDelay.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/delay.js","id":"lodash/function/delay.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDelay.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/flow.js","id":"lodash/function/flow.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFlow.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/flowRight.js","id":"lodash/function/flowRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFlow.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/memoize.js","id":"lodash/function/memoize.js","options":{},"isModule":true,"requiredModules":["lodash/internal/MapCache.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/modArgs.js","id":"lodash/function/modArgs.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEvery.js","lodash/internal/baseFlatten.js","lodash/internal/baseIsFunction.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/negate.js","id":"lodash/function/negate.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/once.js","id":"lodash/function/once.js","options":{},"isModule":true,"requiredModules":["lodash/function/before.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/partial.js","id":"lodash/function/partial.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPartial.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/partialRight.js","id":"lodash/function/partialRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPartial.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/rearg.js","id":"lodash/function/rearg.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/createWrapper.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/restParam.js","id":"lodash/function/restParam.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/spread.js","id":"lodash/function/spread.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/throttle.js","id":"lodash/function/throttle.js","options":{},"isModule":true,"requiredModules":["lodash/function/debounce.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function/wrap.js","id":"lodash/function/wrap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/utility/identity.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/function.js","id":"lodash/function.js","options":{},"isModule":true,"requiredModules":["lodash/function/after.js","lodash/function/ary.js","lodash/function/backflow.js","lodash/function/before.js","lodash/function/bind.js","lodash/function/bindAll.js","lodash/function/bindKey.js","lodash/function/compose.js","lodash/function/curry.js","lodash/function/curryRight.js","lodash/function/debounce.js","lodash/function/defer.js","lodash/function/delay.js","lodash/function/flow.js","lodash/function/flowRight.js","lodash/function/memoize.js","lodash/function/modArgs.js","lodash/function/negate.js","lodash/function/once.js","lodash/function/partial.js","lodash/function/partialRight.js","lodash/function/rearg.js","lodash/function/restParam.js","lodash/function/spread.js","lodash/function/throttle.js","lodash/function/wrap.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/index.js","id":"lodash/index.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayConcat.js","id":"lodash/internal/arrayConcat.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayCopy.js","id":"lodash/internal/arrayCopy.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayEach.js","id":"lodash/internal/arrayEach.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayEachRight.js","id":"lodash/internal/arrayEachRight.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayEvery.js","id":"lodash/internal/arrayEvery.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayExtremum.js","id":"lodash/internal/arrayExtremum.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayFilter.js","id":"lodash/internal/arrayFilter.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayMap.js","id":"lodash/internal/arrayMap.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayPush.js","id":"lodash/internal/arrayPush.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayReduce.js","id":"lodash/internal/arrayReduce.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arrayReduceRight.js","id":"lodash/internal/arrayReduceRight.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arraySome.js","id":"lodash/internal/arraySome.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/arraySum.js","id":"lodash/internal/arraySum.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/assignDefaults.js","id":"lodash/internal/assignDefaults.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/assignOwnDefaults.js","id":"lodash/internal/assignOwnDefaults.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/assignWith.js","id":"lodash/internal/assignWith.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseAssign.js","id":"lodash/internal/baseAssign.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseAt.js","id":"lodash/internal/baseAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseCallback.js","id":"lodash/internal/baseCallback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/internal/baseMatchesProperty.js","lodash/internal/bindCallback.js","lodash/utility/identity.js","lodash/utility/property.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseClone.js","id":"lodash/internal/baseClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/arrayEach.js","lodash/internal/baseAssign.js","lodash/internal/baseForOwn.js","lodash/internal/initCloneArray.js","lodash/internal/initCloneByTag.js","lodash/internal/initCloneObject.js","lodash/lang/isArray.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseCompareAscending.js","id":"lodash/internal/baseCompareAscending.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseCopy.js","id":"lodash/internal/baseCopy.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseCreate.js","id":"lodash/internal/baseCreate.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseDelay.js","id":"lodash/internal/baseDelay.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseDifference.js","id":"lodash/internal/baseDifference.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseEach.js","id":"lodash/internal/baseEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createBaseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseEachRight.js","id":"lodash/internal/baseEachRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createBaseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseEvery.js","id":"lodash/internal/baseEvery.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseExtremum.js","id":"lodash/internal/baseExtremum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseFill.js","id":"lodash/internal/baseFill.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseFilter.js","id":"lodash/internal/baseFilter.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseFind.js","id":"lodash/internal/baseFind.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseFindIndex.js","id":"lodash/internal/baseFindIndex.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseFlatten.js","id":"lodash/internal/baseFlatten.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayPush.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseFor.js","id":"lodash/internal/baseFor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createBaseFor.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseForIn.js","id":"lodash/internal/baseForIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseForOwn.js","id":"lodash/internal/baseForOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseForOwnRight.js","id":"lodash/internal/baseForOwnRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseForRight.js","id":"lodash/internal/baseForRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createBaseFor.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseFunctions.js","id":"lodash/internal/baseFunctions.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isFunction.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseGet.js","id":"lodash/internal/baseGet.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseIndexOf.js","id":"lodash/internal/baseIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/indexOfNaN.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseIsEqual.js","id":"lodash/internal/baseIsEqual.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqualDeep.js","lodash/lang/isObject.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseIsEqualDeep.js","id":"lodash/internal/baseIsEqualDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/equalArrays.js","lodash/internal/equalByTag.js","lodash/internal/equalObjects.js","lodash/lang/isArray.js","lodash/lang/isTypedArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseIsFunction.js","id":"lodash/internal/baseIsFunction.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseIsMatch.js","id":"lodash/internal/baseIsMatch.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseLodash.js","id":"lodash/internal/baseLodash.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseMap.js","id":"lodash/internal/baseMap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/isArrayLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseMatches.js","id":"lodash/internal/baseMatches.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsMatch.js","lodash/internal/getMatchData.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseMatchesProperty.js","id":"lodash/internal/baseMatchesProperty.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseIsEqual.js","lodash/internal/baseSlice.js","lodash/lang/isArray.js","lodash/internal/isKey.js","lodash/internal/isStrictComparable.js","lodash/array/last.js","lodash/internal/toObject.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseMerge.js","id":"lodash/internal/baseMerge.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseMergeDeep.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/internal/isObjectLike.js","lodash/lang/isTypedArray.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseMergeDeep.js","id":"lodash/internal/baseMergeDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isPlainObject.js","lodash/lang/isTypedArray.js","lodash/lang/toPlainObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseProperty.js","id":"lodash/internal/baseProperty.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/basePropertyDeep.js","id":"lodash/internal/basePropertyDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/basePullAt.js","id":"lodash/internal/basePullAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseRandom.js","id":"lodash/internal/baseRandom.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseReduce.js","id":"lodash/internal/baseReduce.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseSetData.js","id":"lodash/internal/baseSetData.js","options":{},"isModule":true,"requiredModules":["lodash/utility/identity.js","lodash/internal/metaMap.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseSlice.js","id":"lodash/internal/baseSlice.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseSome.js","id":"lodash/internal/baseSome.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseSortBy.js","id":"lodash/internal/baseSortBy.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseSortByOrder.js","id":"lodash/internal/baseSortByOrder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/internal/baseSortBy.js","lodash/internal/compareMultiple.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseSum.js","id":"lodash/internal/baseSum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseToString.js","id":"lodash/internal/baseToString.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseUniq.js","id":"lodash/internal/baseUniq.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseValues.js","id":"lodash/internal/baseValues.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseWhile.js","id":"lodash/internal/baseWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/baseWrapperValue.js","id":"lodash/internal/baseWrapperValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/arrayPush.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/binaryIndex.js","id":"lodash/internal/binaryIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/binaryIndexBy.js","lodash/utility/identity.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/binaryIndexBy.js","id":"lodash/internal/binaryIndexBy.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/bindCallback.js","id":"lodash/internal/bindCallback.js","options":{},"isModule":true,"requiredModules":["lodash/utility/identity.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/bufferClone.js","id":"lodash/internal/bufferClone.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/cacheIndexOf.js","id":"lodash/internal/cacheIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/cachePush.js","id":"lodash/internal/cachePush.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/charsLeftIndex.js","id":"lodash/internal/charsLeftIndex.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/charsRightIndex.js","id":"lodash/internal/charsRightIndex.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/compareAscending.js","id":"lodash/internal/compareAscending.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCompareAscending.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/compareMultiple.js","id":"lodash/internal/compareMultiple.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCompareAscending.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/composeArgs.js","id":"lodash/internal/composeArgs.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/composeArgsRight.js","id":"lodash/internal/composeArgsRight.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createAggregator.js","id":"lodash/internal/createAggregator.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseEach.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createAssigner.js","id":"lodash/internal/createAssigner.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/internal/isIterateeCall.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createBaseEach.js","id":"lodash/internal/createBaseEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createBaseFor.js","id":"lodash/internal/createBaseFor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createBindWrapper.js","id":"lodash/internal/createBindWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCtorWrapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createCache.js","id":"lodash/internal/createCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/SetCache.js","lodash/internal/getNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createCompounder.js","id":"lodash/internal/createCompounder.js","options":{},"isModule":true,"requiredModules":["lodash/string/deburr.js","lodash/string/words.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createCtorWrapper.js","id":"lodash/internal/createCtorWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createCurry.js","id":"lodash/internal/createCurry.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createDefaults.js","id":"lodash/internal/createDefaults.js","options":{},"isModule":true,"requiredModules":["lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createExtremum.js","id":"lodash/internal/createExtremum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayExtremum.js","lodash/internal/baseCallback.js","lodash/internal/baseExtremum.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/internal/toIterable.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createFind.js","id":"lodash/internal/createFind.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFind.js","lodash/internal/baseFindIndex.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createFindIndex.js","id":"lodash/internal/createFindIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFindIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createFindKey.js","id":"lodash/internal/createFindKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFind.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createFlow.js","id":"lodash/internal/createFlow.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LodashWrapper.js","lodash/internal/getData.js","lodash/internal/getFuncName.js","lodash/lang/isArray.js","lodash/internal/isLaziable.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createForEach.js","id":"lodash/internal/createForEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createForIn.js","id":"lodash/internal/createForIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createForOwn.js","id":"lodash/internal/createForOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createHybridWrapper.js","id":"lodash/internal/createHybridWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/composeArgs.js","lodash/internal/composeArgsRight.js","lodash/internal/createCtorWrapper.js","lodash/internal/isLaziable.js","lodash/internal/reorder.js","lodash/internal/replaceHolders.js","lodash/internal/setData.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createObjectMapper.js","id":"lodash/internal/createObjectMapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseForOwn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createPadding.js","id":"lodash/internal/createPadding.js","options":{},"isModule":true,"requiredModules":["lodash/string/repeat.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createPadDir.js","id":"lodash/internal/createPadDir.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPadding.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createPartial.js","id":"lodash/internal/createPartial.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createPartialWrapper.js","id":"lodash/internal/createPartialWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCtorWrapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createReduce.js","id":"lodash/internal/createReduce.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseReduce.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createRound.js","id":"lodash/internal/createRound.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createSortedIndex.js","id":"lodash/internal/createSortedIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/binaryIndex.js","lodash/internal/binaryIndexBy.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/createWrapper.js","id":"lodash/internal/createWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/internal/createBindWrapper.js","lodash/internal/createHybridWrapper.js","lodash/internal/createPartialWrapper.js","lodash/internal/getData.js","lodash/internal/mergeData.js","lodash/internal/setData.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/deburrLetter.js","id":"lodash/internal/deburrLetter.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/equalArrays.js","id":"lodash/internal/equalArrays.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySome.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/equalByTag.js","id":"lodash/internal/equalByTag.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/equalObjects.js","id":"lodash/internal/equalObjects.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/escapeHtmlChar.js","id":"lodash/internal/escapeHtmlChar.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/escapeRegExpChar.js","id":"lodash/internal/escapeRegExpChar.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/escapeStringChar.js","id":"lodash/internal/escapeStringChar.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/getData.js","id":"lodash/internal/getData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/metaMap.js","lodash/utility/noop.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/getFuncName.js","id":"lodash/internal/getFuncName.js","options":{},"isModule":true,"requiredModules":["lodash/internal/realNames.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/getLength.js","id":"lodash/internal/getLength.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseProperty.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/getMatchData.js","id":"lodash/internal/getMatchData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isStrictComparable.js","lodash/object/pairs.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/getNative.js","id":"lodash/internal/getNative.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/getView.js","id":"lodash/internal/getView.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/indexOfNaN.js","id":"lodash/internal/indexOfNaN.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/initCloneArray.js","id":"lodash/internal/initCloneArray.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/initCloneByTag.js","id":"lodash/internal/initCloneByTag.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bufferClone.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/initCloneObject.js","id":"lodash/internal/initCloneObject.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/invokePath.js","id":"lodash/internal/invokePath.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/internal/isKey.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isArrayLike.js","id":"lodash/internal/isArrayLike.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isIndex.js","id":"lodash/internal/isIndex.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isIterateeCall.js","id":"lodash/internal/isIterateeCall.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isIndex.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isKey.js","id":"lodash/internal/isKey.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArray.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isLaziable.js","id":"lodash/internal/isLaziable.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/getData.js","lodash/internal/getFuncName.js","lodash/chain/lodash.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isLength.js","id":"lodash/internal/isLength.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isObjectLike.js","id":"lodash/internal/isObjectLike.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isSpace.js","id":"lodash/internal/isSpace.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/isStrictComparable.js","id":"lodash/internal/isStrictComparable.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/lazyClone.js","id":"lodash/internal/lazyClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/arrayCopy.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/lazyReverse.js","id":"lodash/internal/lazyReverse.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/lazyValue.js","id":"lodash/internal/lazyValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseWrapperValue.js","lodash/internal/getView.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/LazyWrapper.js","id":"lodash/internal/LazyWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/internal/baseLodash.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/LodashWrapper.js","id":"lodash/internal/LodashWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/internal/baseLodash.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/MapCache.js","id":"lodash/internal/MapCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/mapDelete.js","lodash/internal/mapGet.js","lodash/internal/mapHas.js","lodash/internal/mapSet.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/mapDelete.js","id":"lodash/internal/mapDelete.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/mapGet.js","id":"lodash/internal/mapGet.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/mapHas.js","id":"lodash/internal/mapHas.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/mapSet.js","id":"lodash/internal/mapSet.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/mergeData.js","id":"lodash/internal/mergeData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/composeArgs.js","lodash/internal/composeArgsRight.js","lodash/internal/replaceHolders.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/mergeDefaults.js","id":"lodash/internal/mergeDefaults.js","options":{},"isModule":true,"requiredModules":["lodash/object/merge.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/metaMap.js","id":"lodash/internal/metaMap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/pickByArray.js","id":"lodash/internal/pickByArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/pickByCallback.js","id":"lodash/internal/pickByCallback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/realNames.js","id":"lodash/internal/realNames.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/reEscape.js","id":"lodash/internal/reEscape.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/reEvaluate.js","id":"lodash/internal/reEvaluate.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/reInterpolate.js","id":"lodash/internal/reInterpolate.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/reorder.js","id":"lodash/internal/reorder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/isIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/replaceHolders.js","id":"lodash/internal/replaceHolders.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/SetCache.js","id":"lodash/internal/SetCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/cachePush.js","lodash/internal/getNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/setData.js","id":"lodash/internal/setData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/date/now.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/shimKeys.js","id":"lodash/internal/shimKeys.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/sortedUniq.js","id":"lodash/internal/sortedUniq.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/toIterable.js","id":"lodash/internal/toIterable.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/object/values.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/toObject.js","id":"lodash/internal/toObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/toPath.js","id":"lodash/internal/toPath.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/trimmedLeftIndex.js","id":"lodash/internal/trimmedLeftIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isSpace.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/trimmedRightIndex.js","id":"lodash/internal/trimmedRightIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isSpace.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/unescapeHtmlChar.js","id":"lodash/internal/unescapeHtmlChar.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/internal/wrapperClone.js","id":"lodash/internal/wrapperClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/internal/arrayCopy.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/clone.js","id":"lodash/lang/clone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/bindCallback.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/cloneDeep.js","id":"lodash/lang/cloneDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/bindCallback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/eq.js","id":"lodash/lang/eq.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isEqual.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/gt.js","id":"lodash/lang/gt.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/gte.js","id":"lodash/lang/gte.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isArguments.js","id":"lodash/lang/isArguments.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isArray.js","id":"lodash/lang/isArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js","lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isBoolean.js","id":"lodash/lang/isBoolean.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isDate.js","id":"lodash/lang/isDate.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isElement.js","id":"lodash/lang/isElement.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js","lodash/lang/isPlainObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isEmpty.js","id":"lodash/lang/isEmpty.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isFunction.js","lodash/internal/isObjectLike.js","lodash/lang/isString.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isEqual.js","id":"lodash/lang/isEqual.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js","lodash/internal/bindCallback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isError.js","id":"lodash/lang/isError.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isFinite.js","id":"lodash/lang/isFinite.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isFunction.js","id":"lodash/lang/isFunction.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isMatch.js","id":"lodash/lang/isMatch.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsMatch.js","lodash/internal/bindCallback.js","lodash/internal/getMatchData.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isNaN.js","id":"lodash/lang/isNaN.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNumber.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isNative.js","id":"lodash/lang/isNative.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isFunction.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isNull.js","id":"lodash/lang/isNull.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isNumber.js","id":"lodash/lang/isNumber.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isObject.js","id":"lodash/lang/isObject.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isPlainObject.js","id":"lodash/lang/isPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForIn.js","lodash/lang/isArguments.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isRegExp.js","id":"lodash/lang/isRegExp.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isString.js","id":"lodash/lang/isString.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isTypedArray.js","id":"lodash/lang/isTypedArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/isUndefined.js","id":"lodash/lang/isUndefined.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/lt.js","id":"lodash/lang/lt.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/lte.js","id":"lodash/lang/lte.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/toArray.js","id":"lodash/lang/toArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/object/values.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang/toPlainObject.js","id":"lodash/lang/toPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/lang.js","id":"lodash/lang.js","options":{},"isModule":true,"requiredModules":["lodash/lang/clone.js","lodash/lang/cloneDeep.js","lodash/lang/eq.js","lodash/lang/gt.js","lodash/lang/gte.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/lang/isBoolean.js","lodash/lang/isDate.js","lodash/lang/isElement.js","lodash/lang/isEmpty.js","lodash/lang/isEqual.js","lodash/lang/isError.js","lodash/lang/isFinite.js","lodash/lang/isFunction.js","lodash/lang/isMatch.js","lodash/lang/isNaN.js","lodash/lang/isNative.js","lodash/lang/isNull.js","lodash/lang/isNumber.js","lodash/lang/isObject.js","lodash/lang/isPlainObject.js","lodash/lang/isRegExp.js","lodash/lang/isString.js","lodash/lang/isTypedArray.js","lodash/lang/isUndefined.js","lodash/lang/lt.js","lodash/lang/lte.js","lodash/lang/toArray.js","lodash/lang/toPlainObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/math/add.js","id":"lodash/math/add.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/math/ceil.js","id":"lodash/math/ceil.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createRound.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/math/floor.js","id":"lodash/math/floor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createRound.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/math/max.js","id":"lodash/math/max.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createExtremum.js","lodash/lang/gt.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/math/min.js","id":"lodash/math/min.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createExtremum.js","lodash/lang/lt.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/math/round.js","id":"lodash/math/round.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createRound.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/math/sum.js","id":"lodash/math/sum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySum.js","lodash/internal/baseCallback.js","lodash/internal/baseSum.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/internal/toIterable.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/math.js","id":"lodash/math.js","options":{},"isModule":true,"requiredModules":["lodash/math/add.js","lodash/math/ceil.js","lodash/math/floor.js","lodash/math/max.js","lodash/math/min.js","lodash/math/round.js","lodash/math/sum.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/number/inRange.js","id":"lodash/number/inRange.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/number/random.js","id":"lodash/number/random.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/number.js","id":"lodash/number.js","options":{},"isModule":true,"requiredModules":["lodash/number/inRange.js","lodash/number/random.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/assign.js","id":"lodash/object/assign.js","options":{},"isModule":true,"requiredModules":["lodash/internal/assignWith.js","lodash/internal/baseAssign.js","lodash/internal/createAssigner.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/create.js","id":"lodash/object/create.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAssign.js","lodash/internal/baseCreate.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/defaults.js","id":"lodash/object/defaults.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","lodash/internal/assignDefaults.js","lodash/internal/createDefaults.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/defaultsDeep.js","id":"lodash/object/defaultsDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createDefaults.js","lodash/object/merge.js","lodash/internal/mergeDefaults.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/extend.js","id":"lodash/object/extend.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/findKey.js","id":"lodash/object/findKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createFindKey.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/findLastKey.js","id":"lodash/object/findLastKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createFindKey.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/forIn.js","id":"lodash/object/forIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/internal/createForIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/forInRight.js","id":"lodash/object/forInRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/internal/createForIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/forOwn.js","id":"lodash/object/forOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createForOwn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/forOwnRight.js","id":"lodash/object/forOwnRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createForOwn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/functions.js","id":"lodash/object/functions.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFunctions.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/get.js","id":"lodash/object/get.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/has.js","id":"lodash/object/has.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isKey.js","lodash/internal/isLength.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/invert.js","id":"lodash/object/invert.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/keys.js","id":"lodash/object/keys.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js","lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/internal/shimKeys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/keysIn.js","id":"lodash/object/keysIn.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/mapKeys.js","id":"lodash/object/mapKeys.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createObjectMapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/mapValues.js","id":"lodash/object/mapValues.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createObjectMapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/merge.js","id":"lodash/object/merge.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMerge.js","lodash/internal/createAssigner.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/methods.js","id":"lodash/object/methods.js","options":{},"isModule":true,"requiredModules":["lodash/object/functions.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/omit.js","id":"lodash/object/omit.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseDifference.js","lodash/internal/baseFlatten.js","lodash/internal/bindCallback.js","lodash/object/keysIn.js","lodash/internal/pickByArray.js","lodash/internal/pickByCallback.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/pairs.js","id":"lodash/object/pairs.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/pick.js","id":"lodash/object/pick.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/bindCallback.js","lodash/internal/pickByArray.js","lodash/internal/pickByCallback.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/result.js","id":"lodash/object/result.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/lang/isFunction.js","lodash/internal/isKey.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/set.js","id":"lodash/object/set.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIndex.js","lodash/internal/isKey.js","lodash/lang/isObject.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/transform.js","id":"lodash/object/transform.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseCallback.js","lodash/internal/baseCreate.js","lodash/internal/baseForOwn.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/lang/isObject.js","lodash/lang/isTypedArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/values.js","id":"lodash/object/values.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseValues.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object/valuesIn.js","id":"lodash/object/valuesIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseValues.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/object.js","id":"lodash/object.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","lodash/object/create.js","lodash/object/defaults.js","lodash/object/defaultsDeep.js","lodash/object/extend.js","lodash/object/findKey.js","lodash/object/findLastKey.js","lodash/object/forIn.js","lodash/object/forInRight.js","lodash/object/forOwn.js","lodash/object/forOwnRight.js","lodash/object/functions.js","lodash/object/get.js","lodash/object/has.js","lodash/object/invert.js","lodash/object/keys.js","lodash/object/keysIn.js","lodash/object/mapKeys.js","lodash/object/mapValues.js","lodash/object/merge.js","lodash/object/methods.js","lodash/object/omit.js","lodash/object/pairs.js","lodash/object/pick.js","lodash/object/result.js","lodash/object/set.js","lodash/object/transform.js","lodash/object/values.js","lodash/object/valuesIn.js"],"mtime":1438668224000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/package.json","data":{"name":"lodash","version":"3.10.1","description":"The modern build of lodash modular utilities.","homepage":"https://lodash.com/","icon":"https://lodash.com/icon.svg","license":"MIT","main":"index.js","keywords":["modules","stdlib","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Benjamin Tan","email":"demoneaux@gmail.com","url":"https://d10.github.io/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"https://mathiasbynens.be/"}],"repository":{"type":"git","url":"git+https://github.com/lodash/lodash.git"},"scripts":{"test":"echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""},"bugs":{"url":"https://github.com/lodash/lodash/issues"},"_id":"lodash@3.10.1","_shasum":"5bf45e8e49ba4189e17d482789dfd15bd140b7b6","_from":"lodash@>=3.10.0 <3.11.0","_npmVersion":"2.13.1","_nodeVersion":"0.12.5","_npmUser":{"name":"jdalton","email":"john.david.dalton@gmail.com"},"maintainers":[{"name":"jdalton","email":"john.david.dalton@gmail.com"},{"name":"mathias","email":"mathias@qiwi.be"},{"name":"phated","email":"blaine@iceddev.com"},{"name":"kitcambridge","email":"github@kitcambridge.be"},{"name":"d10","email":"demoneaux@gmail.com"}],"dist":{"shasum":"5bf45e8e49ba4189e17d482789dfd15bd140b7b6","tarball":"http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/camelCase.js","id":"lodash/string/camelCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/capitalize.js","id":"lodash/string/capitalize.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/deburr.js","id":"lodash/string/deburr.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/deburrLetter.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/endsWith.js","id":"lodash/string/endsWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/escape.js","id":"lodash/string/escape.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/escapeHtmlChar.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/escapeRegExp.js","id":"lodash/string/escapeRegExp.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/escapeRegExpChar.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/kebabCase.js","id":"lodash/string/kebabCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/pad.js","id":"lodash/string/pad.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPadding.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/padLeft.js","id":"lodash/string/padLeft.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPadDir.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/padRight.js","id":"lodash/string/padRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPadDir.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/parseInt.js","id":"lodash/string/parseInt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js","lodash/string/trim.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/repeat.js","id":"lodash/string/repeat.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/snakeCase.js","id":"lodash/string/snakeCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/startCase.js","id":"lodash/string/startCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/startsWith.js","id":"lodash/string/startsWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/template.js","id":"lodash/string/template.js","options":{},"isModule":true,"requiredModules":["lodash/internal/assignOwnDefaults.js","lodash/internal/assignWith.js","lodash/utility/attempt.js","lodash/internal/baseAssign.js","lodash/internal/baseToString.js","lodash/internal/baseValues.js","lodash/internal/escapeStringChar.js","lodash/lang/isError.js","lodash/internal/isIterateeCall.js","lodash/object/keys.js","lodash/internal/reInterpolate.js","lodash/string/templateSettings.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/templateSettings.js","id":"lodash/string/templateSettings.js","options":{},"isModule":true,"requiredModules":["lodash/string/escape.js","lodash/internal/reEscape.js","lodash/internal/reEvaluate.js","lodash/internal/reInterpolate.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/trim.js","id":"lodash/string/trim.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsLeftIndex.js","lodash/internal/charsRightIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedLeftIndex.js","lodash/internal/trimmedRightIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/trimLeft.js","id":"lodash/string/trimLeft.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsLeftIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedLeftIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/trimRight.js","id":"lodash/string/trimRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsRightIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedRightIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/trunc.js","id":"lodash/string/trunc.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/isIterateeCall.js","lodash/lang/isObject.js","lodash/lang/isRegExp.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/unescape.js","id":"lodash/string/unescape.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/unescapeHtmlChar.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string/words.js","id":"lodash/string/words.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/string.js","id":"lodash/string.js","options":{},"isModule":true,"requiredModules":["lodash/string/camelCase.js","lodash/string/capitalize.js","lodash/string/deburr.js","lodash/string/endsWith.js","lodash/string/escape.js","lodash/string/escapeRegExp.js","lodash/string/kebabCase.js","lodash/string/pad.js","lodash/string/padLeft.js","lodash/string/padRight.js","lodash/string/parseInt.js","lodash/string/repeat.js","lodash/string/snakeCase.js","lodash/string/startCase.js","lodash/string/startsWith.js","lodash/string/template.js","lodash/string/templateSettings.js","lodash/string/trim.js","lodash/string/trimLeft.js","lodash/string/trimRight.js","lodash/string/trunc.js","lodash/string/unescape.js","lodash/string/words.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/support.js","id":"lodash/support.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/attempt.js","id":"lodash/utility/attempt.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isError.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/callback.js","id":"lodash/utility/callback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/isIterateeCall.js","lodash/internal/isObjectLike.js","lodash/utility/matches.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/constant.js","id":"lodash/utility/constant.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/identity.js","id":"lodash/utility/identity.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/iteratee.js","id":"lodash/utility/iteratee.js","options":{},"isModule":true,"requiredModules":["lodash/utility/callback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/matches.js","id":"lodash/utility/matches.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/baseMatches.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/matchesProperty.js","id":"lodash/utility/matchesProperty.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/baseMatchesProperty.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/method.js","id":"lodash/utility/method.js","options":{},"isModule":true,"requiredModules":["lodash/internal/invokePath.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/methodOf.js","id":"lodash/utility/methodOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/invokePath.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/mixin.js","id":"lodash/utility/mixin.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/arrayPush.js","lodash/internal/baseFunctions.js","lodash/lang/isFunction.js","lodash/lang/isObject.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/noop.js","id":"lodash/utility/noop.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/property.js","id":"lodash/utility/property.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseProperty.js","lodash/internal/basePropertyDeep.js","lodash/internal/isKey.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/propertyOf.js","id":"lodash/utility/propertyOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/range.js","id":"lodash/utility/range.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/times.js","id":"lodash/utility/times.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility/uniqueId.js","id":"lodash/utility/uniqueId.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/lodash/utility.js","id":"lodash/utility.js","options":{},"isModule":true,"requiredModules":["lodash/utility/attempt.js","lodash/utility/callback.js","lodash/utility/constant.js","lodash/utility/identity.js","lodash/utility/iteratee.js","lodash/utility/matches.js","lodash/utility/matchesProperty.js","lodash/utility/method.js","lodash/utility/methodOf.js","lodash/utility/mixin.js","lodash/utility/noop.js","lodash/utility/property.js","lodash/utility/propertyOf.js","lodash/utility/range.js","lodash/utility/times.js","lodash/utility/uniqueId.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1388359679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["isarray/index.js","buffer","events","stream","core-util-is/lib/util.js","inherits/inherits.js","string_decoder/index.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["buffer","core-util-is/lib/util.js","inherits/inherits.js","stream","readable-stream/lib/_stream_duplex.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is.git"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","dist":{"shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","tarball":"http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"},"_from":"core-util-is@>=1.0.0 <1.1.0","_npmVersion":"1.3.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.0 <3.0.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","gitHead":"d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@>=0.10.0 <0.11.0","_npmVersion":"1.4.23","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"substack","email":"mail@substack.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","tarball":"http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"1.0.33","description":"Streams2, a user-land copy of the stream library from Node.js v0.10.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","isarray":"0.0.1","string_decoder":"~0.10.x","inherits":"~2.0.1"},"devDependencies":{"tap":"~0.2.6"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/readable-stream.git"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","gitHead":"0bf97a117c5646556548966409ebc57a6dda2638","bugs":{"url":"https://github.com/isaacs/readable-stream/issues"},"homepage":"https://github.com/isaacs/readable-stream","_id":"readable-stream@1.0.33","_shasum":"3a360dd66c1b1d7fd4705389860eda1d0f61126c","_from":"readable-stream@>=1.0.26 <1.1.0","_npmVersion":"1.4.28","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"tootallnate","email":"nathan@tootallnate.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"3a360dd66c1b1d7fd4705389860eda1d0f61126c","tarball":"http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz","readme":"ERROR: No README data found!"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["stream","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1414231442000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/extract.js","id":"tar-stream/extract.js","options":{},"isModule":true,"requiredModules":["util/util.js","bl/bl.js","xtend/immutable.js","tar-stream/headers.js","readable-stream/readable.js"],"mtime":1434031379000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/headers.js","id":"tar-stream/headers.js","options":{},"isModule":true,"mtime":1434031379000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/index.js","id":"tar-stream/index.js","options":{},"isModule":true,"requiredModules":["tar-stream/extract.js","tar-stream/pack.js"],"mtime":1434031379000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/bl/bl.js","id":"bl/bl.js","options":{},"isModule":true,"requiredModules":["readable-stream/duplex.js","util/util.js"],"mtime":1421716653000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/bl/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/bl/package.json","data":{"name":"bl","version":"1.0.0","description":"Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!","main":"bl.js","scripts":{"test":"node test/test.js | faucet","test-local":"brtapsauce-local test/basic-test.js"},"repository":{"type":"git","url":"git+https://github.com/rvagg/bl.git"},"homepage":"https://github.com/rvagg/bl","authors":["Rod Vagg <rod@vagg.org> (https://github.com/rvagg)","Matteo Collina <matteo.collina@gmail.com> (https://github.com/mcollina)","Jarett Cruger <jcrugzz@gmail.com> (https://github.com/jcrugzz)"],"keywords":["buffer","buffers","stream","awesomesauce"],"license":"MIT","dependencies":{"readable-stream":"~2.0.0"},"devDependencies":{"tape":"~2.12.3","hash_file":"~0.1.1","faucet":"~0.0.1","brtapsauce":"~0.3.0"},"readme":"# bl *(BufferList)*\n\n[![Build Status](https://travis-ci.org/rvagg/bl.svg?branch=master)](https://travis-ci.org/rvagg/bl)\n\n**A Node.js Buffer list collector, reader and streamer thingy.**\n\n[![NPM](https://nodei.co/npm/bl.png?downloads=true&downloadRank=true)](https://nodei.co/npm/bl/)\n[![NPM](https://nodei.co/npm-dl/bl.png?months=6&height=3)](https://nodei.co/npm/bl/)\n\n**bl** is a storage object for collections of Node Buffers, exposing them with the main Buffer readable API. Also works as a duplex stream so you can collect buffers from a stream that emits them and emit buffers to a stream that consumes them!\n\nThe original buffers are kept intact and copies are only done as necessary. Any reads that require the use of a single original buffer will return a slice of that buffer only (which references the same memory as the original buffer). Reads that span buffers perform concatenation as required and return the results transparently.\n\n```js\nconst BufferList = require('bl')\n\nvar bl = new BufferList()\nbl.append(new Buffer('abcd'))\nbl.append(new Buffer('efg'))\nbl.append('hi')                     // bl will also accept & convert Strings\nbl.append(new Buffer('j'))\nbl.append(new Buffer([ 0x3, 0x4 ]))\n\nconsole.log(bl.length) // 12\n\nconsole.log(bl.slice(0, 10).toString('ascii')) // 'abcdefghij'\nconsole.log(bl.slice(3, 10).toString('ascii')) // 'defghij'\nconsole.log(bl.slice(3, 6).toString('ascii'))  // 'def'\nconsole.log(bl.slice(3, 8).toString('ascii'))  // 'defgh'\nconsole.log(bl.slice(5, 10).toString('ascii')) // 'fghij'\n\n// or just use toString!\nconsole.log(bl.toString())               // 'abcdefghij\\u0003\\u0004'\nconsole.log(bl.toString('ascii', 3, 8))  // 'defgh'\nconsole.log(bl.toString('ascii', 5, 10)) // 'fghij'\n\n// other standard Buffer readables\nconsole.log(bl.readUInt16BE(10)) // 0x0304\nconsole.log(bl.readUInt16LE(10)) // 0x0403\n```\n\nGive it a callback in the constructor and use it just like **[concat-stream](https://github.com/maxogden/node-concat-stream)**:\n\n```js\nconst bl = require('bl')\n    , fs = require('fs')\n\nfs.createReadStream('README.md')\n  .pipe(bl(function (err, data) { // note 'new' isn't strictly required\n    // `data` is a complete Buffer object containing the full data\n    console.log(data.toString())\n  }))\n```\n\nNote that when you use the *callback* method like this, the resulting `data` parameter is a concatenation of all `Buffer` objects in the list. If you want to avoid the overhead of this concatenation (in cases of extreme performance consciousness), then avoid the *callback* method and just listen to `'end'` instead, like a standard Stream.\n\nOr to fetch a URL using [hyperquest](https://github.com/substack/hyperquest) (should work with [request](http://github.com/mikeal/request) and even plain Node http too!):\n```js\nconst hyperquest = require('hyperquest')\n    , bl         = require('bl')\n    , url        = 'https://raw.github.com/rvagg/bl/master/README.md'\n\nhyperquest(url).pipe(bl(function (err, data) {\n  console.log(data.toString())\n}))\n```\n\nOr, use it as a readable stream to recompose a list of Buffers to an output source:\n\n```js\nconst BufferList = require('bl')\n    , fs         = require('fs')\n\nvar bl = new BufferList()\nbl.append(new Buffer('abcd'))\nbl.append(new Buffer('efg'))\nbl.append(new Buffer('hi'))\nbl.append(new Buffer('j'))\n\nbl.pipe(fs.createWriteStream('gibberish.txt'))\n```\n\n## API\n\n  * <a href=\"#ctor\"><code><b>new BufferList([ callback ])</b></code></a>\n  * <a href=\"#length\"><code>bl.<b>length</b></code></a>\n  * <a href=\"#append\"><code>bl.<b>append(buffer)</b></code></a>\n  * <a href=\"#get\"><code>bl.<b>get(index)</b></code></a>\n  * <a href=\"#slice\"><code>bl.<b>slice([ start[, end ] ])</b></code></a>\n  * <a href=\"#copy\"><code>bl.<b>copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ])</b></code></a>\n  * <a href=\"#duplicate\"><code>bl.<b>duplicate()</b></code></a>\n  * <a href=\"#consume\"><code>bl.<b>consume(bytes)</b></code></a>\n  * <a href=\"#toString\"><code>bl.<b>toString([encoding, [ start, [ end ]]])</b></code></a>\n  * <a href=\"#readXX\"><code>bl.<b>readDoubleBE()</b></code>, <code>bl.<b>readDoubleLE()</b></code>, <code>bl.<b>readFloatBE()</b></code>, <code>bl.<b>readFloatLE()</b></code>, <code>bl.<b>readInt32BE()</b></code>, <code>bl.<b>readInt32LE()</b></code>, <code>bl.<b>readUInt32BE()</b></code>, <code>bl.<b>readUInt32LE()</b></code>, <code>bl.<b>readInt16BE()</b></code>, <code>bl.<b>readInt16LE()</b></code>, <code>bl.<b>readUInt16BE()</b></code>, <code>bl.<b>readUInt16LE()</b></code>, <code>bl.<b>readInt8()</b></code>, <code>bl.<b>readUInt8()</b></code></a>\n  * <a href=\"#streams\">Streams</a>\n\n--------------------------------------------------------\n<a name=\"ctor\"></a>\n### new BufferList([ callback | buffer | buffer array ])\nThe constructor takes an optional callback, if supplied, the callback will be called with an error argument followed by a reference to the **bl** instance, when `bl.end()` is called (i.e. from a piped stream). This is a convenient method of collecting the entire contents of a stream, particularly when the stream is *chunky*, such as a network stream.\n\nNormally, no arguments are required for the constructor, but you can initialise the list by passing in a single `Buffer` object or an array of `Buffer` object.\n\n`new` is not strictly required, if you don't instantiate a new object, it will be done automatically for you so you can create a new instance simply with:\n\n```js\nvar bl = require('bl')\nvar myinstance = bl()\n\n// equivilant to:\n\nvar BufferList = require('bl')\nvar myinstance = new BufferList()\n```\n\n--------------------------------------------------------\n<a name=\"length\"></a>\n### bl.length\nGet the length of the list in bytes. This is the sum of the lengths of all of the buffers contained in the list, minus any initial offset for a semi-consumed buffer at the beginning. Should accurately represent the total number of bytes that can be read from the list.\n\n--------------------------------------------------------\n<a name=\"append\"></a>\n### bl.append(buffer)\n`append(buffer)` adds an additional buffer or BufferList to the internal list.\n\n--------------------------------------------------------\n<a name=\"get\"></a>\n### bl.get(index)\n`get()` will return the byte at the specified index.\n\n--------------------------------------------------------\n<a name=\"slice\"></a>\n### bl.slice([ start, [ end ] ])\n`slice()` returns a new `Buffer` object containing the bytes within the range specified. Both `start` and `end` are optional and will default to the beginning and end of the list respectively.\n\nIf the requested range spans a single internal buffer then a slice of that buffer will be returned which shares the original memory range of that Buffer. If the range spans multiple buffers then copy operations will likely occur to give you a uniform Buffer.\n\n--------------------------------------------------------\n<a name=\"copy\"></a>\n### bl.copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ])\n`copy()` copies the content of the list in the `dest` buffer, starting from `destStart` and containing the bytes within the range specified with `srcStart` to `srcEnd`. `destStart`, `start` and `end` are optional and will default to the beginning of the `dest` buffer, and the beginning and end of the list respectively.\n\n--------------------------------------------------------\n<a name=\"duplicate\"></a>\n### bl.duplicate()\n`duplicate()` performs a **shallow-copy** of the list. The internal Buffers remains the same, so if you change the underlying Buffers, the change will be reflected in both the original and the duplicate. This method is needed if you want to call `consume()` or `pipe()` and still keep the original list.Example:\n\n```js\nvar bl = new BufferList()\n\nbl.append('hello')\nbl.append(' world')\nbl.append('\\n')\n\nbl.duplicate().pipe(process.stdout, { end: false })\n\nconsole.log(bl.toString())\n```\n\n--------------------------------------------------------\n<a name=\"consume\"></a>\n### bl.consume(bytes)\n`consume()` will shift bytes *off the start of the list*. The number of bytes consumed don't need to line up with the sizes of the internal Buffers&mdash;initial offsets will be calculated accordingly in order to give you a consistent view of the data.\n\n--------------------------------------------------------\n<a name=\"toString\"></a>\n### bl.toString([encoding, [ start, [ end ]]])\n`toString()` will return a string representation of the buffer. The optional `start` and `end` arguments are passed on to `slice()`, while the `encoding` is passed on to `toString()` of the resulting Buffer. See the [Buffer#toString()](http://nodejs.org/docs/latest/api/buffer.html#buffer_buf_tostring_encoding_start_end) documentation for more information.\n\n--------------------------------------------------------\n<a name=\"readXX\"></a>\n### bl.readDoubleBE(), bl.readDoubleLE(), bl.readFloatBE(), bl.readFloatLE(), bl.readInt32BE(), bl.readInt32LE(), bl.readUInt32BE(), bl.readUInt32LE(), bl.readInt16BE(), bl.readInt16LE(), bl.readUInt16BE(), bl.readUInt16LE(), bl.readInt8(), bl.readUInt8()\n\nAll of the standard byte-reading methods of the `Buffer` interface are implemented and will operate across internal Buffer boundaries transparently.\n\nSee the <b><code>[Buffer](http://nodejs.org/docs/latest/api/buffer.html)</code></b> documentation for how these work.\n\n--------------------------------------------------------\n<a name=\"streams\"></a>\n### Streams\n**bl** is a Node **[Duplex Stream](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_duplex)**, so it can be read from and written to like a standard Node stream. You can also `pipe()` to and from a **bl** instance.\n\n--------------------------------------------------------\n\n## Contributors\n\n**bl** is brought to you by the following hackers:\n\n * [Rod Vagg](https://github.com/rvagg)\n * [Matteo Collina](https://github.com/mcollina)\n * [Jarett Cruger](https://github.com/jcrugzz)\n\n=======\n\n<a name=\"license\"></a>\n## License &amp; copyright\n\nCopyright (c) 2013-2014 bl contributors (listed above).\n\nbl is licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/bl/issues"},"_id":"bl@1.0.0","_shasum":"ada9a8a89a6d7ac60862f7dec7db207873e0c3f5","_from":"bl@>=1.0.0 <2.0.0","_resolved":"https://registry.npmjs.org/bl/-/bl-1.0.0.tgz"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/bl/test/basic-test.js","id":"bl/test/basic-test.js","options":{},"isModule":true,"requiredModules":["tape","crypto","fs","hash_file","bl/bl.js"],"mtime":1406032064000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/bl/test/sauce.js","id":"bl/test/sauce.js","options":{},"isModule":true,"requiredModules":["path","brtapsauce"],"mtime":1389099203000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/bl/test/test.js","id":"bl/test/test.js","options":{},"isModule":true,"requiredModules":["bl/test/basic-test.js","bl/test/sauce.js"],"mtime":1389099197000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/index.js","id":"end-of-stream/index.js","options":{},"isModule":true,"requiredModules":["once/once.js"],"mtime":1410114060000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/package.json","data":{"name":"wrappy","version":"1.0.1","description":"Callback wrapping utility","main":"wrappy.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^0.4.12"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/npm/wrappy.git"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/wrappy/issues"},"homepage":"https://github.com/npm/wrappy","gitHead":"006a8cbac6b99988315834c207896eed71fd069a","_id":"wrappy@1.0.1","_shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","_from":"wrappy@>=1.0.0 <2.0.0","_npmVersion":"2.0.0","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","tarball":"http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"},"_resolved":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/test/basic.js","id":"wrappy/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","wrappy/wrappy.js"],"mtime":1411082093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/wrappy.js","id":"wrappy/wrappy.js","options":{},"isModule":true,"mtime":1411082022000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/once.js","id":"once/once.js","options":{},"isModule":true,"requiredModules":["wrappy/wrappy.js"],"mtime":1411081488000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/package.json","data":{"name":"once","version":"1.3.2","description":"Run a function exactly one time","main":"once.js","directories":{"test":"test"},"dependencies":{"wrappy":"1"},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/once.git"},"keywords":["once","function","one","single"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","gitHead":"e35eed5a7867574e2bf2260a1ba23970958b22f2","bugs":{"url":"https://github.com/isaacs/once/issues"},"homepage":"https://github.com/isaacs/once#readme","_id":"once@1.3.2","_shasum":"d8feeca93b039ec1dcdee7741c92bdac5e28081b","_from":"once@>=1.3.0 <1.4.0","_npmVersion":"2.9.1","_nodeVersion":"2.0.0","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"d8feeca93b039ec1dcdee7741c92bdac5e28081b","tarball":"http://registry.npmjs.org/once/-/once-1.3.2.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_resolved":"https://registry.npmjs.org/once/-/once-1.3.2.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/node_modules/once/test/once.js","id":"once/test/once.js","options":{},"isModule":true,"requiredModules":["tap","once/once.js"],"mtime":1411081564000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/package.json","data":{"name":"end-of-stream","version":"1.1.0","description":"Call a callback when a readable/writable/duplex stream has completed or failed.","repository":{"type":"git","url":"git://github.com/mafintosh/end-of-stream.git"},"dependencies":{"once":"~1.3.0"},"scripts":{"test":"node test.js"},"keywords":["stream","streams","callback","finish","close","end","wait"],"bugs":{"url":"https://github.com/mafintosh/end-of-stream/issues"},"homepage":"https://github.com/mafintosh/end-of-stream","main":"index.js","author":{"name":"Mathias Buus","email":"mathiasbuus@gmail.com"},"license":"MIT","readme":"# end-of-stream\n\nA node module that calls a callback when a readable/writable/duplex stream has completed or failed.\n\n\tnpm install end-of-stream\n\n## Usage\n\nSimply pass a stream and a callback to the `eos`.\nBoth legacy streams and streams2 are supported.\n\n``` js\nvar eos = require('end-of-stream');\n\neos(readableStream, function(err) {\n\tif (err) return console.log('stream had an error or closed early');\n\tconsole.log('stream has ended');\n});\n\neos(writableStream, function(err) {\n\tif (err) return console.log('stream had an error or closed early');\n\tconsole.log('stream has finished');\n});\n\neos(duplexStream, function(err) {\n\tif (err) return console.log('stream had an error or closed early');\n\tconsole.log('stream has ended and finished');\n});\n\neos(duplexStream, {readable:false}, function(err) {\n\tif (err) return console.log('stream had an error or closed early');\n\tconsole.log('stream has ended but might still be writable');\n});\n\neos(duplexStream, {writable:false}, function(err) {\n\tif (err) return console.log('stream had an error or closed early');\n\tconsole.log('stream has ended but might still be readable');\n});\n\neos(readableStream, {error:false}, function(err) {\n\t// do not treat emit('error', err) as a end-of-stream\n});\n```\n\n## License\n\nMIT","readmeFilename":"README.md","_id":"end-of-stream@1.1.0","_shasum":"e9353258baa9108965efc41cb0ef8ade2f3cfb07","_from":"end-of-stream@>=1.0.0 <2.0.0","_resolved":"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/end-of-stream/test.js","id":"end-of-stream/test.js","options":{},"isModule":true,"requiredModules":["assert","end-of-stream/index.js","fs","child_process","net"],"mtime":1410113676000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","isarray/index.js","buffer","events","core-util-is/lib/util.js","inherits/inherits.js","util/util.js","readable-stream/lib/_stream_duplex.js","string_decoder/index.js"],"mtime":1437057008000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","buffer","core-util-is/lib/util.js","inherits/inherits.js","events","readable-stream/lib/_stream_duplex.js","util-deprecate/node.js"],"mtime":1437057008000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is.git"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","dist":{"shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","tarball":"http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"},"_from":"core-util-is@>=1.0.0 <1.1.0","_npmVersion":"1.3.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.1 <2.1.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/process-nextick-args/index.js","id":"process-nextick-args/index.js","options":{},"isModule":true,"mtime":1441824185000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json","data":{"name":"process-nextick-args","version":"1.0.3","description":"process.nextTick but always with args","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/calvinmetcalf/process-nextick-args.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/calvinmetcalf/process-nextick-args/issues"},"homepage":"https://github.com/calvinmetcalf/process-nextick-args","devDependencies":{"tap":"~0.2.6"},"gitHead":"e855846a69662b9489f1ad3dde1ebf2ccc4370b8","_id":"process-nextick-args@1.0.3","_shasum":"e272eed825d5e9f4ea74d8d73b1fe311c3beb630","_from":"process-nextick-args@>=1.0.0 <1.1.0","_npmVersion":"2.9.0","_nodeVersion":"2.5.0","_npmUser":{"name":"cwmma","email":"calvin.metcalf@gmail.com"},"dist":{"shasum":"e272eed825d5e9f4ea74d8d73b1fe311c3beb630","tarball":"http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz"},"maintainers":[{"name":"cwmma","email":"calvin.metcalf@gmail.com"}],"directories":{},"_resolved":"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/process-nextick-args/test.js","id":"process-nextick-args/test.js","options":{},"isModule":true,"requiredModules":["tap","process-nextick-args/index.js"],"mtime":1441824185000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","gitHead":"d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@>=0.10.0 <0.11.0","_npmVersion":"1.4.23","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"substack","email":"mail@substack.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","tarball":"http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/util-deprecate/browser.js","id":"util-deprecate/browser.js","options":{},"isModule":true,"mtime":1416945976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/util-deprecate/node.js","id":"util-deprecate/node.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1416945941000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/util-deprecate/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/node_modules/util-deprecate/package.json","data":{"name":"util-deprecate","version":"1.0.1","description":"The Node.js `util.deprecate()` function with browser support","main":"node.js","browser":"browser.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/TooTallNate/util-deprecate.git"},"keywords":["util","deprecate","browserify","browser","node"],"author":{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io/"},"license":"MIT","bugs":{"url":"https://github.com/TooTallNate/util-deprecate/issues"},"homepage":"https://github.com/TooTallNate/util-deprecate","readme":"util-deprecate\n==============\n### The Node.js `util.deprecate()` function with browser support\n\nIn Node.js, this module simply re-exports the `util.deprecate()` function.\n\nIn the web browser (i.e. via browserify), a browser-specific implementation\nof the `util.deprecate()` function is used.\n\n\n## API\n\nA `deprecate()` function is the only thing exposed by this module.\n\n``` javascript\n// setup:\nexports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead');\n\n\n// users see:\nfoo();\n// foo() is deprecated, use bar() instead\nfoo();\nfoo();\n```\n\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","_id":"util-deprecate@1.0.1","_shasum":"3556a3d13c4c6aa7983d7e2425478197199b7881","_from":"util-deprecate@>=1.0.1 <1.1.0","_resolved":"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"},"mtime":1443817566000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"2.0.2","description":"Streams3, a user-land copy of the stream library from iojs v2.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","inherits":"~2.0.1","isarray":"0.0.1","process-nextick-args":"~1.0.0","string_decoder":"~0.10.x","util-deprecate":"~1.0.1"},"devDependencies":{"tap":"~0.2.6","tape":"~4.0.0","zuul":"~3.0.0"},"scripts":{"test":"tap test/parallel/*.js","browser":"zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js"},"repository":{"type":"git","url":"git://github.com/nodejs/readable-stream.git"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"license":"MIT","readme":"# readable-stream\n\n***Node-core streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream)\n\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)\n\n\n[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream)\n\n```bash\nnpm install --save readable-stream\n```\n\n***Node-core streams for userland***\n\nThis package is a mirror of the Streams2 and Streams3 implementations in\nNode-core, including [documentation](doc/stream.markdown).\n\nIf you want to guarantee a stable streams base, regardless of what version of\nNode you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).\n\nAs of version 2.0.0 **readable-stream** uses semantic versioning.  \n\n# Streams WG Team Members\n\n* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) &lt;christopher.s.dickinson@gmail.com&gt;\n  - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B\n* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;\n  - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242\n* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) &lt;rod@vagg.org&gt;\n  - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D\n* **Sam Newman** ([@sonewman](https://github.com/sonewman)) &lt;newmansam@outlook.com&gt;\n* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;\n* **Domenic Denicola** ([@domenic](https://github.com/domenic)) &lt;d@domenic.me&gt;\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/nodejs/readable-stream/issues"},"homepage":"https://github.com/nodejs/readable-stream","_id":"readable-stream@2.0.2","_shasum":"bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b","_from":"readable-stream@>=2.0.0 <3.0.0","_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1434936362000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/immutable.js","id":"xtend/immutable.js","options":{},"isModule":true,"mtime":1406840914000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/mutable.js","id":"xtend/mutable.js","options":{},"isModule":true,"mtime":1406840914000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/package.json","data":{"name":"xtend","version":"4.0.0","description":"extend like a boss","keywords":["extend","merge","options","opts","object","array"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/xtend.git"},"main":"immutable","scripts":{"test":"node test"},"dependencies":{},"devDependencies":{"tape":"~1.1.0"},"homepage":"https://github.com/Raynos/xtend","contributors":[{"name":"Jake Verbaten"},{"name":"Matt Esch"}],"bugs":{"url":"https://github.com/Raynos/xtend/issues","email":"raynos2@gmail.com"},"licenses":[{"type":"MIT","url":"http://github.com/raynos/xtend/raw/master/LICENSE"}],"testling":{"files":"test.js","browsers":["ie/7..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest"]},"engines":{"node":">=0.4"},"gitHead":"94a95d76154103290533b2c55ffa0fe4be16bfef","_id":"xtend@4.0.0","_shasum":"8bc36ff87aedbe7ce9eaf0bca36b2354a743840f","_from":"xtend@>=4.0.0 <5.0.0","_npmVersion":"1.4.15","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}],"dist":{"shasum":"8bc36ff87aedbe7ce9eaf0bca36b2354a743840f","tarball":"http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/node_modules/xtend/test.js","id":"xtend/test.js","options":{},"isModule":true,"requiredModules":["tape","xtend/immutable.js","xtend/mutable.js"],"mtime":1406840914000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/pack.js","id":"tar-stream/pack.js","options":{},"isModule":true,"requiredModules":["util/util.js","end-of-stream/index.js","tar-stream/headers.js","readable-stream/readable.js"],"mtime":1434031379000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/tar-stream/package.json","data":{"name":"tar-stream","version":"1.2.1","description":"tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.","author":{"name":"Mathias Buus","email":"mathiasbuus@gmail.com"},"engines":{"node":">= 0.8.0"},"dependencies":{"bl":"^1.0.0","end-of-stream":"^1.0.0","readable-stream":"^2.0.0","xtend":"^4.0.0"},"devDependencies":{"concat-stream":"^1.4.6","tape":"^3.0.3"},"scripts":{"test":"tape test/*.js"},"keywords":["tar","tarball","parse","parser","generate","generator","stream","stream2","streams","streams2","streaming","pack","extract","modify"],"bugs":{"url":"https://github.com/mafintosh/tar-stream/issues"},"homepage":"https://github.com/mafintosh/tar-stream","main":"index.js","files":["*.js","LICENSE"],"directories":{"test":"test"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/mafintosh/tar-stream.git"},"gitHead":"02bbe131f2c7df3fa1f44fecdf96d6241d0cf412","_id":"tar-stream@1.2.1","_shasum":"7b09e93b93f02bce74f060d5f2146ac7cccf6021","_from":"tar-stream@>=1.2.1 <1.3.0","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"dist":{"shasum":"7b09e93b93f02bce74f060d5f2146ac7cccf6021","tarball":"http://registry.npmjs.org/tar-stream/-/tar-stream-1.2.1.tgz"},"maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"},{"name":"maxogden","email":"max@maxogden.com"}],"_resolved":"https://registry.npmjs.org/tar-stream/-/tar-stream-1.2.1.tgz"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/lib/util/index.js","id":"zip-stream/lib/util/index.js","options":{},"isModule":true,"requiredModules":["fs","path","stream","readable-stream/readable.js","lodash/index.js"],"mtime":1423962567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/lib/zip-stream.js","id":"zip-stream/lib/zip-stream.js","options":{},"isModule":true,"requiredModules":["util/util.js","compress-commons/lib/compress-commons.js","zip-stream/lib/util/index.js"],"mtime":1423962572000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/archivers/archive-entry.js","id":"compress-commons/lib/archivers/archive-entry.js","options":{},"isModule":true,"mtime":1423964351000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/archivers/archive-output-stream.js","id":"compress-commons/lib/archivers/archive-output-stream.js","options":{},"isModule":true,"requiredModules":["util/util.js","readable-stream/readable.js","compress-commons/lib/archivers/archive-entry.js","compress-commons/lib/util/index.js"],"mtime":1423964356000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/archivers/zip/constants.js","id":"compress-commons/lib/archivers/zip/constants.js","options":{},"isModule":true,"mtime":1423964326000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js","id":"compress-commons/lib/archivers/zip/general-purpose-bit.js","options":{},"isModule":true,"requiredModules":["compress-commons/lib/archivers/zip/util.js"],"mtime":1423964330000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/archivers/zip/util.js","id":"compress-commons/lib/archivers/zip/util.js","options":{},"isModule":true,"requiredModules":["node-int64/Int64.js"],"mtime":1427299093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js","id":"compress-commons/lib/archivers/zip/zip-archive-entry.js","options":{},"isModule":true,"requiredModules":["util/util.js","compress-commons/lib/archivers/archive-entry.js","compress-commons/lib/archivers/zip/general-purpose-bit.js","compress-commons/lib/archivers/zip/constants.js","compress-commons/lib/archivers/zip/util.js"],"mtime":1423964339000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js","id":"compress-commons/lib/archivers/zip/zip-archive-output-stream.js","options":{},"isModule":true,"requiredModules":["util/util.js","buffer-crc32/index.js","crc32-stream/lib/index.js","compress-commons/lib/archivers/archive-output-stream.js","compress-commons/lib/archivers/zip/zip-archive-entry.js","compress-commons/lib/archivers/zip/general-purpose-bit.js","compress-commons/lib/archivers/zip/constants.js","compress-commons/lib/util/index.js","compress-commons/lib/archivers/zip/util.js"],"mtime":1423964344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/compress-commons.js","id":"compress-commons/lib/compress-commons.js","options":{},"isModule":true,"requiredModules":["compress-commons/lib/archivers/archive-entry.js","compress-commons/lib/archivers/zip/zip-archive-entry.js","compress-commons/lib/archivers/archive-output-stream.js","compress-commons/lib/archivers/zip/zip-archive-output-stream.js"],"mtime":1423964371000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/lib/util/index.js","id":"compress-commons/lib/util/index.js","options":{},"isModule":true,"requiredModules":["stream","readable-stream/readable.js"],"mtime":1423964366000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/crc32-stream/lib/crc32-stream.js","id":"crc32-stream/lib/crc32-stream.js","options":{},"isModule":true,"requiredModules":["util/util.js","readable-stream/readable.js","buffer-crc32/index.js"],"mtime":1423966423000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/crc32-stream/lib/deflate-crc32-stream.js","id":"crc32-stream/lib/deflate-crc32-stream.js","options":{},"isModule":true,"requiredModules":["zlib","util/util.js","buffer-crc32/index.js"],"mtime":1427297493000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/crc32-stream/lib/index.js","id":"crc32-stream/lib/index.js","options":{},"isModule":true,"requiredModules":["crc32-stream/lib/crc32-stream.js","crc32-stream/lib/deflate-crc32-stream.js"],"mtime":1423966443000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/crc32-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/crc32-stream/package.json","data":{"name":"crc32-stream","version":"0.3.4","description":"a streaming CRC32 checksumer","homepage":"https://github.com/archiverjs/node-crc32-stream","author":{"name":"Chris Talkington","url":"http://christalkington.com/"},"repository":{"type":"git","url":"git+https://github.com/archiverjs/node-crc32-stream.git"},"bugs":{"url":"https://github.com/archiverjs/node-crc32-stream/issues"},"license":"MIT","main":"lib/index.js","files":["lib"],"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --reporter dot"},"dependencies":{"readable-stream":"~1.0.24","buffer-crc32":"~0.2.1"},"devDependencies":{"chai":"~2.1.0","mocha":"~2.2.0"},"keywords":["crc32-stream","crc32","stream","checksum"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"gitHead":"2e31a846a5bb2db3849d85d3865dae837bbbaa3e","_id":"crc32-stream@0.3.4","_shasum":"73bc25b45fac1db6632231a7bfce8927e9f06552","_from":"crc32-stream@>=0.3.1 <0.4.0","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"ctalkington","email":"chris@christalkington.com"},"maintainers":[{"name":"ctalkington","email":"chris@christalkington.com"}],"dist":{"shasum":"73bc25b45fac1db6632231a7bfce8927e9f06552","tarball":"http://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/node-int64/Int64.js","id":"node-int64/Int64.js","options":{},"isModule":true,"mtime":1419254513000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/node-int64/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/node-int64/package.json","data":{"name":"node-int64","description":"Support for representing 64-bit integers in JavaScript","url":"http://github.com/broofa/node-int64","keywords":["math","integer","int64"],"author":{"name":"Robert Kieffer","email":"robert@broofa.com"},"contributors":[],"dependencies":{},"license":"MIT","lib":".","main":"./Int64.js","version":"0.3.3","scripts":{"test":"nodeunit test.js"},"repository":{"type":"git","url":"https://github.com/broofa/node-int64"},"devDependencies":{"nodeunit":"^0.9.0"},"gitHead":"21873768fb14d6ce954507f229e3db254328a183","bugs":{"url":"https://github.com/broofa/node-int64/issues"},"homepage":"https://github.com/broofa/node-int64","_id":"node-int64@0.3.3","_shasum":"2d6e6b2ece5de8588b43d88d1bc41b26cd1fa84d","_from":"node-int64@>=0.3.0 <0.4.0","_npmVersion":"1.4.28","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"maintainers":[{"name":"broofa","email":"robert@broofa.com"}],"dist":{"shasum":"2d6e6b2ece5de8588b43d88d1bc41b26cd1fa84d","tarball":"http://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/node_modules/node-int64/test.js","id":"node-int64/test.js","options":{},"isModule":true,"requiredModules":["assert","node-int64/Int64.js"],"mtime":1419256195000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/compress-commons/package.json","data":{"name":"compress-commons","version":"0.2.9","description":"a library that defines a common interface for working with archive formats within node","homepage":"https://github.com/archiverjs/node-compress-commons","author":{"name":"Chris Talkington","url":"http://christalkington.com/"},"repository":{"type":"git","url":"git+https://github.com/archiverjs/node-compress-commons.git"},"bugs":{"url":"https://github.com/archiverjs/node-compress-commons/issues"},"license":"MIT","main":"lib/compress-commons.js","files":["lib"],"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --reporter dot"},"dependencies":{"buffer-crc32":"~0.2.1","crc32-stream":"~0.3.1","node-int64":"~0.3.0","readable-stream":"~1.0.26"},"devDependencies":{"chai":"~2.1.0","mocha":"~2.2.0","rimraf":"~2.3.0","mkdirp":"~0.5.0"},"keywords":["compress","commons","archive"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"gitHead":"a6e2a81a5b250a6b127ee12fa5f1398689bcc9c4","_id":"compress-commons@0.2.9","_shasum":"422d927430c01abd06cd455b6dfc04cb4cf8003c","_from":"compress-commons@>=0.2.0 <0.3.0","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"ctalkington","email":"chris@christalkington.com"},"maintainers":[{"name":"ctalkington","email":"chris@christalkington.com"}],"dist":{"shasum":"422d927430c01abd06cd455b6dfc04cb4cf8003c","tarball":"http://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/chunk.js","id":"lodash/array/chunk.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/compact.js","id":"lodash/array/compact.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/difference.js","id":"lodash/array/difference.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/baseFlatten.js","lodash/lang/isArguments.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/drop.js","id":"lodash/array/drop.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/dropRight.js","id":"lodash/array/dropRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/dropRightWhile.js","id":"lodash/array/dropRightWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseSlice.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/dropWhile.js","id":"lodash/array/dropWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseSlice.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/fill.js","id":"lodash/array/fill.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFill.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/findIndex.js","id":"lodash/array/findIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/findLastIndex.js","id":"lodash/array/findLastIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/first.js","id":"lodash/array/first.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/flatten.js","id":"lodash/array/flatten.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/flattenDeep.js","id":"lodash/array/flattenDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/head.js","id":"lodash/array/head.js","options":{},"isModule":true,"requiredModules":["lodash/array/first.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/indexOf.js","id":"lodash/array/indexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/binaryIndex.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/initial.js","id":"lodash/array/initial.js","options":{},"isModule":true,"requiredModules":["lodash/array/dropRight.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/intersection.js","id":"lodash/array/intersection.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js","lodash/lang/isArguments.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/last.js","id":"lodash/array/last.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/lastIndexOf.js","id":"lodash/array/lastIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/binaryIndex.js","lodash/internal/indexOfNaN.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/object.js","id":"lodash/array/object.js","options":{},"isModule":true,"requiredModules":["lodash/array/zipObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/pull.js","id":"lodash/array/pull.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/pullAt.js","id":"lodash/array/pullAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/basePullAt.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/remove.js","id":"lodash/array/remove.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/rest.js","id":"lodash/array/rest.js","options":{},"isModule":true,"requiredModules":["lodash/array/drop.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/slice.js","id":"lodash/array/slice.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/sortedIndex.js","id":"lodash/array/sortedIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/binaryIndex.js","lodash/internal/binaryIndexBy.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/sortedLastIndex.js","id":"lodash/array/sortedLastIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/binaryIndex.js","lodash/internal/binaryIndexBy.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/tail.js","id":"lodash/array/tail.js","options":{},"isModule":true,"requiredModules":["lodash/array/rest.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/take.js","id":"lodash/array/take.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/takeRight.js","id":"lodash/array/takeRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/takeRightWhile.js","id":"lodash/array/takeRightWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseSlice.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/takeWhile.js","id":"lodash/array/takeWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseSlice.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/union.js","id":"lodash/array/union.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/baseUniq.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/uniq.js","id":"lodash/array/uniq.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseUniq.js","lodash/internal/isIterateeCall.js","lodash/internal/sortedUniq.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/unique.js","id":"lodash/array/unique.js","options":{},"isModule":true,"requiredModules":["lodash/array/uniq.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/unzip.js","id":"lodash/array/unzip.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/arrayMax.js","lodash/internal/baseProperty.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/without.js","id":"lodash/array/without.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/baseSlice.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/xor.js","id":"lodash/array/xor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/baseUniq.js","lodash/lang/isArguments.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/zip.js","id":"lodash/array/zip.js","options":{},"isModule":true,"requiredModules":["lodash/array/unzip.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array.js","id":"lodash/array.js","options":{},"isModule":true,"requiredModules":["lodash/array/chunk.js","lodash/array/compact.js","lodash/array/difference.js","lodash/array/drop.js","lodash/array/dropRight.js","lodash/array/dropRightWhile.js","lodash/array/dropWhile.js","lodash/array/fill.js","lodash/array/findIndex.js","lodash/array/findLastIndex.js","lodash/array/first.js","lodash/array/flatten.js","lodash/array/flattenDeep.js","lodash/array/head.js","lodash/array/indexOf.js","lodash/array/initial.js","lodash/array/intersection.js","lodash/array/last.js","lodash/array/lastIndexOf.js","lodash/array/object.js","lodash/array/pull.js","lodash/array/pullAt.js","lodash/array/remove.js","lodash/array/rest.js","lodash/array/slice.js","lodash/array/sortedIndex.js","lodash/array/sortedLastIndex.js","lodash/array/tail.js","lodash/array/take.js","lodash/array/takeRight.js","lodash/array/takeRightWhile.js","lodash/array/takeWhile.js","lodash/array/union.js","lodash/array/uniq.js","lodash/array/unique.js","lodash/array/unzip.js","lodash/array/without.js","lodash/array/xor.js","lodash/array/zip.js","lodash/array/zipObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/array/zipObject.js","id":"lodash/array/zipObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/chain.js","id":"lodash/chain/chain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/lodash.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/commit.js","id":"lodash/chain/commit.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperCommit.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/lodash.js","id":"lodash/chain/lodash.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/lang/isArray.js","lodash/internal/isObjectLike.js","lodash/internal/wrapperClone.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/plant.js","id":"lodash/chain/plant.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperPlant.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/reverse.js","id":"lodash/chain/reverse.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperReverse.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/run.js","id":"lodash/chain/run.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/tap.js","id":"lodash/chain/tap.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/thru.js","id":"lodash/chain/thru.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/toJSON.js","id":"lodash/chain/toJSON.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/toString.js","id":"lodash/chain/toString.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperToString.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/value.js","id":"lodash/chain/value.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/valueOf.js","id":"lodash/chain/valueOf.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/wrapperChain.js","id":"lodash/chain/wrapperChain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/chain.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/wrapperCommit.js","id":"lodash/chain/wrapperCommit.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LodashWrapper.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/wrapperPlant.js","id":"lodash/chain/wrapperPlant.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LodashWrapper.js","lodash/internal/wrapperClone.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/wrapperReverse.js","id":"lodash/chain/wrapperReverse.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/chain/thru.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/wrapperToString.js","id":"lodash/chain/wrapperToString.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain/wrapperValue.js","id":"lodash/chain/wrapperValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseWrapperValue.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/chain.js","id":"lodash/chain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/chain.js","lodash/chain/commit.js","lodash/chain/lodash.js","lodash/chain/plant.js","lodash/chain/reverse.js","lodash/chain/run.js","lodash/chain/tap.js","lodash/chain/thru.js","lodash/chain/toJSON.js","lodash/chain/toString.js","lodash/chain/value.js","lodash/chain/valueOf.js","lodash/chain/wrapperChain.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/all.js","id":"lodash/collection/all.js","options":{},"isModule":true,"requiredModules":["lodash/collection/every.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/any.js","id":"lodash/collection/any.js","options":{},"isModule":true,"requiredModules":["lodash/collection/some.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/at.js","id":"lodash/collection/at.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAt.js","lodash/internal/baseFlatten.js","lodash/internal/isLength.js","lodash/internal/toIterable.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/collect.js","id":"lodash/collection/collect.js","options":{},"isModule":true,"requiredModules":["lodash/collection/map.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/contains.js","id":"lodash/collection/contains.js","options":{},"isModule":true,"requiredModules":["lodash/collection/includes.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/countBy.js","id":"lodash/collection/countBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/detect.js","id":"lodash/collection/detect.js","options":{},"isModule":true,"requiredModules":["lodash/collection/find.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/each.js","id":"lodash/collection/each.js","options":{},"isModule":true,"requiredModules":["lodash/collection/forEach.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/eachRight.js","id":"lodash/collection/eachRight.js","options":{},"isModule":true,"requiredModules":["lodash/collection/forEachRight.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/every.js","id":"lodash/collection/every.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEvery.js","lodash/internal/baseCallback.js","lodash/internal/baseEvery.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/filter.js","id":"lodash/collection/filter.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/baseCallback.js","lodash/internal/baseFilter.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/find.js","id":"lodash/collection/find.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseEach.js","lodash/internal/baseFind.js","lodash/array/findIndex.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/findWhere.js","id":"lodash/collection/findWhere.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/collection/find.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/findLast.js","id":"lodash/collection/findLast.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseEachRight.js","lodash/internal/baseFind.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/foldl.js","id":"lodash/collection/foldl.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduce.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/foldr.js","id":"lodash/collection/foldr.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduceRight.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/forEach.js","id":"lodash/collection/forEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseEach.js","lodash/internal/bindCallback.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/forEachRight.js","id":"lodash/collection/forEachRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEachRight.js","lodash/internal/baseEachRight.js","lodash/internal/bindCallback.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/groupBy.js","id":"lodash/collection/groupBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/includes.js","id":"lodash/collection/includes.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/lang/isArray.js","lodash/internal/isLength.js","lodash/lang/isString.js","lodash/object/values.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/include.js","id":"lodash/collection/include.js","options":{},"isModule":true,"requiredModules":["lodash/collection/includes.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/indexBy.js","id":"lodash/collection/indexBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/inject.js","id":"lodash/collection/inject.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduce.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/invoke.js","id":"lodash/collection/invoke.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseInvoke.js","lodash/internal/baseSlice.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/map.js","id":"lodash/collection/map.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/max.js","id":"lodash/collection/max.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMax.js","lodash/internal/createExtremum.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/min.js","id":"lodash/collection/min.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMin.js","lodash/internal/createExtremum.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/partition.js","id":"lodash/collection/partition.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/pluck.js","id":"lodash/collection/pluck.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseProperty.js","lodash/collection/map.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/reduce.js","id":"lodash/collection/reduce.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayReduce.js","lodash/internal/baseCallback.js","lodash/internal/baseEach.js","lodash/internal/baseReduce.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/reduceRight.js","id":"lodash/collection/reduceRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayReduceRight.js","lodash/internal/baseCallback.js","lodash/internal/baseEachRight.js","lodash/internal/baseReduce.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/reject.js","id":"lodash/collection/reject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/baseCallback.js","lodash/internal/baseFilter.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/sample.js","id":"lodash/collection/sample.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/isIterateeCall.js","lodash/collection/shuffle.js","lodash/internal/toIterable.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/select.js","id":"lodash/collection/select.js","options":{},"isModule":true,"requiredModules":["lodash/collection/filter.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/shuffle.js","id":"lodash/collection/shuffle.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/toIterable.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/size.js","id":"lodash/collection/size.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/some.js","id":"lodash/collection/some.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySome.js","lodash/internal/baseCallback.js","lodash/internal/baseSome.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/sortBy.js","id":"lodash/collection/sortBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseEach.js","lodash/internal/baseSortBy.js","lodash/internal/compareAscending.js","lodash/internal/isIterateeCall.js","lodash/internal/isLength.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/sortByAll.js","id":"lodash/collection/sortByAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/baseFlatten.js","lodash/internal/baseSortBy.js","lodash/internal/compareMultipleAscending.js","lodash/internal/isIterateeCall.js","lodash/internal/isLength.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection/where.js","id":"lodash/collection/where.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/collection/filter.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/collection.js","id":"lodash/collection.js","options":{},"isModule":true,"requiredModules":["lodash/collection/all.js","lodash/collection/any.js","lodash/collection/at.js","lodash/collection/collect.js","lodash/collection/contains.js","lodash/collection/countBy.js","lodash/collection/detect.js","lodash/collection/each.js","lodash/collection/eachRight.js","lodash/collection/every.js","lodash/collection/filter.js","lodash/collection/find.js","lodash/collection/findLast.js","lodash/collection/findWhere.js","lodash/collection/foldl.js","lodash/collection/foldr.js","lodash/collection/forEach.js","lodash/collection/forEachRight.js","lodash/collection/groupBy.js","lodash/collection/include.js","lodash/collection/includes.js","lodash/collection/indexBy.js","lodash/collection/inject.js","lodash/collection/invoke.js","lodash/collection/map.js","lodash/collection/max.js","lodash/collection/min.js","lodash/collection/partition.js","lodash/collection/pluck.js","lodash/collection/reduce.js","lodash/collection/reduceRight.js","lodash/collection/reject.js","lodash/collection/sample.js","lodash/collection/select.js","lodash/collection/shuffle.js","lodash/collection/size.js","lodash/collection/some.js","lodash/collection/sortBy.js","lodash/collection/sortByAll.js","lodash/collection/where.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/date/now.js","id":"lodash/date/now.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/date.js","id":"lodash/date.js","options":{},"isModule":true,"requiredModules":["lodash/date/now.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/after.js","id":"lodash/function/after.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/ary.js","id":"lodash/function/ary.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/backflow.js","id":"lodash/function/backflow.js","options":{},"isModule":true,"requiredModules":["lodash/function/flowRight.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/before.js","id":"lodash/function/before.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/bind.js","id":"lodash/function/bind.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/bindAll.js","id":"lodash/function/bindAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseBindAll.js","lodash/internal/baseFlatten.js","lodash/object/functions.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/bindKey.js","id":"lodash/function/bindKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/compose.js","id":"lodash/function/compose.js","options":{},"isModule":true,"requiredModules":["lodash/function/flowRight.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/curry.js","id":"lodash/function/curry.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/curryRight.js","id":"lodash/function/curryRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/debounce.js","id":"lodash/function/debounce.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js","lodash/date/now.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/defer.js","id":"lodash/function/defer.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDelay.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/delay.js","id":"lodash/function/delay.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDelay.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/flow.js","id":"lodash/function/flow.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEvery.js","lodash/lang/isFunction.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/flowRight.js","id":"lodash/function/flowRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEvery.js","lodash/lang/isFunction.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/memoize.js","id":"lodash/function/memoize.js","options":{},"isModule":true,"requiredModules":["lodash/internal/MapCache.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/negate.js","id":"lodash/function/negate.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/once.js","id":"lodash/function/once.js","options":{},"isModule":true,"requiredModules":["lodash/function/before.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/partial.js","id":"lodash/function/partial.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/partialRight.js","id":"lodash/function/partialRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/rearg.js","id":"lodash/function/rearg.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/createWrapper.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/spread.js","id":"lodash/function/spread.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/throttle.js","id":"lodash/function/throttle.js","options":{},"isModule":true,"requiredModules":["lodash/function/debounce.js","lodash/lang/isObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function/wrap.js","id":"lodash/function/wrap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/utility/identity.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/function.js","id":"lodash/function.js","options":{},"isModule":true,"requiredModules":["lodash/function/after.js","lodash/function/ary.js","lodash/function/backflow.js","lodash/function/before.js","lodash/function/bind.js","lodash/function/bindAll.js","lodash/function/bindKey.js","lodash/function/compose.js","lodash/function/curry.js","lodash/function/curryRight.js","lodash/function/debounce.js","lodash/function/defer.js","lodash/function/delay.js","lodash/function/flow.js","lodash/function/flowRight.js","lodash/function/memoize.js","lodash/function/negate.js","lodash/function/once.js","lodash/function/partial.js","lodash/function/partialRight.js","lodash/function/rearg.js","lodash/function/spread.js","lodash/function/throttle.js","lodash/function/wrap.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/index.js","id":"lodash/index.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayCopy.js","id":"lodash/internal/arrayCopy.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayEach.js","id":"lodash/internal/arrayEach.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayEachRight.js","id":"lodash/internal/arrayEachRight.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayEvery.js","id":"lodash/internal/arrayEvery.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayFilter.js","id":"lodash/internal/arrayFilter.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayMap.js","id":"lodash/internal/arrayMap.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayMax.js","id":"lodash/internal/arrayMax.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayMin.js","id":"lodash/internal/arrayMin.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayReduce.js","id":"lodash/internal/arrayReduce.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arrayReduceRight.js","id":"lodash/internal/arrayReduceRight.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/arraySome.js","id":"lodash/internal/arraySome.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/assignDefaults.js","id":"lodash/internal/assignDefaults.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/assignOwnDefaults.js","id":"lodash/internal/assignOwnDefaults.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseAssign.js","id":"lodash/internal/baseAssign.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseAt.js","id":"lodash/internal/baseAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIndex.js","lodash/internal/isLength.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseBindAll.js","id":"lodash/internal/baseBindAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseCallback.js","id":"lodash/internal/baseCallback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/internal/baseMatchesProperty.js","lodash/internal/baseProperty.js","lodash/internal/bindCallback.js","lodash/utility/identity.js","lodash/internal/isBindable.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseClone.js","id":"lodash/internal/baseClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/arrayEach.js","lodash/internal/baseCopy.js","lodash/internal/baseForOwn.js","lodash/internal/initCloneArray.js","lodash/internal/initCloneByTag.js","lodash/internal/initCloneObject.js","lodash/lang/isArray.js","lodash/lang/isObject.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseCompareAscending.js","id":"lodash/internal/baseCompareAscending.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseCopy.js","id":"lodash/internal/baseCopy.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseCreate.js","id":"lodash/internal/baseCreate.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseDelay.js","id":"lodash/internal/baseDelay.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseDifference.js","id":"lodash/internal/baseDifference.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseEach.js","id":"lodash/internal/baseEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/isLength.js","lodash/internal/toObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseEachRight.js","id":"lodash/internal/baseEachRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/isLength.js","lodash/internal/toObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseEvery.js","id":"lodash/internal/baseEvery.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseFill.js","id":"lodash/internal/baseFill.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseFilter.js","id":"lodash/internal/baseFilter.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseFind.js","id":"lodash/internal/baseFind.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseFlatten.js","id":"lodash/internal/baseFlatten.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseFor.js","id":"lodash/internal/baseFor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseForIn.js","id":"lodash/internal/baseForIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/object/keysIn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseForOwn.js","id":"lodash/internal/baseForOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseForOwnRight.js","id":"lodash/internal/baseForOwnRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseForRight.js","id":"lodash/internal/baseForRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseFunctions.js","id":"lodash/internal/baseFunctions.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isFunction.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseIndexOf.js","id":"lodash/internal/baseIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/indexOfNaN.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseInvoke.js","id":"lodash/internal/baseInvoke.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/isLength.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseIsEqual.js","id":"lodash/internal/baseIsEqual.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqualDeep.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseIsEqualDeep.js","id":"lodash/internal/baseIsEqualDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/equalArrays.js","lodash/internal/equalByTag.js","lodash/internal/equalObjects.js","lodash/lang/isArray.js","lodash/lang/isTypedArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseIsMatch.js","id":"lodash/internal/baseIsMatch.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseMap.js","id":"lodash/internal/baseMap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseMatches.js","id":"lodash/internal/baseMatches.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsMatch.js","lodash/internal/isStrictComparable.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseMatchesProperty.js","id":"lodash/internal/baseMatchesProperty.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js","lodash/internal/isStrictComparable.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseMerge.js","id":"lodash/internal/baseMerge.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseForOwn.js","lodash/internal/baseMergeDeep.js","lodash/lang/isArray.js","lodash/internal/isLength.js","lodash/internal/isObjectLike.js","lodash/lang/isTypedArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseMergeDeep.js","id":"lodash/internal/baseMergeDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isLength.js","lodash/lang/isPlainObject.js","lodash/lang/isTypedArray.js","lodash/lang/toPlainObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseProperty.js","id":"lodash/internal/baseProperty.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/basePullAt.js","id":"lodash/internal/basePullAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAt.js","lodash/internal/baseCompareAscending.js","lodash/internal/isIndex.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseRandom.js","id":"lodash/internal/baseRandom.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseReduce.js","id":"lodash/internal/baseReduce.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseSetData.js","id":"lodash/internal/baseSetData.js","options":{},"isModule":true,"requiredModules":["lodash/utility/identity.js","lodash/internal/metaMap.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseSlice.js","id":"lodash/internal/baseSlice.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseSome.js","id":"lodash/internal/baseSome.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseSortBy.js","id":"lodash/internal/baseSortBy.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseToString.js","id":"lodash/internal/baseToString.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseUniq.js","id":"lodash/internal/baseUniq.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseValues.js","id":"lodash/internal/baseValues.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/baseWrapperValue.js","id":"lodash/internal/baseWrapperValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/binaryIndex.js","id":"lodash/internal/binaryIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/binaryIndexBy.js","lodash/utility/identity.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/binaryIndexBy.js","id":"lodash/internal/binaryIndexBy.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/bindCallback.js","id":"lodash/internal/bindCallback.js","options":{},"isModule":true,"requiredModules":["lodash/utility/identity.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/bufferClone.js","id":"lodash/internal/bufferClone.js","options":{},"isModule":true,"requiredModules":["lodash/utility/constant.js","lodash/lang/isNative.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/cacheIndexOf.js","id":"lodash/internal/cacheIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/cachePush.js","id":"lodash/internal/cachePush.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/charAtCallback.js","id":"lodash/internal/charAtCallback.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/charsLeftIndex.js","id":"lodash/internal/charsLeftIndex.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/charsRightIndex.js","id":"lodash/internal/charsRightIndex.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/compareAscending.js","id":"lodash/internal/compareAscending.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCompareAscending.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/compareMultipleAscending.js","id":"lodash/internal/compareMultipleAscending.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCompareAscending.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/composeArgs.js","id":"lodash/internal/composeArgs.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/composeArgsRight.js","id":"lodash/internal/composeArgsRight.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createAggregator.js","id":"lodash/internal/createAggregator.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseEach.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createAssigner.js","id":"lodash/internal/createAssigner.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createBindWrapper.js","id":"lodash/internal/createBindWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCtorWrapper.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createCache.js","id":"lodash/internal/createCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/SetCache.js","lodash/utility/constant.js","lodash/lang/isNative.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createCompounder.js","id":"lodash/internal/createCompounder.js","options":{},"isModule":true,"requiredModules":["lodash/string/deburr.js","lodash/string/words.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createCtorWrapper.js","id":"lodash/internal/createCtorWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/lang/isObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createExtremum.js","id":"lodash/internal/createExtremum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/charAtCallback.js","lodash/internal/extremumBy.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/lang/isString.js","lodash/internal/toIterable.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createHybridWrapper.js","id":"lodash/internal/createHybridWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/composeArgs.js","lodash/internal/composeArgsRight.js","lodash/internal/createCtorWrapper.js","lodash/internal/reorder.js","lodash/internal/replaceHolders.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createPad.js","id":"lodash/internal/createPad.js","options":{},"isModule":true,"requiredModules":["lodash/string/repeat.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createPartialWrapper.js","id":"lodash/internal/createPartialWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCtorWrapper.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/createWrapper.js","id":"lodash/internal/createWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/internal/createBindWrapper.js","lodash/internal/createHybridWrapper.js","lodash/internal/createPartialWrapper.js","lodash/internal/getData.js","lodash/internal/mergeData.js","lodash/internal/setData.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/deburrLetter.js","id":"lodash/internal/deburrLetter.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/equalArrays.js","id":"lodash/internal/equalArrays.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/equalByTag.js","id":"lodash/internal/equalByTag.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/equalObjects.js","id":"lodash/internal/equalObjects.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/escapeHtmlChar.js","id":"lodash/internal/escapeHtmlChar.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/escapeStringChar.js","id":"lodash/internal/escapeStringChar.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/extremumBy.js","id":"lodash/internal/extremumBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/getData.js","id":"lodash/internal/getData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/metaMap.js","lodash/utility/noop.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/getView.js","id":"lodash/internal/getView.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/indexOfNaN.js","id":"lodash/internal/indexOfNaN.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/initCloneArray.js","id":"lodash/internal/initCloneArray.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/initCloneByTag.js","id":"lodash/internal/initCloneByTag.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bufferClone.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/initCloneObject.js","id":"lodash/internal/initCloneObject.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/isBindable.js","id":"lodash/internal/isBindable.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/lang/isNative.js","lodash/support.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/isIndex.js","id":"lodash/internal/isIndex.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/isIterateeCall.js","id":"lodash/internal/isIterateeCall.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/lang/isObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/isLength.js","id":"lodash/internal/isLength.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/isObjectLike.js","id":"lodash/internal/isObjectLike.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/isSpace.js","id":"lodash/internal/isSpace.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/isStrictComparable.js","id":"lodash/internal/isStrictComparable.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/lazyClone.js","id":"lodash/internal/lazyClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/arrayCopy.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/lazyReverse.js","id":"lodash/internal/lazyReverse.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/lazyValue.js","id":"lodash/internal/lazyValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseWrapperValue.js","lodash/internal/getView.js","lodash/lang/isArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/LazyWrapper.js","id":"lodash/internal/LazyWrapper.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/LodashWrapper.js","id":"lodash/internal/LodashWrapper.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/MapCache.js","id":"lodash/internal/MapCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/mapDelete.js","lodash/internal/mapGet.js","lodash/internal/mapHas.js","lodash/internal/mapSet.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/mapDelete.js","id":"lodash/internal/mapDelete.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/mapGet.js","id":"lodash/internal/mapGet.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/mapHas.js","id":"lodash/internal/mapHas.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/mapSet.js","id":"lodash/internal/mapSet.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/mergeData.js","id":"lodash/internal/mergeData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/composeArgs.js","lodash/internal/composeArgsRight.js","lodash/internal/replaceHolders.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/metaMap.js","id":"lodash/internal/metaMap.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/pickByArray.js","id":"lodash/internal/pickByArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/pickByCallback.js","id":"lodash/internal/pickByCallback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForIn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/reEscape.js","id":"lodash/internal/reEscape.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/reEvaluate.js","id":"lodash/internal/reEvaluate.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/reInterpolate.js","id":"lodash/internal/reInterpolate.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/reorder.js","id":"lodash/internal/reorder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/isIndex.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/replaceHolders.js","id":"lodash/internal/replaceHolders.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/SetCache.js","id":"lodash/internal/SetCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/cachePush.js","lodash/lang/isNative.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/setData.js","id":"lodash/internal/setData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/date/now.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/shimIsPlainObject.js","id":"lodash/internal/shimIsPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForIn.js","lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/shimKeys.js","id":"lodash/internal/shimKeys.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/object/keysIn.js","lodash/support.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/sortedUniq.js","id":"lodash/internal/sortedUniq.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/toIterable.js","id":"lodash/internal/toIterable.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/lang/isObject.js","lodash/object/values.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/toObject.js","id":"lodash/internal/toObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/trimmedLeftIndex.js","id":"lodash/internal/trimmedLeftIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isSpace.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/trimmedRightIndex.js","id":"lodash/internal/trimmedRightIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isSpace.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/unescapeHtmlChar.js","id":"lodash/internal/unescapeHtmlChar.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/internal/wrapperClone.js","id":"lodash/internal/wrapperClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/internal/arrayCopy.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/clone.js","id":"lodash/lang/clone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/bindCallback.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/cloneDeep.js","id":"lodash/lang/cloneDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/bindCallback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isArguments.js","id":"lodash/lang/isArguments.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isArray.js","id":"lodash/lang/isArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/lang/isNative.js","lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isBoolean.js","id":"lodash/lang/isBoolean.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isDate.js","id":"lodash/lang/isDate.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isElement.js","id":"lodash/lang/isElement.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js","lodash/lang/isPlainObject.js","lodash/support.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isEmpty.js","id":"lodash/lang/isEmpty.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/internal/isLength.js","lodash/internal/isObjectLike.js","lodash/lang/isString.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isEqual.js","id":"lodash/lang/isEqual.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js","lodash/internal/bindCallback.js","lodash/internal/isStrictComparable.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isError.js","id":"lodash/lang/isError.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isFinite.js","id":"lodash/lang/isFinite.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isFunction.js","id":"lodash/lang/isFunction.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isMatch.js","id":"lodash/lang/isMatch.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsMatch.js","lodash/internal/bindCallback.js","lodash/internal/isStrictComparable.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isNaN.js","id":"lodash/lang/isNaN.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNumber.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isNative.js","id":"lodash/lang/isNative.js","options":{},"isModule":true,"requiredModules":["lodash/string/escapeRegExp.js","lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isNull.js","id":"lodash/lang/isNull.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isNumber.js","id":"lodash/lang/isNumber.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isObject.js","id":"lodash/lang/isObject.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isPlainObject.js","id":"lodash/lang/isPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js","lodash/internal/shimIsPlainObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isRegExp.js","id":"lodash/lang/isRegExp.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isString.js","id":"lodash/lang/isString.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isTypedArray.js","id":"lodash/lang/isTypedArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/isUndefined.js","id":"lodash/lang/isUndefined.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/toArray.js","id":"lodash/lang/toArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/isLength.js","lodash/object/values.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang/toPlainObject.js","id":"lodash/lang/toPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/object/keysIn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/lang.js","id":"lodash/lang.js","options":{},"isModule":true,"requiredModules":["lodash/lang/clone.js","lodash/lang/cloneDeep.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/lang/isBoolean.js","lodash/lang/isDate.js","lodash/lang/isElement.js","lodash/lang/isEmpty.js","lodash/lang/isEqual.js","lodash/lang/isError.js","lodash/lang/isFinite.js","lodash/lang/isFunction.js","lodash/lang/isMatch.js","lodash/lang/isNaN.js","lodash/lang/isNative.js","lodash/lang/isNull.js","lodash/lang/isNumber.js","lodash/lang/isObject.js","lodash/lang/isPlainObject.js","lodash/lang/isRegExp.js","lodash/lang/isString.js","lodash/lang/isTypedArray.js","lodash/lang/isUndefined.js","lodash/lang/toArray.js","lodash/lang/toPlainObject.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/number/random.js","id":"lodash/number/random.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/number.js","id":"lodash/number.js","options":{},"isModule":true,"requiredModules":["lodash/number/random.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/assign.js","id":"lodash/object/assign.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAssign.js","lodash/internal/createAssigner.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/create.js","id":"lodash/object/create.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/internal/baseCreate.js","lodash/internal/isIterateeCall.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/defaults.js","id":"lodash/object/defaults.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/object/assign.js","lodash/internal/assignDefaults.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/extend.js","id":"lodash/object/extend.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/findKey.js","id":"lodash/object/findKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFind.js","lodash/internal/baseForOwn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/findLastKey.js","id":"lodash/object/findLastKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFind.js","lodash/internal/baseForOwnRight.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/forIn.js","id":"lodash/object/forIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/internal/bindCallback.js","lodash/object/keysIn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/forInRight.js","id":"lodash/object/forInRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/internal/bindCallback.js","lodash/object/keysIn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/forOwn.js","id":"lodash/object/forOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/bindCallback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/forOwnRight.js","id":"lodash/object/forOwnRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/internal/bindCallback.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/functions.js","id":"lodash/object/functions.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFunctions.js","lodash/object/keysIn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/has.js","id":"lodash/object/has.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/invert.js","id":"lodash/object/invert.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/keys.js","id":"lodash/object/keys.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/lang/isNative.js","lodash/lang/isObject.js","lodash/internal/shimKeys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/keysIn.js","id":"lodash/object/keysIn.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/lang/isObject.js","lodash/support.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/mapValues.js","id":"lodash/object/mapValues.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseForOwn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/merge.js","id":"lodash/object/merge.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMerge.js","lodash/internal/createAssigner.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/methods.js","id":"lodash/object/methods.js","options":{},"isModule":true,"requiredModules":["lodash/object/functions.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/omit.js","id":"lodash/object/omit.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseDifference.js","lodash/internal/baseFlatten.js","lodash/internal/bindCallback.js","lodash/object/keysIn.js","lodash/internal/pickByArray.js","lodash/internal/pickByCallback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/pairs.js","id":"lodash/object/pairs.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/pick.js","id":"lodash/object/pick.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/bindCallback.js","lodash/internal/pickByArray.js","lodash/internal/pickByCallback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/result.js","id":"lodash/object/result.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isFunction.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/transform.js","id":"lodash/object/transform.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseCallback.js","lodash/internal/baseCreate.js","lodash/internal/baseForOwn.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/lang/isObject.js","lodash/lang/isTypedArray.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/values.js","id":"lodash/object/values.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseValues.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object/valuesIn.js","id":"lodash/object/valuesIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseValues.js","lodash/object/keysIn.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/object.js","id":"lodash/object.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","lodash/object/create.js","lodash/object/defaults.js","lodash/object/extend.js","lodash/object/findKey.js","lodash/object/findLastKey.js","lodash/object/forIn.js","lodash/object/forInRight.js","lodash/object/forOwn.js","lodash/object/forOwnRight.js","lodash/object/functions.js","lodash/object/has.js","lodash/object/invert.js","lodash/object/keys.js","lodash/object/keysIn.js","lodash/object/mapValues.js","lodash/object/merge.js","lodash/object/methods.js","lodash/object/omit.js","lodash/object/pairs.js","lodash/object/pick.js","lodash/object/result.js","lodash/object/transform.js","lodash/object/values.js","lodash/object/valuesIn.js"],"mtime":1423760239000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/package.json","data":{"name":"lodash","version":"3.2.0","description":"The modern build of lodash modular utilities.","homepage":"https://lodash.com/","icon":"https://lodash.com/icon.svg","license":"MIT","main":"index.js","keywords":["modules","stdlib","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Benjamin Tan","email":"demoneaux@gmail.com","url":"https://d10.github.io/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"https://mathiasbynens.be/"}],"repository":{"type":"git","url":"https://github.com/lodash/lodash"},"scripts":{"test":"echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""},"bugs":{"url":"https://github.com/lodash/lodash/issues"},"_id":"lodash@3.2.0","_shasum":"4bf50a3243f9aeb0bac41a55d3d5990675a462fb","_from":"lodash@>=3.2.0 <3.3.0","_npmVersion":"2.5.0","_nodeVersion":"0.12.0","_npmUser":{"name":"jdalton","email":"john.david.dalton@gmail.com"},"maintainers":[{"name":"jdalton","email":"john.david.dalton@gmail.com"},{"name":"mathias","email":"mathias@qiwi.be"},{"name":"phated","email":"blaine@iceddev.com"},{"name":"kitcambridge","email":"github@kitcambridge.be"},{"name":"d10","email":"demoneaux@gmail.com"}],"dist":{"shasum":"4bf50a3243f9aeb0bac41a55d3d5990675a462fb","tarball":"http://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/camelCase.js","id":"lodash/string/camelCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/capitalize.js","id":"lodash/string/capitalize.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/deburr.js","id":"lodash/string/deburr.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/deburrLetter.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/endsWith.js","id":"lodash/string/endsWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/escape.js","id":"lodash/string/escape.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/escapeHtmlChar.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/escapeRegExp.js","id":"lodash/string/escapeRegExp.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/kebabCase.js","id":"lodash/string/kebabCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/pad.js","id":"lodash/string/pad.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPad.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/padLeft.js","id":"lodash/string/padLeft.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPad.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/padRight.js","id":"lodash/string/padRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPad.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/parseInt.js","id":"lodash/string/parseInt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js","lodash/string/trim.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/repeat.js","id":"lodash/string/repeat.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/snakeCase.js","id":"lodash/string/snakeCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/startCase.js","id":"lodash/string/startCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/startsWith.js","id":"lodash/string/startsWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/template.js","id":"lodash/string/template.js","options":{},"isModule":true,"requiredModules":["lodash/internal/assignOwnDefaults.js","lodash/utility/attempt.js","lodash/internal/baseAssign.js","lodash/internal/baseToString.js","lodash/internal/baseValues.js","lodash/internal/escapeStringChar.js","lodash/lang/isError.js","lodash/internal/isIterateeCall.js","lodash/object/keys.js","lodash/internal/reInterpolate.js","lodash/string/templateSettings.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/templateSettings.js","id":"lodash/string/templateSettings.js","options":{},"isModule":true,"requiredModules":["lodash/string/escape.js","lodash/internal/reEscape.js","lodash/internal/reEvaluate.js","lodash/internal/reInterpolate.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/trim.js","id":"lodash/string/trim.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsLeftIndex.js","lodash/internal/charsRightIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedLeftIndex.js","lodash/internal/trimmedRightIndex.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/trimLeft.js","id":"lodash/string/trimLeft.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsLeftIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedLeftIndex.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/trimRight.js","id":"lodash/string/trimRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsRightIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedRightIndex.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/trunc.js","id":"lodash/string/trunc.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/isIterateeCall.js","lodash/lang/isObject.js","lodash/lang/isRegExp.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/unescape.js","id":"lodash/string/unescape.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/unescapeHtmlChar.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string/words.js","id":"lodash/string/words.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/string.js","id":"lodash/string.js","options":{},"isModule":true,"requiredModules":["lodash/string/camelCase.js","lodash/string/capitalize.js","lodash/string/deburr.js","lodash/string/endsWith.js","lodash/string/escape.js","lodash/string/escapeRegExp.js","lodash/string/kebabCase.js","lodash/string/pad.js","lodash/string/padLeft.js","lodash/string/padRight.js","lodash/string/parseInt.js","lodash/string/repeat.js","lodash/string/snakeCase.js","lodash/string/startCase.js","lodash/string/startsWith.js","lodash/string/template.js","lodash/string/templateSettings.js","lodash/string/trim.js","lodash/string/trimLeft.js","lodash/string/trimRight.js","lodash/string/trunc.js","lodash/string/unescape.js","lodash/string/words.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/support.js","id":"lodash/support.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/attempt.js","id":"lodash/utility/attempt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/lang/isError.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/callback.js","id":"lodash/utility/callback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/isIterateeCall.js","lodash/internal/isObjectLike.js","lodash/utility/matches.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/constant.js","id":"lodash/utility/constant.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/identity.js","id":"lodash/utility/identity.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/iteratee.js","id":"lodash/utility/iteratee.js","options":{},"isModule":true,"requiredModules":["lodash/utility/callback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/matches.js","id":"lodash/utility/matches.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/baseMatches.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/matchesProperty.js","id":"lodash/utility/matchesProperty.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/baseMatchesProperty.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/mixin.js","id":"lodash/utility/mixin.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/baseFunctions.js","lodash/lang/isFunction.js","lodash/lang/isObject.js","lodash/object/keys.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/noop.js","id":"lodash/utility/noop.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/property.js","id":"lodash/utility/property.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseProperty.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/propertyOf.js","id":"lodash/utility/propertyOf.js","options":{},"isModule":true,"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/range.js","id":"lodash/utility/range.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/times.js","id":"lodash/utility/times.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility/uniqueId.js","id":"lodash/utility/uniqueId.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1423760239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/node_modules/lodash/utility.js","id":"lodash/utility.js","options":{},"isModule":true,"requiredModules":["lodash/utility/attempt.js","lodash/utility/callback.js","lodash/utility/constant.js","lodash/utility/identity.js","lodash/utility/iteratee.js","lodash/utility/matches.js","lodash/utility/matchesProperty.js","lodash/utility/mixin.js","lodash/utility/noop.js","lodash/utility/property.js","lodash/utility/propertyOf.js","lodash/utility/range.js","lodash/utility/times.js","lodash/utility/uniqueId.js"],"mtime":1423760239000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/node_modules/zip-stream/package.json","data":{"name":"zip-stream","version":"0.5.2","description":"a streaming zip archive generator.","homepage":"https://github.com/archiverjs/node-zip-stream","author":{"name":"Chris Talkington","url":"http://christalkington.com/"},"repository":{"type":"git","url":"git+https://github.com/archiverjs/node-zip-stream.git"},"bugs":{"url":"https://github.com/archiverjs/node-zip-stream/issues"},"license":"MIT","main":"lib/zip-stream.js","files":["lib"],"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --reporter dot"},"dependencies":{"compress-commons":"~0.2.0","lodash":"~3.2.0","readable-stream":"~1.0.26"},"devDependencies":{"chai":"~2.0.0","mocha":"~2.1.0","rimraf":"~2.2.8","mkdirp":"~0.5.0"},"keywords":["archive","stream","zip-stream","zip"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"gitHead":"e1ffab4835feb864ec139493a8a92c7d9782f4ac","_id":"zip-stream@0.5.2","_shasum":"32dcbc506d0dab4d21372625bd7ebaac3c2fff56","_from":"zip-stream@>=0.5.0 <0.6.0","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"ctalkington","email":"chris@christalkington.com"},"maintainers":[{"name":"ctalkington","email":"chris@christalkington.com"}],"dist":{"shasum":"32dcbc506d0dab4d21372625bd7ebaac3c2fff56","tarball":"http://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz"},"mtime":1443817565000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/archiver/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/archiver/package.json","data":{"name":"archiver","version":"0.15.1","description":"a streaming interface for archive generation","homepage":"https://github.com/archiverjs/node-archiver","author":{"name":"Chris Talkington","url":"http://christalkington.com/"},"repository":{"type":"git","url":"git+https://github.com/archiverjs/node-archiver.git"},"bugs":{"url":"https://github.com/archiverjs/node-archiver/issues"},"license":"MIT","main":"index.js","files":["index.js","lib"],"engines":{"node":">= 0.10.0"},"scripts":{"test":"mocha --reporter dot","bench":"node benchmark/simple/pack-zip.js"},"dependencies":{"async":"~1.4.2","buffer-crc32":"~0.2.1","glob":"~5.0.0","lazystream":"~0.1.0","lodash":"~3.10.0","readable-stream":"~1.0.26","tar-stream":"~1.2.1","zip-stream":"~0.5.0"},"devDependencies":{"chai":"~3.2.0","mocha":"~2.2.5","rimraf":"~2.4.2","mkdirp":"~0.5.0","stream-bench":"~0.1.2","tar":"~2.1.1","yauzl":"~2.3.1"},"keywords":["archive","archiver","stream","zip","tar"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"gitHead":"38da1216718d9d0df409810758fa5160f82c6cfc","_id":"archiver@0.15.1","_shasum":"11bd9ed5639b1e35ff5e95bf728d1faeaf2465f3","_from":"archiver@>=0.15.1 <0.16.0","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"ctalkington","email":"chris@christalkington.com"},"maintainers":[{"name":"ctalkington","email":"chris@christalkington.com"}],"dist":{"shasum":"11bd9ed5639b1e35ff5e95bf728d1faeaf2465f3","tarball":"http://registry.npmjs.org/archiver/-/archiver-0.15.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/archiver/-/archiver-0.15.1.tgz"},"mtime":1443817564000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/async/component.json","id":"async/component.json","options":{},"isModule":true,"mtime":1396176151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1400235603000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./lib/async","author":{"name":"Caolan McMahon"},"version":"0.9.0","repository":{"type":"git","url":"https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"https://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"]},"scripts":{"test":"nodeunit test/test-async.js"},"homepage":"https://github.com/caolan/async","_id":"async@0.9.0","dist":{"shasum":"ac3613b1da9bed1b47510bb4651b8931e47146c7","tarball":"http://registry.npmjs.org/async/-/async-0.9.0.tgz"},"_from":"async@0.9.0","_npmVersion":"1.4.3","_npmUser":{"name":"caolan","email":"caolan.mcmahon@gmail.com"},"maintainers":[{"name":"caolan","email":"caolan@caolanmcmahon.com"}],"directories":{},"_shasum":"ac3613b1da9bed1b47510bb4651b8931e47146c7","_resolved":"https://registry.npmjs.org/async/-/async-0.9.0.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/autoscaling-2011-01-01.min.json","id":"aws-sdk/apis/autoscaling-2011-01-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/autoscaling-2011-01-01.paginators.json","id":"aws-sdk/apis/autoscaling-2011-01-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudformation-2010-05-15.min.json","id":"aws-sdk/apis/cloudformation-2010-05-15.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudformation-2010-05-15.paginators.json","id":"aws-sdk/apis/cloudformation-2010-05-15.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudfront-2014-11-06.min.json","id":"aws-sdk/apis/cloudfront-2014-11-06.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudfront-2014-11-06.paginators.json","id":"aws-sdk/apis/cloudfront-2014-11-06.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudfront-2014-11-06.waiters.json","id":"aws-sdk/apis/cloudfront-2014-11-06.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudhsm-2014-05-30.min.json","id":"aws-sdk/apis/cloudhsm-2014-05-30.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudsearch-2011-02-01.min.json","id":"aws-sdk/apis/cloudsearch-2011-02-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudsearch-2011-02-01.paginators.json","id":"aws-sdk/apis/cloudsearch-2011-02-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudsearch-2013-01-01.min.json","id":"aws-sdk/apis/cloudsearch-2013-01-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudsearch-2013-01-01.paginators.json","id":"aws-sdk/apis/cloudsearch-2013-01-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudsearchdomain-2013-01-01.min.json","id":"aws-sdk/apis/cloudsearchdomain-2013-01-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudtrail-2013-11-01.min.json","id":"aws-sdk/apis/cloudtrail-2013-11-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cloudtrail-2013-11-01.paginators.json","id":"aws-sdk/apis/cloudtrail-2013-11-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/codedeploy-2014-10-06.min.json","id":"aws-sdk/apis/codedeploy-2014-10-06.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cognito-identity-2014-06-30.min.json","id":"aws-sdk/apis/cognito-identity-2014-06-30.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/cognito-sync-2014-06-30.min.json","id":"aws-sdk/apis/cognito-sync-2014-06-30.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/config-2014-11-12.min.json","id":"aws-sdk/apis/config-2014-11-12.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/datapipeline-2012-10-29.min.json","id":"aws-sdk/apis/datapipeline-2012-10-29.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/datapipeline-2012-10-29.paginators.json","id":"aws-sdk/apis/datapipeline-2012-10-29.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/directconnect-2012-10-25.min.json","id":"aws-sdk/apis/directconnect-2012-10-25.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/directconnect-2012-10-25.paginators.json","id":"aws-sdk/apis/directconnect-2012-10-25.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/dynamodb-2011-12-05.min.json","id":"aws-sdk/apis/dynamodb-2011-12-05.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/dynamodb-2011-12-05.paginators.json","id":"aws-sdk/apis/dynamodb-2011-12-05.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/dynamodb-2011-12-05.waiters.json","id":"aws-sdk/apis/dynamodb-2011-12-05.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/dynamodb-2012-08-10.min.json","id":"aws-sdk/apis/dynamodb-2012-08-10.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/dynamodb-2012-08-10.paginators.json","id":"aws-sdk/apis/dynamodb-2012-08-10.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/dynamodb-2012-08-10.waiters.json","id":"aws-sdk/apis/dynamodb-2012-08-10.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/ec2-2014-10-01.min.json","id":"aws-sdk/apis/ec2-2014-10-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/ec2-2014-10-01.paginators.json","id":"aws-sdk/apis/ec2-2014-10-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/ec2-2014-10-01.waiters.json","id":"aws-sdk/apis/ec2-2014-10-01.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/ecs-2014-11-13.min.json","id":"aws-sdk/apis/ecs-2014-11-13.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elasticache-2015-02-02.min.json","id":"aws-sdk/apis/elasticache-2015-02-02.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elasticache-2015-02-02.paginators.json","id":"aws-sdk/apis/elasticache-2015-02-02.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elasticbeanstalk-2010-12-01.min.json","id":"aws-sdk/apis/elasticbeanstalk-2010-12-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elasticbeanstalk-2010-12-01.paginators.json","id":"aws-sdk/apis/elasticbeanstalk-2010-12-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elasticloadbalancing-2012-06-01.min.json","id":"aws-sdk/apis/elasticloadbalancing-2012-06-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elasticloadbalancing-2012-06-01.paginators.json","id":"aws-sdk/apis/elasticloadbalancing-2012-06-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elasticmapreduce-2009-03-31.min.json","id":"aws-sdk/apis/elasticmapreduce-2009-03-31.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elasticmapreduce-2009-03-31.paginators.json","id":"aws-sdk/apis/elasticmapreduce-2009-03-31.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elastictranscoder-2012-09-25.min.json","id":"aws-sdk/apis/elastictranscoder-2012-09-25.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elastictranscoder-2012-09-25.paginators.json","id":"aws-sdk/apis/elastictranscoder-2012-09-25.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/elastictranscoder-2012-09-25.waiters.json","id":"aws-sdk/apis/elastictranscoder-2012-09-25.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/email-2010-12-01.min.json","id":"aws-sdk/apis/email-2010-12-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/email-2010-12-01.paginators.json","id":"aws-sdk/apis/email-2010-12-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/email-2010-12-01.waiters.json","id":"aws-sdk/apis/email-2010-12-01.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/glacier-2012-06-01.min.json","id":"aws-sdk/apis/glacier-2012-06-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/glacier-2012-06-01.paginators.json","id":"aws-sdk/apis/glacier-2012-06-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/glacier-2012-06-01.waiters.json","id":"aws-sdk/apis/glacier-2012-06-01.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/iam-2010-05-08.min.json","id":"aws-sdk/apis/iam-2010-05-08.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/iam-2010-05-08.paginators.json","id":"aws-sdk/apis/iam-2010-05-08.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/importexport-2010-06-01.min.json","id":"aws-sdk/apis/importexport-2010-06-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/importexport-2010-06-01.paginators.json","id":"aws-sdk/apis/importexport-2010-06-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/kinesis-2013-12-02.min.json","id":"aws-sdk/apis/kinesis-2013-12-02.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/kinesis-2013-12-02.paginators.json","id":"aws-sdk/apis/kinesis-2013-12-02.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/kms-2014-11-01.min.json","id":"aws-sdk/apis/kms-2014-11-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/lambda-2014-11-11.min.json","id":"aws-sdk/apis/lambda-2014-11-11.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/lambda-2014-11-11.paginators.json","id":"aws-sdk/apis/lambda-2014-11-11.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/logs-2014-03-28.min.json","id":"aws-sdk/apis/logs-2014-03-28.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/logs-2014-03-28.paginators.json","id":"aws-sdk/apis/logs-2014-03-28.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/metadata.json","id":"aws-sdk/apis/metadata.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/monitoring-2010-08-01.min.json","id":"aws-sdk/apis/monitoring-2010-08-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/monitoring-2010-08-01.paginators.json","id":"aws-sdk/apis/monitoring-2010-08-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/opsworks-2013-02-18.min.json","id":"aws-sdk/apis/opsworks-2013-02-18.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/opsworks-2013-02-18.paginators.json","id":"aws-sdk/apis/opsworks-2013-02-18.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2013-01-10.min.json","id":"aws-sdk/apis/rds-2013-01-10.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2013-01-10.paginators.json","id":"aws-sdk/apis/rds-2013-01-10.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2013-02-12.min.json","id":"aws-sdk/apis/rds-2013-02-12.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2013-02-12.paginators.json","id":"aws-sdk/apis/rds-2013-02-12.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2013-09-09.min.json","id":"aws-sdk/apis/rds-2013-09-09.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2013-09-09.paginators.json","id":"aws-sdk/apis/rds-2013-09-09.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2013-09-09.waiters.json","id":"aws-sdk/apis/rds-2013-09-09.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2014-10-31.min.json","id":"aws-sdk/apis/rds-2014-10-31.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2014-10-31.paginators.json","id":"aws-sdk/apis/rds-2014-10-31.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/rds-2014-10-31.waiters.json","id":"aws-sdk/apis/rds-2014-10-31.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/redshift-2012-12-01.min.json","id":"aws-sdk/apis/redshift-2012-12-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/redshift-2012-12-01.paginators.json","id":"aws-sdk/apis/redshift-2012-12-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/redshift-2012-12-01.waiters.json","id":"aws-sdk/apis/redshift-2012-12-01.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/route53-2013-04-01.min.json","id":"aws-sdk/apis/route53-2013-04-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/route53-2013-04-01.paginators.json","id":"aws-sdk/apis/route53-2013-04-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/route53domains-2014-05-15.min.json","id":"aws-sdk/apis/route53domains-2014-05-15.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/route53domains-2014-05-15.paginators.json","id":"aws-sdk/apis/route53domains-2014-05-15.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/s3-2006-03-01.min.json","id":"aws-sdk/apis/s3-2006-03-01.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/s3-2006-03-01.paginators.json","id":"aws-sdk/apis/s3-2006-03-01.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/s3-2006-03-01.waiters.json","id":"aws-sdk/apis/s3-2006-03-01.waiters.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/sdb-2009-04-15.min.json","id":"aws-sdk/apis/sdb-2009-04-15.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/sdb-2009-04-15.paginators.json","id":"aws-sdk/apis/sdb-2009-04-15.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/sns-2010-03-31.min.json","id":"aws-sdk/apis/sns-2010-03-31.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/sns-2010-03-31.paginators.json","id":"aws-sdk/apis/sns-2010-03-31.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/sqs-2012-11-05.min.json","id":"aws-sdk/apis/sqs-2012-11-05.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/sqs-2012-11-05.paginators.json","id":"aws-sdk/apis/sqs-2012-11-05.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/ssm-2014-11-06.min.json","id":"aws-sdk/apis/ssm-2014-11-06.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/storagegateway-2013-06-30.min.json","id":"aws-sdk/apis/storagegateway-2013-06-30.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/storagegateway-2013-06-30.paginators.json","id":"aws-sdk/apis/storagegateway-2013-06-30.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/sts-2011-06-15.min.json","id":"aws-sdk/apis/sts-2011-06-15.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/support-2013-04-15.min.json","id":"aws-sdk/apis/support-2013-04-15.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/support-2013-04-15.paginators.json","id":"aws-sdk/apis/support-2013-04-15.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/swf-2012-01-25.min.json","id":"aws-sdk/apis/swf-2012-01-25.min.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/apis/swf-2012-01-25.paginators.json","id":"aws-sdk/apis/swf-2012-01-25.paginators.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/bower.json","id":"aws-sdk/bower.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/dist-tools/browser-builder.js","id":"aws-sdk/dist-tools/browser-builder.js","options":{},"isModule":true,"requiredModules":["path","aws-sdk/lib/aws.js","uglify-js/tools/node.js","browserify/node_modules/insert-module-globals","browserify"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/dist-tools/service-collector.js","id":"aws-sdk/dist-tools/service-collector.js","options":{},"isModule":true,"requiredModules":["fs","util/util.js","path","aws-sdk/lib/aws.js","aws-sdk/lib/api_loader.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/dist-tools/transform.js","id":"aws-sdk/dist-tools/transform.js","options":{},"isModule":true,"requiredModules":["stream","aws-sdk/dist-tools/service-collector.js","aws-sdk/dist-tools/browser-builder.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/index.js","id":"aws-sdk/index.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/aws.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/api_loader.js","id":"aws-sdk/lib/api_loader.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/aws.js","id":"aws-sdk/lib/aws.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/api_loader.js","aws-sdk/lib/xml/node_parser.js","aws-sdk/lib/http/node.js","aws-sdk/lib/services.js","aws-sdk/lib/credentials/ec2_metadata_credentials.js","aws-sdk/lib/credentials/environment_credentials.js","aws-sdk/lib/credentials/file_system_credentials.js","aws-sdk/lib/credentials/shared_ini_file_credentials.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/browser.js","id":"aws-sdk/lib/browser.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/xml/browser_parser.js","aws-sdk/lib/http/xhr.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/config.js","id":"aws-sdk/lib/config.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/credentials.js","aws-sdk/lib/credentials/credential_provider_chain.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/core.js","id":"aws-sdk/lib/core.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js","aws-sdk/lib/protocol/json.js","aws-sdk/lib/protocol/query.js","aws-sdk/lib/protocol/rest.js","aws-sdk/lib/protocol/rest_json.js","aws-sdk/lib/protocol/rest_xml.js","aws-sdk/lib/xml/builder.js","aws-sdk/lib/json/builder.js","aws-sdk/lib/json/parser.js","aws-sdk/lib/model/api.js","aws-sdk/lib/model/operation.js","aws-sdk/lib/model/shape.js","aws-sdk/lib/model/paginator.js","aws-sdk/lib/model/resource_waiter.js","aws-sdk/lib/service.js","aws-sdk/lib/credentials.js","aws-sdk/lib/credentials/credential_provider_chain.js","aws-sdk/lib/credentials/temporary_credentials.js","aws-sdk/lib/credentials/web_identity_credentials.js","aws-sdk/lib/credentials/cognito_identity_credentials.js","aws-sdk/lib/credentials/saml_credentials.js","aws-sdk/lib/config.js","aws-sdk/lib/http.js","aws-sdk/lib/sequential_executor.js","aws-sdk/lib/event_listeners.js","aws-sdk/lib/request.js","aws-sdk/lib/response.js","aws-sdk/lib/resource_waiter.js","aws-sdk/lib/signers/request_signer.js","aws-sdk/lib/param_validator.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/cognito_identity_credentials.js","id":"aws-sdk/lib/credentials/cognito_identity_credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/credential_provider_chain.js","id":"aws-sdk/lib/credentials/credential_provider_chain.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/ec2_metadata_credentials.js","id":"aws-sdk/lib/credentials/ec2_metadata_credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/metadata_service.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/environment_credentials.js","id":"aws-sdk/lib/credentials/environment_credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/file_system_credentials.js","id":"aws-sdk/lib/credentials/file_system_credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/saml_credentials.js","id":"aws-sdk/lib/credentials/saml_credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/shared_ini_file_credentials.js","id":"aws-sdk/lib/credentials/shared_ini_file_credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","path"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/temporary_credentials.js","id":"aws-sdk/lib/credentials/temporary_credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials/web_identity_credentials.js","id":"aws-sdk/lib/credentials/web_identity_credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/credentials.js","id":"aws-sdk/lib/credentials.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/event_listeners.js","id":"aws-sdk/lib/event_listeners.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/sequential_executor.js","util/util.js","aws-sdk/lib/protocol/json.js","aws-sdk/lib/protocol/rest.js","aws-sdk/lib/protocol/rest_json.js","aws-sdk/lib/protocol/rest_xml.js","aws-sdk/lib/protocol/query.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/http/node.js","id":"aws-sdk/lib/http/node.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/http.js","https","http"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/http/xhr.js","id":"aws-sdk/lib/http/xhr.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","events","aws-sdk/lib/http.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/http.js","id":"aws-sdk/lib/http.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/json/builder.js","id":"aws-sdk/lib/json/builder.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/json/parser.js","id":"aws-sdk/lib/json/parser.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/metadata_service.js","id":"aws-sdk/lib/metadata_service.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/http.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/model/api.js","id":"aws-sdk/lib/model/api.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/model/collection.js","aws-sdk/lib/model/operation.js","aws-sdk/lib/model/shape.js","aws-sdk/lib/model/paginator.js","aws-sdk/lib/model/resource_waiter.js","aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/model/collection.js","id":"aws-sdk/lib/model/collection.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/model/operation.js","id":"aws-sdk/lib/model/operation.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/model/shape.js","aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/model/paginator.js","id":"aws-sdk/lib/model/paginator.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/model/resource_waiter.js","id":"aws-sdk/lib/model/resource_waiter.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/model/shape.js","id":"aws-sdk/lib/model/shape.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/model/collection.js","aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/param_validator.js","id":"aws-sdk/lib/param_validator.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/protocol/json.js","id":"aws-sdk/lib/protocol/json.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js","aws-sdk/lib/json/builder.js","aws-sdk/lib/json/parser.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/protocol/query.js","id":"aws-sdk/lib/protocol/query.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/util.js","aws-sdk/lib/query/query_param_serializer.js","aws-sdk/lib/model/shape.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/protocol/rest.js","id":"aws-sdk/lib/protocol/rest.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/protocol/rest_json.js","id":"aws-sdk/lib/protocol/rest_json.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js","aws-sdk/lib/protocol/rest.js","aws-sdk/lib/protocol/json.js","aws-sdk/lib/json/builder.js","aws-sdk/lib/json/parser.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/protocol/rest_xml.js","id":"aws-sdk/lib/protocol/rest_xml.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/util.js","aws-sdk/lib/protocol/rest.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/query/query_param_serializer.js","id":"aws-sdk/lib/query/query_param_serializer.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/region_config.js","id":"aws-sdk/lib/region_config.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js","aws-sdk/lib/region_config.json"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/region_config.json","id":"aws-sdk/lib/region_config.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/request.js","id":"aws-sdk/lib/request.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/state_machine.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/resource_waiter.js","id":"aws-sdk/lib/resource_waiter.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/response.js","id":"aws-sdk/lib/response.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/s3/managed_upload.js","id":"aws-sdk/lib/s3/managed_upload.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/sequential_executor.js","id":"aws-sdk/lib/sequential_executor.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/service.js","id":"aws-sdk/lib/service.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/model/api.js","aws-sdk/lib/region_config.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/cloudfront.js","id":"aws-sdk/lib/services/cloudfront.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/cloudsearchdomain.js","id":"aws-sdk/lib/services/cloudsearchdomain.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/cognitoidentity.js","id":"aws-sdk/lib/services/cognitoidentity.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/dynamodb.js","id":"aws-sdk/lib/services/dynamodb.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/ec2.js","id":"aws-sdk/lib/services/ec2.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/glacier.js","id":"aws-sdk/lib/services/glacier.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/route53.js","id":"aws-sdk/lib/services/route53.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/s3.js","id":"aws-sdk/lib/services/s3.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/s3/managed_upload.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/sqs.js","id":"aws-sdk/lib/services/sqs.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/sts.js","id":"aws-sdk/lib/services/sts.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services/swf.js","id":"aws-sdk/lib/services/swf.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/services.js","id":"aws-sdk/lib/services.js","options":{},"isModule":true,"requiredModules":["fs","path","aws-sdk/lib/core.js","aws-sdk/lib/api_loader.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/signers/presign.js","id":"aws-sdk/lib/signers/presign.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/signers/request_signer.js","id":"aws-sdk/lib/signers/request_signer.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/signers/v2.js","aws-sdk/lib/signers/v3.js","aws-sdk/lib/signers/v3https.js","aws-sdk/lib/signers/v4.js","aws-sdk/lib/signers/s3.js","aws-sdk/lib/signers/presign.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/signers/s3.js","id":"aws-sdk/lib/signers/s3.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/signers/v2.js","id":"aws-sdk/lib/signers/v2.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/signers/v3.js","id":"aws-sdk/lib/signers/v3.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/signers/v3https.js","id":"aws-sdk/lib/signers/v3https.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js","aws-sdk/lib/signers/v3.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/signers/v4.js","id":"aws-sdk/lib/signers/v4.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/core.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/state_machine.js","id":"aws-sdk/lib/state_machine.js","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/util.js","id":"aws-sdk/lib/util.js","options":{},"isModule":true,"requiredModules":["crypto","buffer","aws-sdk/lib/core.js","url","querystring"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/xml/browser_parser.js","id":"aws-sdk/lib/xml/browser_parser.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js","aws-sdk/lib/model/shape.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/xml/builder.js","id":"aws-sdk/lib/xml/builder.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js","xmlbuilder/lib/index.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/lib/xml/node_parser.js","id":"aws-sdk/lib/xml/node_parser.js","options":{},"isModule":true,"requiredModules":["aws-sdk/lib/util.js","aws-sdk/lib/model/shape.js","xml2js/lib/xml2js.js"],"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/lib/xml2js.js","id":"xml2js/lib/xml2js.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js","events"],"mtime":1362055169000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/example.js","id":"sax/examples/example.js","options":{},"isModule":true,"requiredModules":["fs","util/util.js","path","sax/lib/sax.js"],"mtime":1343176422000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/get-products.js","id":"sax/examples/get-products.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js","fs","path","util/util.js","http"],"mtime":1320543013000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/hello-world.js","id":"sax/examples/hello-world.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1320543013000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/pretty-print.js","id":"sax/examples/pretty-print.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js","fs","path"],"mtime":1319428513000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/switch-bench.js","id":"sax/examples/switch-bench.js","options":{},"isModule":true,"requiredModules":["events","posix","path","sax/lib/sax.js","../lib/sax-trampoline","sys"],"mtime":1286218417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/lib/sax.js","id":"sax/lib/sax.js","options":{},"isModule":true,"requiredModules":["stream"],"mtime":1343274905000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/package.json","data":{"name":"sax","description":"An evented streaming XML parser in JavaScript","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"version":"0.4.2","main":"lib/sax.js","license":{"type":"MIT","url":"https://raw.github.com/isaacs/sax-js/master/LICENSE"},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sax-js.git"},"contributors":[{"name":"Isaac Z. Schlueter","email":"i@izs.me"},{"name":"Stein Martin Hustad","email":"stein@hustad.com"},{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com"},{"name":"Laurie Harper","email":"laurie@holoweb.net"},{"name":"Jann Horn","email":"jann@Jann-PC.fritz.box"},{"name":"Elijah Insua","email":"tmpvar@gmail.com"},{"name":"Henry Rawas","email":"henryr@schakra.com"},{"name":"Justin Makeig","email":"jmpublic@makeig.com"},{"name":"Mike","email":"mike@emotive.com"}],"_id":"sax@0.4.2","dist":{"shasum":"39f3b601733d6bec97105b242a2a40fd6978ac3c","tarball":"http://registry.npmjs.org/sax/-/sax-0.4.2.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"39f3b601733d6bec97105b242a2a40fd6978ac3c","_resolved":"https://registry.npmjs.org/sax/-/sax-0.4.2.tgz","_from":"sax@0.4.2"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/buffer-overrun.js","id":"sax/test/buffer-overrun.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js"],"mtime":1318752457000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/case.js","id":"sax/test/case.js","options":{},"isModule":true,"mtime":1332884192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata-chunked.js","id":"sax/test/cdata-chunked.js","options":{},"isModule":true,"mtime":1318752486000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata-end-split.js","id":"sax/test/cdata-end-split.js","options":{},"isModule":true,"mtime":1297278743000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata-fake-end.js","id":"sax/test/cdata-fake-end.js","options":{},"isModule":true,"mtime":1297291059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata-multiple.js","id":"sax/test/cdata-multiple.js","options":{},"isModule":true,"mtime":1297278743000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata.js","id":"sax/test/cdata.js","options":{},"isModule":true,"mtime":1318752470000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/index.js","id":"sax/test/index.js","options":{},"isModule":true,"requiredModules":["util/util.js","assert","fs","path","sax/lib/sax.js"],"mtime":1324057127000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-23.js","id":"sax/test/issue-23.js","options":{},"isModule":true,"mtime":1307045028000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-30.js","id":"sax/test/issue-30.js","options":{},"isModule":true,"mtime":1312217566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-35.js","id":"sax/test/issue-35.js","options":{},"isModule":true,"mtime":1316221007000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-47.js","id":"sax/test/issue-47.js","options":{},"isModule":true,"mtime":1321029034000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-49.js","id":"sax/test/issue-49.js","options":{},"isModule":true,"mtime":1321029125000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/parser-position.js","id":"sax/test/parser-position.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js","assert"],"mtime":1316220482000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/script.js","id":"sax/test/script.js","options":{},"isModule":true,"mtime":1316218398000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/self-closing-child-strict.js","id":"sax/test/self-closing-child-strict.js","options":{},"isModule":true,"mtime":1286218417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/self-closing-child.js","id":"sax/test/self-closing-child.js","options":{},"isModule":true,"mtime":1286218417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/self-closing-tag.js","id":"sax/test/self-closing-tag.js","options":{},"isModule":true,"mtime":1286218417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/stray-ending.js","id":"sax/test/stray-ending.js","options":{},"isModule":true,"mtime":1311284356000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/trailing-non-whitespace.js","id":"sax/test/trailing-non-whitespace.js","options":{},"isModule":true,"mtime":1286218417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/unquoted.js","id":"sax/test/unquoted.js","options":{},"isModule":true,"mtime":1332884192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-issue-41.js","id":"sax/test/xmlns-issue-41.js","options":{},"isModule":true,"mtime":1318863461000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-rebinding.js","id":"sax/test/xmlns-rebinding.js","options":{},"isModule":true,"mtime":1318863461000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-strict.js","id":"sax/test/xmlns-strict.js","options":{},"isModule":true,"mtime":1343274905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-unbound.js","id":"sax/test/xmlns-unbound.js","options":{},"isModule":true,"mtime":1318863461000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-ns.js","id":"sax/test/xmlns-xml-default-ns.js","options":{},"isModule":true,"mtime":1343274905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js","id":"sax/test/xmlns-xml-default-prefix-attribute.js","options":{},"isModule":true,"mtime":1318863461000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-prefix.js","id":"sax/test/xmlns-xml-default-prefix.js","options":{},"isModule":true,"mtime":1318863461000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-redefine.js","id":"sax/test/xmlns-xml-default-redefine.js","options":{},"isModule":true,"mtime":1318863461000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xml2js/package.json","data":{"name":"xml2js","description":"Simple XML to JavaScript object converter.","keywords":["xml","json"],"homepage":"https://github.com/Leonidas-from-XIV/node-xml2js","version":"0.2.6","author":{"name":"Marek Kubica","email":"marek@xivilization.net","url":"http://xivilization.net"},"contributors":[{"name":"maqr","email":"maqr.lollerskates@gmail.com","url":"https://github.com/maqr"},{"name":"Ben Weaver","url":"http://benweaver.com/"},{"name":"Jae Kwon","url":"https://github.com/jaekwon"},{"name":"Jim Robert"},{"name":"Ștefan Rusu","url":"http://www.saltwaterc.eu/"},{"name":"Carter Cole","email":"carter.cole@cartercole.com","url":"http://cartercole.com/"},{"name":"Kurt Raschke","email":"kurt@kurtraschke.com","url":"http://www.kurtraschke.com/"},{"name":"Contra","email":"contra@australia.edu","url":"https://github.com/Contra"},{"name":"Marcelo Diniz","email":"marudiniz@gmail.com","url":"https://github.com/mdiniz"},{"name":"Michael Hart","url":"https://github.com/mhart"},{"name":"Zachary Scott","email":"zachary@zacharyscott.net","url":"http://zacharyscott.net/"},{"name":"Raoul Millais","url":"https://github.com/raoulmillais"},{"name":"Salsita Software","url":"http://www.salsitasoft.com/"},{"name":"Mike Schilling","email":"mike@emotive.com","url":"http://www.emotive.com/"},{"name":"Jackson Tian","email":"shyvo1987@gmail.com","url":"http://weibo.com/shyvo"},{"name":"Mikhail Zyatin","email":"mikhail.zyatin@gmail.com","url":"https://github.com/Sitin"}],"main":"./lib/xml2js","directories":{"lib":"./lib"},"scripts":{"test":"zap"},"repository":{"type":"git","url":"https://github.com/Leonidas-from-XIV/node-xml2js.git"},"dependencies":{"sax":"0.4.2"},"devDependencies":{"coffee-script":">=1.5.0","zap":">=0.2.5","docco":">=0.3.0"},"_id":"xml2js@0.2.6","dist":{"shasum":"d209c4e4dda1fc9c452141ef41c077f5adfdf6c4","tarball":"http://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz"},"_from":"xml2js@0.2.6","_npmVersion":"1.2.11","_npmUser":{"name":"leonidas","email":"marek@xivilization.net"},"maintainers":[{"name":"leonidas","email":"marek@xivilization.net"}],"_shasum":"d209c4e4dda1fc9c452141ef41c077f5adfdf6c4","_resolved":"https://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xmlbuilder/lib/index.js","id":"xmlbuilder/lib/index.js","options":{},"isModule":true,"requiredModules":["xmlbuilder/lib/XMLBuilder.js"],"mtime":1347628281000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xmlbuilder/lib/XMLBuilder.js","id":"xmlbuilder/lib/XMLBuilder.js","options":{},"isModule":true,"requiredModules":["xmlbuilder/lib/XMLFragment.js"],"mtime":1347628281000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xmlbuilder/lib/XMLFragment.js","id":"xmlbuilder/lib/XMLFragment.js","options":{},"isModule":true,"mtime":1347628281000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xmlbuilder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/node_modules/xmlbuilder/package.json","data":{"name":"xmlbuilder","version":"0.4.2","keywords":["xml","xmlbuilder"],"homepage":"http://github.com/oozcitak/xmlbuilder-js","description":"An XML builder for node.js","author":{"name":"Ozgur Ozcitak","email":"oozcitak@gmail.com"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"repository":{"type":"git","url":"git://github.com/oozcitak/xmlbuilder-js.git"},"bugs":{"url":"http://github.com/oozcitak/xmlbuilder-js/issues"},"main":"./lib/index","engines":{"node":">=0.2.0"},"devDependencies":{"coffee-script":"1.1.x"},"scripts":{"test":"make test"},"_npmUser":{"name":"oozcitak","email":"oozcitak@gmail.com"},"_id":"xmlbuilder@0.4.2","dependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-alpha-2","_nodeVersion":"v0.6.3","_defaultsLoaded":true,"dist":{"shasum":"1776d65f3fdbad470a08d8604cdeb1c4e540ff83","tarball":"http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz"},"maintainers":[{"name":"oozcitak","email":"oozcitak@gmail.com"}],"directories":{},"_shasum":"1776d65f3fdbad470a08d8604cdeb1c4e540ff83","_resolved":"https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz","_from":"xmlbuilder@0.4.2"},"mtime":1439487646000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/package.json","data":{"name":"aws-sdk","description":"AWS SDK for JavaScript","version":"2.1.17","author":{"name":"Amazon Web Services","url":"http://aws.amazon.com/"},"homepage":"https://github.com/aws/aws-sdk-js","contributors":[{"name":"Loren Segal","email":"lsegal@amazon.com"},{"name":"Trevor Rowe","email":"trevrowe@amazon.com"}],"devDependencies":{"repl.history":"*","semver":"*","coffee-script":"1.6.3","eslint":"*","cucumber":"*","coffeeify":"*","browserify":"3.x","uglify-js":"2.x","mocha":"*","chai":"*","istanbul":"*","coveralls":"2.x"},"dependencies":{"xml2js":"0.2.6","xmlbuilder":"0.4.2"},"main":"lib/aws.js","browser":"lib/browser.js","browserify":{"transform":"./dist-tools/transform.js"},"directories":{"lib":"lib"},"engines":{"node":">= 0.8.0"},"repository":{"type":"git","url":"git://github.com/aws/aws-sdk-js"},"bugs":{"url":"http://github.com/aws/aws-sdk-js/issues"},"licenses":[{"type":"Apache 2.0","url":"http://github.com/aws/aws-sdk-js/raw/master/LICENSE.txt"}],"keywords":["api","amazon","aws","ec2","simpledb","s3","sqs","ses","sns","route53","rds","elasticache","cloudfront","fps","cloudformation","cloudwatch","dynamodb","iam","swf","autoscaling","cloudsearch","elb","loadbalancing","emr","mapreduce","importexport","storagegateway","workflow","ebs","vpc","beanstalk","glacier","kinesis","cloudtrail"],"scripts":{"test":"npm -s run-script lint && npm -s run-script unit && npm -s run-script buildertest && npm -s run-script browsertest && ([ -f configuration ] && npm -s run-script integration || true)","unit":"istanbul `[ $COVERAGE ] && echo 'cover _mocha' || echo 'test mocha'` -- test test/json test/model test/protocol test/query test/services test/signers test/xml test/s3","coverage":"istanbul cover ./node_modules/mocha/bin/_mocha -- test test/json test/model test/protocol test/query test/services test/signers test/xml","browsertest":"rake browser:test","buildertest":"mocha --compilers coffee:coffee-script -s 1000 -t 10000 dist-tools/test","integration":"cucumber.js","lint":"eslint lib dist-tools/*.js","console":"./scripts/console"},"gitHead":"47416560efb743b4242b6c9a65f6561e2ae815eb","_id":"aws-sdk@2.1.17","_shasum":"7f0105738b0a22a216dbb9a55062deedc2a227a4","_from":"aws-sdk@2.1.17","_npmVersion":"1.4.28","_npmUser":{"name":"aws","email":"aws-sdk-js@amazon.com"},"maintainers":[{"name":"aws","email":"trevrowe@amazon.com"}],"dist":{"shasum":"7f0105738b0a22a216dbb9a55062deedc2a227a4","tarball":"http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1.17.tgz"},"_resolved":"https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1.17.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/scripts/lib/translator.js","id":"aws-sdk/scripts/lib/translator.js","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/aws-sdk/testem.json","id":"aws-sdk/testem.json","options":{},"isModule":true,"mtime":1426189030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/basic-auth/index.js","id":"basic-auth/index.js","options":{},"isModule":true,"mtime":1404692274000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/basic-auth/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/basic-auth/package.json","data":{"name":"basic-auth","version":"1.0.0","repository":{"type":"git","url":"git://github.com/visionmedia/node-basic-auth"},"description":"generic basic auth parser","keywords":["basic","auth","authorization","basicauth"],"devDependencies":{"mocha":"*","should":"*"},"scripts":{"test":"make test"},"files":["index.js"],"license":"MIT","readme":"# basic-auth\n\n  Generic basic auth Authorization header field parser for whatever.\n\n## Installation\n\n```\n$ npm install basic-auth\n```\n\n## Example\n\n  Pass a node request or koa Context object to the module exported. If\n  parsing fails `undefined` is returned, otherwise an object with\n  `.name` and `.pass`.\n\n```js\nvar auth = require('basic-auth');\nvar user = auth(req);\n// => { name: 'something', pass: 'whatever' }\n\n```\n\n# License\n\n  MIT\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/node-basic-auth/issues"},"homepage":"https://github.com/visionmedia/node-basic-auth","_id":"basic-auth@1.0.0","_shasum":"111b2d9ff8e4e6d136b8c84ea5e096cb87351637","_from":"basic-auth@^1.0.0","_resolved":"https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/browser/bluebird.js","id":"bluebird/js/browser/bluebird.js","options":{},"isModule":true,"mtime":1430195249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/browser/bluebird.min.js","id":"bluebird/js/browser/bluebird.min.js","options":{},"isModule":true,"mtime":1430195249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/any.js","id":"bluebird/js/main/any.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/assert.js","id":"bluebird/js/main/assert.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/async.js","id":"bluebird/js/main/async.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/schedule.js","bluebird/js/main/queue.js","bluebird/js/main/util.js","events"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/bind.js","id":"bluebird/js/main/bind.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/bluebird.js","id":"bluebird/js/main/bluebird.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/promise.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/call_get.js","id":"bluebird/js/main/call_get.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/cancel.js","id":"bluebird/js/main/cancel.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/errors.js","bluebird/js/main/async.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/captured_trace.js","id":"bluebird/js/main/captured_trace.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/async.js","bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/catch_filter.js","id":"bluebird/js/main/catch_filter.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/errors.js","bluebird/js/main/es5.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/context.js","id":"bluebird/js/main/context.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/debuggability.js","id":"bluebird/js/main/debuggability.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/async.js","bluebird/js/main/errors.js","bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/direct_resolve.js","id":"bluebird/js/main/direct_resolve.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/each.js","id":"bluebird/js/main/each.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/errors.js","id":"bluebird/js/main/errors.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/es5.js","bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/es5.js","id":"bluebird/js/main/es5.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/filter.js","id":"bluebird/js/main/filter.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/finally.js","id":"bluebird/js/main/finally.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/generators.js","id":"bluebird/js/main/generators.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/errors.js","bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/join.js","id":"bluebird/js/main/join.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/map.js","id":"bluebird/js/main/map.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/async.js","bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/method.js","id":"bluebird/js/main/method.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/nodeify.js","id":"bluebird/js/main/nodeify.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/async.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/progress.js","id":"bluebird/js/main/progress.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/async.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/promise.js","id":"bluebird/js/main/promise.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/async.js","bluebird/js/main/errors.js","bluebird/js/main/thenables.js","bluebird/js/main/promise_array.js","bluebird/js/main/captured_trace.js","bluebird/js/main/debuggability.js","bluebird/js/main/context.js","bluebird/js/main/catch_filter.js","bluebird/js/main/promise_resolver.js","bluebird/js/main/progress.js","bluebird/js/main/method.js","bluebird/js/main/bind.js","bluebird/js/main/finally.js","bluebird/js/main/direct_resolve.js","bluebird/js/main/synchronous_inspection.js","bluebird/js/main/join.js","bluebird/js/main/map.js","bluebird/js/main/cancel.js","bluebird/js/main/using.js","bluebird/js/main/generators.js","bluebird/js/main/nodeify.js","bluebird/js/main/call_get.js","bluebird/js/main/props.js","bluebird/js/main/race.js","bluebird/js/main/reduce.js","bluebird/js/main/settle.js","bluebird/js/main/some.js","bluebird/js/main/promisify.js","bluebird/js/main/any.js","bluebird/js/main/each.js","bluebird/js/main/timers.js","bluebird/js/main/filter.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/promise_array.js","id":"bluebird/js/main/promise_array.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/promise_resolver.js","id":"bluebird/js/main/promise_resolver.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/errors.js","bluebird/js/main/es5.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/promisify.js","id":"bluebird/js/main/promisify.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/promise_resolver.js","bluebird/js/main/errors.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/props.js","id":"bluebird/js/main/props.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/es5.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/queue.js","id":"bluebird/js/main/queue.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/race.js","id":"bluebird/js/main/race.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/reduce.js","id":"bluebird/js/main/reduce.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/async.js","bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/schedule.js","id":"bluebird/js/main/schedule.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/settle.js","id":"bluebird/js/main/settle.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/some.js","id":"bluebird/js/main/some.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/errors.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/synchronous_inspection.js","id":"bluebird/js/main/synchronous_inspection.js","options":{},"isModule":true,"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/thenables.js","id":"bluebird/js/main/thenables.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/timers.js","id":"bluebird/js/main/timers.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/using.js","id":"bluebird/js/main/using.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/errors.js","bluebird/js/main/util.js"],"mtime":1430195246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/js/main/util.js","id":"bluebird/js/main/util.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/es5.js"],"mtime":1430195246000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/bluebird/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/bluebird/package.json","data":{"name":"bluebird","description":"Full featured Promises/A+ implementation with exceptionally good performance","version":"2.9.25","keywords":["promise","performance","promises","promises-a","promises-aplus","async","await","deferred","deferreds","future","flow control","dsl","fluent interface"],"scripts":{"lint":"node scripts/jshint.js","test":"node tools/test.js","istanbul":"istanbul","prepublish":"node tools/build.js --no-debug --main --zalgo --browser --minify"},"homepage":"https://github.com/petkaantonov/bluebird","repository":{"type":"git","url":"git://github.com/petkaantonov/bluebird.git"},"bugs":{"url":"http://github.com/petkaantonov/bluebird/issues"},"license":"MIT","author":{"name":"Petka Antonov","email":"petka_antonov@hotmail.com","url":"http://github.com/petkaantonov/"},"devDependencies":{"acorn":"~0.6.0","baconjs":"^0.7.43","bluebird":"^2.9.2","body-parser":"^1.10.2","browserify":"^8.1.1","cli-table":"~0.3.1","co":"^4.2.0","cross-spawn":"^0.2.3","glob":"^4.3.2","grunt-saucelabs":"~8.4.1","highland":"^2.3.0","istanbul":"^0.3.5","jshint":"^2.6.0","jshint-stylish":"~0.2.0","mkdirp":"~0.5.0","mocha":"~2.1","open":"~0.0.5","optimist":"~0.6.1","rimraf":"~2.2.6","rx":"^2.3.25","serve-static":"^1.7.1","sinon":"~1.7.3","uglify-js":"~2.4.16"},"main":"./js/main/bluebird.js","browser":"./js/browser/bluebird.js","files":["js/browser","js/main","js/zalgo","LICENSE","zalgo.js"],"gitHead":"13d7fbfc429422ea2dc9086371b4fd188b42038a","_id":"bluebird@2.9.25","_shasum":"6e36bd04064d9534c07160b9f7f26c5a738fe16a","_from":"bluebird@2.9.25","_npmVersion":"2.7.1","_nodeVersion":"1.6.2","_npmUser":{"name":"esailija","email":"petka_antonov@hotmail.com"},"maintainers":[{"name":"esailija","email":"petka_antonov@hotmail.com"}],"dist":{"shasum":"6e36bd04064d9534c07160b9f7f26c5a738fe16a","tarball":"http://registry.npmjs.org/bluebird/-/bluebird-2.9.25.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/bluebird/-/bluebird-2.9.25.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/index.js","id":"body-parser/index.js","options":{},"isModule":true,"requiredModules":["depd/index.js","fs","path"],"mtime":1422564445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/lib/read.js","id":"body-parser/lib/read.js","options":{},"isModule":true,"requiredModules":["raw-body/index.js","iconv-lite/lib/index.js","on-finished/index.js","zlib"],"mtime":1423887138000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/lib/types/json.js","id":"body-parser/lib/types/json.js","options":{},"isModule":true,"requiredModules":["bytes/index.js","content-type/index.js","debug/node.js","body-parser/lib/read.js","type-is/index.js"],"mtime":1423887120000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/lib/types/raw.js","id":"body-parser/lib/types/raw.js","options":{},"isModule":true,"requiredModules":["bytes/index.js","debug/node.js","body-parser/lib/read.js","type-is/index.js"],"mtime":1423887314000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/lib/types/text.js","id":"body-parser/lib/types/text.js","options":{},"isModule":true,"requiredModules":["bytes/index.js","content-type/index.js","debug/node.js","body-parser/lib/read.js","type-is/index.js"],"mtime":1423887318000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/lib/types/urlencoded.js","id":"body-parser/lib/types/urlencoded.js","options":{},"isModule":true,"requiredModules":["bytes/index.js","content-type/index.js","debug/node.js","depd/index.js","body-parser/lib/read.js","type-is/index.js"],"mtime":1423887165000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/bytes/component.json","id":"bytes/component.json","options":{},"isModule":true,"mtime":1395277664000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/bytes/index.js","id":"bytes/index.js","options":{},"isModule":true,"mtime":1399333914000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/bytes/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/bytes/package.json","data":{"name":"bytes","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"description":"byte size string parser / serializer","repository":{"type":"git","url":"https://github.com/visionmedia/bytes.js.git"},"version":"1.0.0","main":"index.js","dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"component":{"scripts":{"bytes/index.js":"index.js"}},"bugs":{"url":"https://github.com/visionmedia/bytes.js/issues"},"homepage":"https://github.com/visionmedia/bytes.js","_id":"bytes@1.0.0","dist":{"shasum":"3569ede8ba34315fab99c3e92cb04c7220de1fa8","tarball":"http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz"},"_from":"bytes@1.0.0","_npmVersion":"1.4.3","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"3569ede8ba34315fab99c3e92cb04c7220de1fa8","_resolved":"https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/content-type/index.js","id":"content-type/index.js","options":{},"isModule":true,"mtime":1423873603000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/content-type/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/content-type/package.json","data":{"name":"content-type","description":"Create and parse HTTP Content-Type header","version":"1.0.1","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["content-type","http","req","res","rfc7231"],"repository":{"type":"git","url":"git://github.com/jshttp/content-type.git"},"devDependencies":{"istanbul":"0.3.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","README.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --check-leaks --bail test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"readme":"# content-type\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nCreate and parse HTTP Content-Type header according to RFC 7231\n\n## Installation\n\n```sh\n$ npm install content-type\n```\n\n## API\n\n```js\nvar contentType = require('content-type')\n```\n\n### contentType.parse(string)\n\n```js\nvar obj = contentType.parse('image/svg+xml; charset=utf-8')\n```\n\nParse a content type string. This will return an object with the following\nproperties (examples are shown for the string `'image/svg+xml; charset=utf-8'`):\n\n - `type`: The media type (the type and subtype, always lower case).\n   Example: `'image/svg+xml'`\n\n - `parameters`: An object of the parameters in the media type (name of parameter\n   always lower case). Example: `{charset: 'utf-8'}`\n\nThrows a `TypeError` if the string is missing or invalid.\n\n### contentType.parse(req)\n\n```js\nvar obj = contentType.parse(req)\n```\n\nParse the `content-type` header from the given `req`. Short-cut for\n`contentType.parse(req.headers['content-type'])`.\n\nThrows a `TypeError` if the `Content-Type` header is missing or invalid.\n\n### contentType.parse(res)\n\n```js\nvar obj = contentType.parse(res)\n```\n\nParse the `content-type` header set on the given `res`. Short-cut for\n`contentType.parse(res.getHeader('content-type'))`.\n\nThrows a `TypeError` if the `Content-Type` header is missing or invalid.\n\n### contentType.format(obj)\n\n```js\nvar str = contentType.format({type: 'image/svg+xml'})\n```\n\nFormat an object into a content type string. This will return a string of the\ncontent type for the given object with the following properties (examples are\nshown that produce the string `'image/svg+xml; charset=utf-8'`):\n\n - `type`: The media type (will be lower-cased). Example: `'image/svg+xml'`\n\n - `parameters`: An object of the parameters in the media type (name of the\n   parameter will be lower-cased). Example: `{charset: 'utf-8'}`\n\nThrows a `TypeError` if the object contains an invalid type or parameter names.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/content-type.svg\n[npm-url]: https://npmjs.org/package/content-type\n[node-version-image]: https://img.shields.io/node/v/content-type.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/content-type/master.svg\n[travis-url]: https://travis-ci.org/jshttp/content-type\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/content-type/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/content-type\n[downloads-image]: https://img.shields.io/npm/dm/content-type.svg\n[downloads-url]: https://npmjs.org/package/content-type\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/content-type/issues"},"homepage":"https://github.com/jshttp/content-type","_id":"content-type@1.0.1","_shasum":"a19d2247327dc038050ce622b7a154ec59c5e600","_from":"content-type@>=1.0.1 <1.1.0","_resolved":"https://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/bower.json","id":"debug/bower.json","options":{},"isModule":true,"mtime":1426272605000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/browser.js","id":"debug/browser.js","options":{},"isModule":true,"requiredModules":["debug/debug.js"],"mtime":1424020924000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/component.json","id":"debug/component.json","options":{},"isModule":true,"mtime":1426272605000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"requiredModules":["ms/index.js"],"mtime":1408510177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/node.js","id":"debug/node.js","options":{},"isModule":true,"requiredModules":["tty","util/util.js","debug/debug.js","fs","net"],"mtime":1426272474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1416815822000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/node_modules/ms/package.json","data":{"name":"ms","version":"0.7.0","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"gitHead":"1e9cd9b05ef0dc26f765434d2bfee42394376e52","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.7.0","scripts":{},"_shasum":"865be94c2e7397ad8a57da6a633a6e2f30798b83","_from":"ms@0.7.0","_npmVersion":"1.4.21","_npmUser":{"name":"rauchg","email":"rauchg@gmail.com"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"}],"dist":{"shasum":"865be94c2e7397ad8a57da6a633a6e2f30798b83","tarball":"http://registry.npmjs.org/ms/-/ms-0.7.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ms/-/ms-0.7.0.tgz"},"mtime":1439487646000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/debug/package.json","data":{"name":"debug","version":"2.1.3","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io"}],"license":"MIT","dependencies":{"ms":"0.7.0"},"devDependencies":{"browserify":"9.0.3","mocha":"*"},"main":"./node.js","browser":"./browser.js","component":{"scripts":{"debug/index.js":"browser.js","debug/debug.js":"debug.js"}},"gitHead":"0a8e4b7e0d2d1b55ef4e7422498ca24c677ae63a","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@2.1.3","scripts":{},"_shasum":"ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e","_from":"debug@>=2.1.1 <2.2.0","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"tootallnate","email":"nathan@tootallnate.net"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"tootallnate","email":"nathan@tootallnate.net"}],"dist":{"shasum":"ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e","tarball":"http://registry.npmjs.org/debug/-/debug-2.1.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/debug/-/debug-2.1.3.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/depd/index.js","id":"depd/index.js","options":{},"isModule":true,"requiredModules":["depd/lib/compat/index.js","events","path"],"mtime":1428425179000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/depd/lib/compat/buffer-concat.js","id":"depd/lib/compat/buffer-concat.js","options":{},"isModule":true,"mtime":1410020200000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/depd/lib/compat/callsite-tostring.js","id":"depd/lib/compat/callsite-tostring.js","options":{},"isModule":true,"mtime":1410292158000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/depd/lib/compat/index.js","id":"depd/lib/compat/index.js","options":{},"isModule":true,"requiredModules":["depd/lib/compat/buffer-concat.js","depd/lib/compat/callsite-tostring.js"],"mtime":1410021694000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/depd/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/depd/package.json","data":{"name":"depd","description":"Deprecate all the things","version":"1.0.1","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["deprecate","deprecated"],"repository":{"type":"git","url":"git://github.com/dougwilson/nodejs-depd.git"},"devDependencies":{"benchmark":"1.0.0","beautify-benchmark":"0.2.4","istanbul":"0.3.5","mocha":"~1.21.5"},"files":["lib/","History.md","LICENSE","index.js","Readme.md"],"engines":{"node":">= 0.6"},"scripts":{"bench":"node benchmark/index.js","test":"mocha --reporter spec --bail test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --no-exit test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/"},"readme":"# depd\n\n[![NPM Version][npm-version-image]][npm-url]\n[![NPM Downloads][npm-downloads-image]][npm-url]\n[![Node.js Version][node-image]][node-url]\n[![Linux Build][travis-image]][travis-url]\n[![Windows Build][appveyor-image]][appveyor-url]\n[![Coverage Status][coveralls-image]][coveralls-url]\n[![Gratipay][gratipay-image]][gratipay-url]\n\nDeprecate all the things\n\n> With great modules comes great responsibility; mark things deprecated!\n\n## Install\n\n```sh\n$ npm install depd\n```\n\n## API\n\n```js\nvar deprecate = require('depd')('my-module')\n```\n\nThis library allows you to display deprecation messages to your users.\nThis library goes above and beyond with deprecation warnings by\nintrospection of the call stack (but only the bits that it is interested\nin).\n\nInstead of just warning on the first invocation of a deprecated\nfunction and never again, this module will warn on the first invocation\nof a deprecated function per unique call site, making it ideal to alert\nusers of all deprecated uses across the code base, rather than just\nwhatever happens to execute first.\n\nThe deprecation warnings from this module also include the file and line\ninformation for the call into the module that the deprecated function was\nin.\n\n**NOTE** this library has a similar interface to the `debug` module, and\nthis module uses the calling file to get the boundary for the call stacks,\nso you should always create a new `deprecate` object in each file and not\nwithin some central file.\n\n### depd(namespace)\n\nCreate a new deprecate function that uses the given namespace name in the\nmessages and will display the call site prior to the stack entering the\nfile this function was called from. It is highly suggested you use the\nname of your module as the namespace.\n\n### deprecate(message)\n\nCall this function from deprecated code to display a deprecation message.\nThis message will appear once per unique caller site. Caller site is the\nfirst call site in the stack in a different file from the caller of this\nfunction.\n\nIf the message is omitted, a message is generated for you based on the site\nof the `deprecate()` call and will display the name of the function called,\nsimilar to the name displayed in a stack trace.\n\n### deprecate.function(fn, message)\n\nCall this function to wrap a given function in a deprecation message on any\ncall to the function. An optional message can be supplied to provide a custom\nmessage.\n\n### deprecate.property(obj, prop, message)\n\nCall this function to wrap a given property on object in a deprecation message\non any accessing or setting of the property. An optional message can be supplied\nto provide a custom message.\n\nThe method must be called on the object where the property belongs (not\ninherited from the prototype).\n\nIf the property is a data descriptor, it will be converted to an accessor\ndescriptor in order to display the deprecation message.\n\n### process.on('deprecation', fn)\n\nThis module will allow easy capturing of deprecation errors by emitting the\nerrors as the type \"deprecation\" on the global `process`. If there are no\nlisteners for this type, the errors are written to STDERR as normal, but if\nthere are any listeners, nothing will be written to STDERR and instead only\nemitted. From there, you can write the errors in a different format or to a\nlogging source.\n\nThe error represents the deprecation and is emitted only once with the same\nrules as writing to STDERR. The error has the following properties:\n\n  - `message` - This is the message given by the library\n  - `name` - This is always `'DeprecationError'`\n  - `namespace` - This is the namespace the deprecation came from\n  - `stack` - This is the stack of the call to the deprecated thing\n\nExample `error.stack` output:\n\n```\nDeprecationError: my-cool-module deprecated oldfunction\n    at Object.<anonymous> ([eval]-wrapper:6:22)\n    at Module._compile (module.js:456:26)\n    at evalScript (node.js:532:25)\n    at startup (node.js:80:7)\n    at node.js:902:3\n```\n\n### process.env.NO_DEPRECATION\n\nAs a user of modules that are deprecated, the environment variable `NO_DEPRECATION`\nis provided as a quick solution to silencing deprecation warnings from being\noutput. The format of this is similar to that of `DEBUG`:\n\n```sh\n$ NO_DEPRECATION=my-module,othermod node app.js\n```\n\nThis will suppress deprecations from being output for \"my-module\" and \"othermod\".\nThe value is a list of comma-separated namespaces. To suppress every warning\nacross all namespaces, use the value `*` for a namespace.\n\nProviding the argument `--no-deprecation` to the `node` executable will suppress\nall deprecations (only available in Node.js 0.8 or higher).\n\n**NOTE** This will not suppress the deperecations given to any \"deprecation\"\nevent listeners, just the output to STDERR.\n\n### process.env.TRACE_DEPRECATION\n\nAs a user of modules that are deprecated, the environment variable `TRACE_DEPRECATION`\nis provided as a solution to getting more detailed location information in deprecation\nwarnings by including the entire stack trace. The format of this is the same as\n`NO_DEPRECATION`:\n\n```sh\n$ TRACE_DEPRECATION=my-module,othermod node app.js\n```\n\nThis will include stack traces for deprecations being output for \"my-module\" and\n\"othermod\". The value is a list of comma-separated namespaces. To trace every\nwarning across all namespaces, use the value `*` for a namespace.\n\nProviding the argument `--trace-deprecation` to the `node` executable will trace\nall deprecations (only available in Node.js 0.8 or higher).\n\n**NOTE** This will not trace the deperecations silenced by `NO_DEPRECATION`.\n\n## Display\n\n![message](files/message.png)\n\nWhen a user calls a function in your library that you mark deprecated, they\nwill see the following written to STDERR (in the given colors, similar colors\nand layout to the `debug` module):\n\n```\nbright cyan    bright yellow\n|              |          reset       cyan\n|              |          |           |\n▼              ▼          ▼           ▼\nmy-cool-module deprecated oldfunction [eval]-wrapper:6:22\n▲              ▲          ▲           ▲\n|              |          |           |\nnamespace      |          |           location of mycoolmod.oldfunction() call\n               |          deprecation message\n               the word \"deprecated\"\n```\n\nIf the user redirects their STDERR to a file or somewhere that does not support\ncolors, they see (similar layout to the `debug` module):\n\n```\nSun, 15 Jun 2014 05:21:37 GMT my-cool-module deprecated oldfunction at [eval]-wrapper:6:22\n▲                             ▲              ▲          ▲              ▲\n|                             |              |          |              |\ntimestamp of message          namespace      |          |             location of mycoolmod.oldfunction() call\n                                             |          deprecation message\n                                             the word \"deprecated\"\n```\n\n## Examples\n\n### Deprecating all calls to a function\n\nThis will display a deprecated message about \"oldfunction\" being deprecated\nfrom \"my-module\" on STDERR.\n\n```js\nvar deprecate = require('depd')('my-cool-module')\n\n// message automatically derived from function name\n// Object.oldfunction\nexports.oldfunction = deprecate.function(function oldfunction() {\n  // all calls to function are deprecated\n})\n\n// specific message\nexports.oldfunction = deprecate.function(function () {\n  // all calls to function are deprecated\n}, 'oldfunction')\n```\n\n### Conditionally deprecating a function call\n\nThis will display a deprecated message about \"weirdfunction\" being deprecated\nfrom \"my-module\" on STDERR when called with less than 2 arguments.\n\n```js\nvar deprecate = require('depd')('my-cool-module')\n\nexports.weirdfunction = function () {\n  if (arguments.length < 2) {\n    // calls with 0 or 1 args are deprecated\n    deprecate('weirdfunction args < 2')\n  }\n}\n```\n\nWhen calling `deprecate` as a function, the warning is counted per call site\nwithin your own module, so you can display different deprecations depending\non different situations and the users will still get all the warnings:\n\n```js\nvar deprecate = require('depd')('my-cool-module')\n\nexports.weirdfunction = function () {\n  if (arguments.length < 2) {\n    // calls with 0 or 1 args are deprecated\n    deprecate('weirdfunction args < 2')\n  } else if (typeof arguments[0] !== 'string') {\n    // calls with non-string first argument are deprecated\n    deprecate('weirdfunction non-string first arg')\n  }\n}\n```\n\n### Deprecating property access\n\nThis will display a deprecated message about \"oldprop\" being deprecated\nfrom \"my-module\" on STDERR when accessed. A deprecation will be displayed\nwhen setting the value and when getting the value.\n\n```js\nvar deprecate = require('depd')('my-cool-module')\n\nexports.oldprop = 'something'\n\n// message automatically derives from property name\ndeprecate.property(exports, 'oldprop')\n\n// explicit message\ndeprecate.property(exports, 'oldprop', 'oldprop >= 0.10')\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-version-image]: https://img.shields.io/npm/v/depd.svg\n[npm-downloads-image]: https://img.shields.io/npm/dm/depd.svg\n[npm-url]: https://npmjs.org/package/depd\n[travis-image]: https://img.shields.io/travis/dougwilson/nodejs-depd/master.svg?label=linux\n[travis-url]: https://travis-ci.org/dougwilson/nodejs-depd\n[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/nodejs-depd/master.svg?label=windows\n[appveyor-url]: https://ci.appveyor.com/project/dougwilson/nodejs-depd\n[coveralls-image]: https://img.shields.io/coveralls/dougwilson/nodejs-depd/master.svg\n[coveralls-url]: https://coveralls.io/r/dougwilson/nodejs-depd?branch=master\n[node-image]: https://img.shields.io/node/v/depd.svg\n[node-url]: http://nodejs.org/download/\n[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg\n[gratipay-url]: https://www.gratipay.com/dougwilson/\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/dougwilson/nodejs-depd/issues"},"homepage":"https://github.com/dougwilson/nodejs-depd","_id":"depd@1.0.1","_shasum":"80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa","_from":"depd@>=1.0.0 <1.1.0","_resolved":"https://registry.npmjs.org/depd/-/depd-1.0.1.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/dbcs-codec.js","id":"iconv-lite/encodings/dbcs-codec.js","options":{},"isModule":true,"mtime":1423208272000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/dbcs-data.js","id":"iconv-lite/encodings/dbcs-data.js","options":{},"isModule":true,"requiredModules":["iconv-lite/encodings/tables/shiftjis.json","iconv-lite/encodings/tables/eucjp.json","iconv-lite/encodings/tables/cp936.json","iconv-lite/encodings/tables/gbk-added.json","iconv-lite/encodings/tables/gb18030-ranges.json","iconv-lite/encodings/tables/cp949.json","iconv-lite/encodings/tables/cp950.json","iconv-lite/encodings/tables/big5-added.json"],"mtime":1416478584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/index.js","id":"iconv-lite/encodings/index.js","options":{},"isModule":true,"requiredModules":["iconv-lite/encodings/internal.js","iconv-lite/encodings/utf16.js","iconv-lite/encodings/utf7.js","iconv-lite/encodings/sbcs-codec.js","iconv-lite/encodings/sbcs-data.js","iconv-lite/encodings/sbcs-data-generated.js","iconv-lite/encodings/dbcs-codec.js","iconv-lite/encodings/dbcs-data.js"],"mtime":1423205974000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/internal.js","id":"iconv-lite/encodings/internal.js","options":{},"isModule":true,"requiredModules":["string_decoder/index.js"],"mtime":1405566136000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/sbcs-codec.js","id":"iconv-lite/encodings/sbcs-codec.js","options":{},"isModule":true,"mtime":1398782453000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/sbcs-data-generated.js","id":"iconv-lite/encodings/sbcs-data-generated.js","options":{},"isModule":true,"mtime":1398680489000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/sbcs-data.js","id":"iconv-lite/encodings/sbcs-data.js","options":{},"isModule":true,"mtime":1421072579000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/tables/big5-added.json","id":"iconv-lite/encodings/tables/big5-added.json","options":{},"isModule":true,"mtime":1401283007000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/tables/cp936.json","id":"iconv-lite/encodings/tables/cp936.json","options":{},"isModule":true,"mtime":1401283009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/tables/cp949.json","id":"iconv-lite/encodings/tables/cp949.json","options":{},"isModule":true,"mtime":1401283009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/tables/cp950.json","id":"iconv-lite/encodings/tables/cp950.json","options":{},"isModule":true,"mtime":1401283009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/tables/eucjp.json","id":"iconv-lite/encodings/tables/eucjp.json","options":{},"isModule":true,"mtime":1401283008000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json","id":"iconv-lite/encodings/tables/gb18030-ranges.json","options":{},"isModule":true,"mtime":1401283007000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/tables/gbk-added.json","id":"iconv-lite/encodings/tables/gbk-added.json","options":{},"isModule":true,"mtime":1401283007000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/tables/shiftjis.json","id":"iconv-lite/encodings/tables/shiftjis.json","options":{},"isModule":true,"mtime":1401283007000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/utf16.js","id":"iconv-lite/encodings/utf16.js","options":{},"isModule":true,"mtime":1402807885000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/encodings/utf7.js","id":"iconv-lite/encodings/utf7.js","options":{},"isModule":true,"mtime":1423208272000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/lib/extend-node.js","id":"iconv-lite/lib/extend-node.js","options":{},"isModule":true,"requiredModules":["buffer","stream","iconv-lite/lib/index.js"],"mtime":1402617126000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/lib/index.js","id":"iconv-lite/lib/index.js","options":{},"isModule":true,"requiredModules":["iconv-lite/encodings/index.js","iconv-lite/lib/streams.js","iconv-lite/lib/extend-node.js"],"mtime":1421075349000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/lib/streams.js","id":"iconv-lite/lib/streams.js","options":{},"isModule":true,"requiredModules":["stream"],"mtime":1401457097000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/iconv-lite/package.json","data":{"name":"iconv-lite","description":"Convert character encodings in pure javascript.","version":"0.4.7","license":"MIT","keywords":["iconv","convert","charset","icu"],"author":{"name":"Alexander Shtuchkin","email":"ashtuchkin@gmail.com"},"contributors":[{"name":"Jinwu Zhan","url":"https://github.com/jenkinv"},{"name":"Adamansky Anton","url":"https://github.com/adamansky"},{"name":"George Stagas","url":"https://github.com/stagas"},{"name":"Mike D Pilsbury","url":"https://github.com/pekim"},{"name":"Niggler","url":"https://github.com/Niggler"},{"name":"wychi","url":"https://github.com/wychi"},{"name":"David Kuo","url":"https://github.com/david50407"},{"name":"ChangZhuo Chen","url":"https://github.com/czchen"},{"name":"Lee Treveil","url":"https://github.com/leetreveil"},{"name":"Brian White","url":"https://github.com/mscdex"},{"name":"Mithgol","url":"https://github.com/Mithgol"},{"name":"Nazar Leush","url":"https://github.com/nleush"}],"main":"./lib/index.js","homepage":"https://github.com/ashtuchkin/iconv-lite","bugs":{"url":"https://github.com/ashtuchkin/iconv-lite/issues"},"repository":{"type":"git","url":"git://github.com/ashtuchkin/iconv-lite.git"},"engines":{"node":">=0.8.0"},"scripts":{"coverage":"istanbul cover _mocha -- --grep .","coverage-open":"open coverage/lcov-report/index.html","test":"mocha --reporter spec --grep ."},"browser":{"./extend-node":false,"./streams":false},"devDependencies":{"mocha":"*","request":"2.47","unorm":"*","errto":"*","async":"*","istanbul":"*","iconv":"2.1.4"},"gitHead":"820336d20d947159895c80daab55bac4261ff53c","_id":"iconv-lite@0.4.7","_shasum":"89d32fec821bf8597f44609b4bc09bed5c209a23","_from":"iconv-lite@0.4.7","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"ashtuchkin","email":"ashtuchkin@gmail.com"},"maintainers":[{"name":"ashtuchkin","email":"ashtuchkin@gmail.com"}],"dist":{"shasum":"89d32fec821bf8597f44609b4bc09bed5c209a23","tarball":"http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.7.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.7.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/on-finished/index.js","id":"on-finished/index.js","options":{},"isModule":true,"requiredModules":["ee-first/index.js"],"mtime":1429751760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/on-finished/node_modules/ee-first/index.js","id":"ee-first/index.js","options":{},"isModule":true,"mtime":1413954970000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/on-finished/node_modules/ee-first/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/on-finished/node_modules/ee-first/package.json","data":{"name":"ee-first","description":"return the first event in a set of ee/event pairs","version":"1.1.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/jonathanong/ee-first"},"devDependencies":{"istanbul":"0.3.2","mocha":"1"},"files":["index.js","LICENSE"],"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"a6412004da4745941af2fc98ec30c8da570da7ea","bugs":{"url":"https://github.com/jonathanong/ee-first/issues"},"homepage":"https://github.com/jonathanong/ee-first","_id":"ee-first@1.1.0","_shasum":"6a0d7c6221e490feefd92ec3f441c9ce8cd097f4","_from":"ee-first@1.1.0","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"6a0d7c6221e490feefd92ec3f441c9ce8cd097f4","tarball":"http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/on-finished/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/on-finished/package.json","data":{"name":"on-finished","description":"Execute a callback when a request closes, finishes, or errors","version":"2.2.1","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/jshttp/on-finished"},"dependencies":{"ee-first":"1.1.0"},"devDependencies":{"istanbul":"0.3.9","mocha":"~2.2.4"},"engines":{"node":">= 0.8"},"files":["HISTORY.md","LICENSE","index.js"],"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"f3ecb92fb09d590d314ffe772a6ffd6f76c84223","bugs":{"url":"https://github.com/jshttp/on-finished/issues"},"homepage":"https://github.com/jshttp/on-finished","_id":"on-finished@2.2.1","_shasum":"5c85c1cc36299f78029653f667f27b6b99ebc029","_from":"on-finished@>=2.2.0 <2.3.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"dist":{"shasum":"5c85c1cc36299f78029653f667f27b6b99ebc029","tarball":"http://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/index.js","id":"qs/index.js","options":{},"isModule":true,"requiredModules":["qs/lib/index.js"],"mtime":1415925020000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/lib/index.js","id":"qs/lib/index.js","options":{},"isModule":true,"requiredModules":["qs/lib/stringify.js","qs/lib/parse.js"],"mtime":1413822342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/lib/parse.js","id":"qs/lib/parse.js","options":{},"isModule":true,"requiredModules":["qs/lib/utils.js"],"mtime":1415926394000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/lib/stringify.js","id":"qs/lib/stringify.js","options":{},"isModule":true,"requiredModules":["qs/lib/utils.js"],"mtime":1414081450000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/lib/utils.js","id":"qs/lib/utils.js","options":{},"isModule":true,"mtime":1415925020000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/package.json","data":{"name":"qs","version":"2.3.3","description":"A querystring parser that supports nesting and arrays, with a depth limit","homepage":"https://github.com/hapijs/qs","main":"index.js","dependencies":{},"devDependencies":{"code":"1.x.x","lab":"5.x.x"},"scripts":{"test":"make test-cov"},"repository":{"type":"git","url":"https://github.com/hapijs/qs.git"},"keywords":["querystring","qs"],"licenses":[{"type":"BSD","url":"http://github.com/hapijs/qs/raw/master/LICENSE"}],"gitHead":"9250c4cda5102fcf72441445816e6d311fc6813d","bugs":{"url":"https://github.com/hapijs/qs/issues"},"_id":"qs@2.3.3","_shasum":"e9e85adbe75da0bbe4c8e0476a086290f863b404","_from":"qs@2.3.3","_npmVersion":"2.1.6","_nodeVersion":"0.10.32","_npmUser":{"name":"nlf","email":"quitlahok@gmail.com"},"maintainers":[{"name":"nlf","email":"quitlahok@gmail.com"},{"name":"hueniverse","email":"eran@hueniverse.com"}],"dist":{"shasum":"e9e85adbe75da0bbe4c8e0476a086290f863b404","tarball":"http://registry.npmjs.org/qs/-/qs-2.3.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/qs/-/qs-2.3.3.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/test/parse.js","id":"qs/test/parse.js","options":{},"isModule":true,"requiredModules":["code","lab","qs/index.js"],"mtime":1415926394000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/qs/test/stringify.js","id":"qs/test/stringify.js","options":{},"isModule":true,"requiredModules":["code","lab","qs/index.js"],"mtime":1415925020000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/raw-body/index.js","id":"raw-body/index.js","options":{},"isModule":true,"requiredModules":["bytes/index.js","iconv-lite/lib/index.js"],"mtime":1405884690000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/raw-body/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/raw-body/package.json","data":{"name":"raw-body","description":"Get and validate the raw body of a readable stream.","version":"1.3.3","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Raynos","email":"raynos2@gmail.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/stream-utils/raw-body"},"dependencies":{"bytes":"1.0.0","iconv-lite":"0.4.7"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0","readable-stream":"~1.0.33","through2":"0.6.3"},"engines":{"node":">= 0.8.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"scripts":{"test":"mocha --reporter spec --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec test/"},"gitHead":"54a27e595f513e03007be907dca4e7e57c88257f","bugs":{"url":"https://github.com/stream-utils/raw-body/issues"},"homepage":"https://github.com/stream-utils/raw-body","_id":"raw-body@1.3.3","_shasum":"8841af3f64ad50a351dc77f229118b40c28fa58c","_from":"raw-body@1.3.3","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"8841af3f64ad50a351dc77f229118b40c28fa58c","tarball":"http://registry.npmjs.org/raw-body/-/raw-body-1.3.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/raw-body/-/raw-body-1.3.3.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/index.js","id":"type-is/index.js","options":{},"isModule":true,"requiredModules":["media-typer/index.js","mime-types/index.js"],"mtime":1435798824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/media-typer/index.js","id":"media-typer/index.js","options":{},"isModule":true,"mtime":1410150327000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/media-typer/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/media-typer/package.json","data":{"name":"media-typer","description":"Simple RFC 6838 media type parser and formatter","version":"0.3.0","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/jshttp/media-typer"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4"},"files":["LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --check-leaks --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"d49d41ffd0bb5a0655fa44a59df2ec0bfc835b16","bugs":{"url":"https://github.com/jshttp/media-typer/issues"},"homepage":"https://github.com/jshttp/media-typer","_id":"media-typer@0.3.0","_shasum":"8710d7af0aa626f8fffa1ce00168545263255748","_from":"media-typer@0.3.0","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"8710d7af0aa626f8fffa1ce00168545263255748","tarball":"http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/mime-types/index.js","id":"mime-types/index.js","options":{},"isModule":true,"requiredModules":["mime-db/index.js","path"],"mtime":1433741529000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/db.json","id":"mime-db/db.json","options":{},"isModule":true,"mtime":1438186182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/index.js","id":"mime-db/index.js","options":{},"isModule":true,"requiredModules":["mime-db/db.json"],"mtime":1423439849000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/package.json","data":{"name":"mime-db","description":"Media Type Database","version":"1.16.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"}],"license":"MIT","keywords":["mime","db","type","types","database","charset","charsets"],"repository":{"type":"git","url":"git+https://github.com/jshttp/mime-db.git"},"devDependencies":{"bluebird":"2.9.34","co":"4.6.0","cogent":"1.0.1","csv-parse":"0.1.4","gnode":"0.1.1","istanbul":"0.3.17","mocha":"1.21.5","raw-body":"2.1.2","stream-to-array":"2"},"files":["HISTORY.md","LICENSE","README.md","db.json","index.js"],"engines":{"node":">= 0.6"},"scripts":{"build":"node scripts/build","fetch":"gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx","test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","update":"npm run fetch && npm run build"},"gitHead":"81c7d528a1e9711084f64adbb99b70c24e8fb8c9","bugs":{"url":"https://github.com/jshttp/mime-db/issues"},"homepage":"https://github.com/jshttp/mime-db","_id":"mime-db@1.16.0","_shasum":"e83dce4f81ca5455d29048e6c3422e9de3154f70","_from":"mime-db@>=1.16.0 <1.17.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"e83dce4f81ca5455d29048e6c3422e9de3154f70","tarball":"http://registry.npmjs.org/mime-db/-/mime-db-1.16.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mime-db/-/mime-db-1.16.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/mime-types/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/node_modules/mime-types/package.json","data":{"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"2.1.4","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jeremiah Senkpiel","email":"fishrock123@rocketmail.com","url":"https://searchbeam.jit.su"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","keywords":["mime","types"],"repository":{"type":"git","url":"git+https://github.com/jshttp/mime-types.git"},"dependencies":{"mime-db":"~1.16.0"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["HISTORY.md","LICENSE","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec test/test.js","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js"},"gitHead":"0d801665a7374c71d905d14bc3afc2b0624bb896","bugs":{"url":"https://github.com/jshttp/mime-types/issues"},"homepage":"https://github.com/jshttp/mime-types","_id":"mime-types@2.1.4","_shasum":"6562b328e341245cb63b14473b1d12b40dec5884","_from":"mime-types@>=2.1.4 <2.2.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"6562b328e341245cb63b14473b1d12b40dec5884","tarball":"http://registry.npmjs.org/mime-types/-/mime-types-2.1.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mime-types/-/mime-types-2.1.4.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/node_modules/type-is/package.json","data":{"name":"type-is","description":"Infer the content-type of a request.","version":"1.6.6","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/jshttp/type-is"},"dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.4"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"engines":{"node":">= 0.6"},"files":["LICENSE","HISTORY.md","index.js"],"scripts":{"test":"mocha --reporter spec --check-leaks --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"keywords":["content","type","checking"],"gitHead":"f2b12fce6172bf91f771d8898055d6efa0e30422","bugs":{"url":"https://github.com/jshttp/type-is/issues"},"homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.6","_shasum":"398799519b62360f55c3cd6c486294531975926c","_from":"type-is@>=1.6.0 <1.7.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"defunctzombie","email":"shtylman@gmail.com"}],"dist":{"shasum":"398799519b62360f55c3cd6c486294531975926c","tarball":"http://registry.npmjs.org/type-is/-/type-is-1.6.6.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/type-is/-/type-is-1.6.6.tgz"},"mtime":1439487644000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/body-parser/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/body-parser/package.json","data":{"name":"body-parser","description":"Node.js body parsing middleware","version":"1.12.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/expressjs/body-parser"},"dependencies":{"bytes":"1.0.0","content-type":"~1.0.1","debug":"~2.1.1","depd":"~1.0.0","iconv-lite":"0.4.7","on-finished":"~2.2.0","qs":"2.3.3","raw-body":"1.3.3","type-is":"~1.6.0"},"devDependencies":{"istanbul":"0.3.5","methods":"~1.1.1","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["lib/","LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.8"},"scripts":{"test":"mocha --require test/support/env --reporter spec --check-leaks --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/"},"gitHead":"9ec4d920fc0fbfc8351ff528d19b24d80612e3e0","bugs":{"url":"https://github.com/expressjs/body-parser/issues"},"homepage":"https://github.com/expressjs/body-parser","_id":"body-parser@1.12.0","_shasum":"9750fc3cc1080b34a13d18c79840cd559979fce5","_from":"body-parser@1.12.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"}],"dist":{"shasum":"9750fc3cc1080b34a13d18c79840cd559979fce5","tarball":"http://registry.npmjs.org/body-parser/-/body-parser-1.12.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/body-parser/-/body-parser-1.12.0.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/bower.json","id":"coffee-script/bower.json","options":{},"isModule":true,"mtime":1424291885000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/browser.js","id":"coffee-script/lib/coffee-script/browser.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/cake.js","id":"coffee-script/lib/coffee-script/cake.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/optparse.js","coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/coffee-script.js","id":"coffee-script/lib/coffee-script/coffee-script.js","options":{},"isModule":true,"requiredModules":["fs","vm","path","coffee-script/lib/coffee-script/lexer.js","coffee-script/lib/coffee-script/parser.js","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/sourcemap.js","module","coffee-script/lib/coffee-script/register.js","coffee-script/lib/coffee-script/nodes.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/command.js","id":"coffee-script/lib/coffee-script/command.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/optparse.js","coffee-script/lib/coffee-script/coffee-script.js","child_process","events","coffee-script/lib/coffee-script/repl.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/grammar.js","id":"coffee-script/lib/coffee-script/grammar.js","options":{},"isModule":true,"requiredModules":["jison"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/helpers.js","id":"coffee-script/lib/coffee-script/helpers.js","options":{},"isModule":true,"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/index.js","id":"coffee-script/lib/coffee-script/index.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/lexer.js","id":"coffee-script/lib/coffee-script/lexer.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/rewriter.js","coffee-script/lib/coffee-script/helpers.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/nodes.js","id":"coffee-script/lib/coffee-script/nodes.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/scope.js","coffee-script/lib/coffee-script/lexer.js","coffee-script/lib/coffee-script/helpers.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/optparse.js","id":"coffee-script/lib/coffee-script/optparse.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/helpers.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/parser.js","id":"coffee-script/lib/coffee-script/parser.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1423583117000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/register.js","id":"coffee-script/lib/coffee-script/register.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js","child_process","coffee-script/lib/coffee-script/helpers.js","path","module"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/repl.js","id":"coffee-script/lib/coffee-script/repl.js","options":{},"isModule":true,"requiredModules":["fs","path","vm","repl","coffee-script/lib/coffee-script/coffee-script.js","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/nodes.js"],"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/rewriter.js","id":"coffee-script/lib/coffee-script/rewriter.js","options":{},"isModule":true,"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/scope.js","id":"coffee-script/lib/coffee-script/scope.js","options":{},"isModule":true,"mtime":1424291963000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/lib/coffee-script/sourcemap.js","id":"coffee-script/lib/coffee-script/sourcemap.js","options":{},"isModule":true,"mtime":1424291963000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/package.json","data":{"name":"coffee-script","description":"Unfancy JavaScript","keywords":["javascript","language","coffeescript","compiler"],"author":{"name":"Jeremy Ashkenas"},"version":"1.9.1","license":"MIT","engines":{"node":">=0.8.0"},"directories":{"lib":"./lib/coffee-script"},"main":"./lib/coffee-script/coffee-script","bin":{"coffee":"./bin/coffee","cake":"./bin/cake"},"preferGlobal":true,"scripts":{"test":"node ./bin/cake test","test-harmony":"node --harmony ./bin/cake test"},"homepage":"http://coffeescript.org","bugs":{"url":"https://github.com/jashkenas/coffeescript/issues"},"repository":{"type":"git","url":"git://github.com/jashkenas/coffeescript.git"},"devDependencies":{"uglify-js":"~2.2","jison":">=0.2.0","highlight.js":"~8.0.0","underscore":"~1.5.2","docco":"~0.7.0"},"gitHead":"533ad8afe920b2dbf64ffb00efda45648242cc24","_id":"coffee-script@1.9.1","_shasum":"c458d02200f460d064a79cb6ab1ee6e2c9ca1c31","_from":"coffee-script@1.9.1","_npmVersion":"1.4.28","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"jashkenas","email":"jashkenas@gmail.com"},{"name":"michaelficarra","email":"npm@michael.ficarra.me"}],"dist":{"shasum":"c458d02200f460d064a79cb6ab1ee6e2c9ca1c31","tarball":"http://registry.npmjs.org/coffee-script/-/coffee-script-1.9.1.tgz"},"_resolved":"https://registry.npmjs.org/coffee-script/-/coffee-script-1.9.1.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/register.js","id":"coffee-script/register.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/register.js"],"mtime":1390935990000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/coffee-script/repl.js","id":"coffee-script/repl.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/repl.js"],"mtime":1409070445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/colors/colors.js","id":"colors/colors.js","options":{},"isModule":true,"mtime":1377126803000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/colors/example.js","id":"colors/example.js","options":{},"isModule":true,"requiredModules":["colors/colors.js"],"mtime":1377120062000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/colors/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/colors/package.json","data":{"name":"colors","description":"get colors in your node.js console like what","version":"0.6.2","author":{"name":"Marak Squires"},"homepage":"https://github.com/Marak/colors.js","bugs":{"url":"https://github.com/Marak/colors.js/issues"},"keywords":["ansi","terminal","colors"],"repository":{"type":"git","url":"http://github.com/Marak/colors.js.git"},"engines":{"node":">=0.1.90"},"main":"colors","readme":"# colors.js - get color and style in your node.js console ( and browser ) like what\n\n<img src=\"http://i.imgur.com/goJdO.png\" border = \"0\"/>\n\n\n## Installation\n\n    npm install colors\n\n## colors and styles!\n\n- bold\n- italic\n- underline\n- inverse\n- yellow\n- cyan\n- white\n- magenta\n- green\n- red\n- grey\n- blue\n- rainbow\n- zebra\n- random\n\n## Usage\n\n``` js\nvar colors = require('./colors');\n\nconsole.log('hello'.green); // outputs green text\nconsole.log('i like cake and pies'.underline.red) // outputs red underlined text\nconsole.log('inverse the color'.inverse); // inverses the color\nconsole.log('OMG Rainbows!'.rainbow); // rainbow (ignores spaces)\n```\n\n# Creating Custom themes\n\n```js\n\nvar colors = require('colors');\n\ncolors.setTheme({\n  silly: 'rainbow',\n  input: 'grey',\n  verbose: 'cyan',\n  prompt: 'grey',\n  info: 'green',\n  data: 'grey',\n  help: 'cyan',\n  warn: 'yellow',\n  debug: 'blue',\n  error: 'red'\n});\n\n// outputs red text\nconsole.log(\"this is an error\".error);\n\n// outputs yellow text\nconsole.log(\"this is a warning\".warn);\n```\n\n\n### Contributors \n\nMarak (Marak Squires)\nAlexis Sellier (cloudhead)\nmmalecki (Maciej Małecki)\nnicoreed (Nico Reed)\nmorganrallen (Morgan Allen)\nJustinCampbell (Justin Campbell)\nded (Dustin Diaz)\n\n\n####  , Marak Squires , Justin Campbell, Dustin Diaz (@ded)\n","readmeFilename":"ReadMe.md","_id":"colors@0.6.2","_from":"colors@^0.6.2","scripts":{}},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/colors/test.js","id":"colors/test.js","options":{},"isModule":true,"requiredModules":["assert","colors/colors.js"],"mtime":1377120677000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/colors/themes/winston-dark.js","id":"colors/themes/winston-dark.js","options":{},"isModule":true,"mtime":1374816967000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/colors/themes/winston-light.js","id":"colors/themes/winston-light.js","options":{},"isModule":true,"mtime":1374816967000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/index.js","id":"connect-timeout/index.js","options":{},"isModule":true,"requiredModules":["http-errors/index.js","debug/node.js","ms/index.js","on-headers/index.js"],"mtime":1420003990000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/debug/bower.json","id":"debug/bower.json","options":{},"isModule":true,"mtime":1431242465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/debug/browser.js","id":"debug/browser.js","options":{},"isModule":true,"requiredModules":["debug/debug.js"],"mtime":1431199632000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/debug/component.json","id":"debug/component.json","options":{},"isModule":true,"mtime":1431242465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"requiredModules":["ms/index.js"],"mtime":1408510177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/debug/node.js","id":"debug/node.js","options":{},"isModule":true,"requiredModules":["tty","util/util.js","debug/debug.js","fs","net"],"mtime":1426272474000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/debug/package.json","data":{"name":"debug","version":"2.2.0","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io"}],"license":"MIT","dependencies":{"ms":"0.7.1"},"devDependencies":{"browserify":"9.0.3","mocha":"*"},"main":"./node.js","browser":"./browser.js","component":{"scripts":{"debug/index.js":"browser.js","debug/debug.js":"debug.js"}},"readme":"# debug\n\n  tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n  , http = require('http')\n  , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n  debug(req.method + ' ' + req.url);\n  res.end('hello\\n');\n}).listen(3000, function(){\n  debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n  debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n  ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n  ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n#### Windows note\n\n On Windows the environment variable is set using the `set` command.\n\n ```cmd\n set DEBUG=*,-not_this\n ```\n\nThen, run the program to be debugged as usual.\n\n## Millisecond diff\n\n  When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n  ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n  When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n  ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n  The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n  You can also exclude specific debuggers by prefixing them with a \"-\" character.  For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n  Debug works in the browser as well, currently persisted by `localStorage`. Consider the situation shown below where you have `worker:a` and `worker:b`, and wish to debug both. Somewhere in the code on your page, include:\n\n```js\nwindow.myDebug = require(\"debug\");\n```\n\n  (\"debug\" is a global object in the browser so we give this object a different name.) When your page is open in the browser, type the following in the console:\n\n```js\nmyDebug.enable(\"worker:*\")\n```\n\n  Refresh the page. Debug output will continue to be sent to the console until it is disabled by typing `myDebug.disable()` in the console.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n  a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n  b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n  Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n  option. These are WebKit web inspectors, Firefox ([since version\n  31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n  and the Firebug plugin for Firefox (any version).\n\n  Colored output looks something like:\n\n  ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stdout.js_:\n\n```js\nvar debug = require('debug');\nvar error = debug('app:error');\n\n// by default stderr is used\nerror('goes to stderr!');\n\nvar log = debug('app:log');\n// set this namespace to log via console.log\nlog.log = console.log.bind(console); // don't forget to bind to console!\nlog('goes to stdout');\nerror('still goes to stderr!');\n\n// set all output to go via console.info\n// overrides all per-namespace log settings\ndebug.log = console.info.bind(console);\nerror('now goes to stdout via console.info');\nlog('still goes to stdout, but via console.info now');\n```\n\n### Save debug output to a file\n\nYou can save all debug statements to a file by piping them.\n\nExample:\n\n```bash\n$ DEBUG_FD=3 node your-app.js 3> whatever.log\n```\n\n## Authors\n\n - TJ Holowaychuk\n - Nathan Rajlich\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@2.2.0","_shasum":"f87057e995b1a1f6ae6a4960664137bc56f039da","_from":"debug@>=2.2.0 <2.3.0","_resolved":"https://registry.npmjs.org/debug/-/debug-2.2.0.tgz","scripts":{}},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/index.js","id":"http-errors/index.js","options":{},"isModule":true,"requiredModules":["statuses/index.js","inherits/inherits.js"],"mtime":1422928638000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.1 <2.1.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/statuses/codes.json","id":"statuses/codes.json","options":{},"isModule":true,"mtime":1422834270000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/statuses/index.js","id":"statuses/index.js","options":{},"isModule":true,"requiredModules":["statuses/codes.json"],"mtime":1422833533000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/statuses/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/node_modules/statuses/package.json","data":{"name":"statuses","description":"HTTP status utility","version":"1.2.1","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"repository":{"type":"git","url":"git://github.com/jshttp/statuses.git"},"license":"MIT","keywords":["http","status","code"],"files":["index.js","codes.json","LICENSE"],"devDependencies":{"csv-parse":"0.0.6","istanbul":"0","mocha":"1","stream-to-array":"2"},"scripts":{"build":"node scripts/build.js","update":"node scripts/update.js","test":"mocha --reporter spec --bail --check-leaks","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks"},"readme":"# Statuses\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nHTTP status utility for node.\n\n## API\n\n```js\nvar status = require('statuses');\n```\n\n### var code = status(Integer || String)\n\nIf `Integer` or `String` is a valid HTTP code or status message, then the appropriate `code` will be returned. Otherwise, an error will be thrown.\n\n```js\nstatus(403) // => 'Forbidden'\nstatus('403') // => 'Forbidden'\nstatus('forbidden') // => 403\nstatus('Forbidden') // => 403\nstatus(306) // throws, as it's not supported by node.js\n```\n\n### status.codes\n\nReturns an array of all the status codes as `Integer`s.\n\n### var msg = status[code]\n\nMap of `code` to `status message`. `undefined` for invalid `code`s.\n\n```js\nstatus[404] // => 'Not Found'\n```\n\n### var code = status[msg]\n\nMap of `status message` to `code`. `msg` can either be title-cased or lower-cased. `undefined` for invalid `status message`s.\n\n```js\nstatus['not found'] // => 404\nstatus['Not Found'] // => 404\n```\n\n### status.redirect[code]\n\nReturns `true` if a status code is a valid redirect status.\n\n```js\nstatus.redirect[200] // => undefined\nstatus.redirect[301] // => true\n```\n\n### status.empty[code]\n\nReturns `true` if a status code expects an empty body.\n\n```js\nstatus.empty[200] // => undefined\nstatus.empty[204] // => true\nstatus.empty[304] // => true\n```\n\n### status.retry[code]\n\nReturns `true` if you should retry the rest.\n\n```js\nstatus.retry[501] // => undefined\nstatus.retry[503] // => true\n```\n\n### statuses/codes.json\n\n```js\nvar codes = require('statuses/codes.json');\n```\n\nThis is a JSON file of the status codes\ntaken from `require('http').STATUS_CODES`.\nThis is saved so that codes are consistent even in older node.js versions.\nFor example, `308` will be added in v0.12.\n\n## Adding Status Codes\n\nThe status codes are primarily sourced from http://www.iana.org/assignments/http-status-codes/http-status-codes-1.csv.\nAdditionally, custom codes are added from http://en.wikipedia.org/wiki/List_of_HTTP_status_codes.\nThese are added manually in the `lib/*.json` files.\nIf you would like to add a status code, add it to the appropriate JSON file.\n\nTo rebuild `codes.json`, run the following:\n\n```bash\n# update src/iana.json\nnpm run update\n# build codes.json\nnpm run build\n```\n\n[npm-image]: https://img.shields.io/npm/v/statuses.svg?style=flat\n[npm-url]: https://npmjs.org/package/statuses\n[node-version-image]: http://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg?style=flat\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/statuses.svg?style=flat\n[travis-url]: https://travis-ci.org/jshttp/statuses\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/statuses.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/jshttp/statuses?branch=master\n[downloads-image]: http://img.shields.io/npm/dm/statuses.svg?style=flat\n[downloads-url]: https://npmjs.org/package/statuses\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/statuses/issues"},"homepage":"https://github.com/jshttp/statuses","_id":"statuses@1.2.1","_shasum":"dded45cc18256d51ed40aec142489d5c61026d28","_from":"statuses@>=1.0.0 <2.0.0","_resolved":"https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz"},"mtime":1439487643000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/http-errors/package.json","data":{"name":"http-errors","description":"Create HTTP error objects","version":"1.3.1","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Alan Plum","email":"me@pluma.io"},{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","repository":{"type":"git","url":"git://github.com/jshttp/http-errors.git"},"dependencies":{"inherits":"~2.0.1","statuses":"1"},"devDependencies":{"istanbul":"0","mocha":"1"},"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --bail","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"},"keywords":["http","error"],"files":["index.js","HISTORY.md","LICENSE","README.md"],"readme":"# http-errors\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nCreate HTTP errors for Express, Koa, Connect, etc. with ease.\n\n## Example\n\n```js\nvar createError = require('http-errors');\n\napp.use(function (req, res, next) {\n  if (!req.user) return next(createError(401, 'Please login to view this page.'));\n  next();\n})\n```\n\n## API\n\nThis is the current API, currently extracted from Koa and subject to change.\n\n### Error Properties\n\n- `message`\n- `status` and `statusCode` - the status code of the error, defaulting to `500`\n\n### createError([status], [message], [properties])\n\n```js\nvar err = createError(404, 'This video does not exist!');\n```\n\n- `status: 500` - the status code as a number\n- `message` - the message of the error, defaulting to node's text for that status code.\n- `properties` - custom properties to attach to the object\n\n### new createError\\[code || name\\](\\[msg]\\))\n\n```js\nvar err = new createError.NotFound();\n```\n\n- `code` - the status code as a number\n- `name` - the name of the error as a \"bumpy case\", i.e. `NotFound` or `InternalServerError`.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/http-errors.svg?style=flat\n[npm-url]: https://npmjs.org/package/http-errors\n[node-version-image]: https://img.shields.io/node/v/http-errors.svg?style=flat\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/http-errors.svg?style=flat\n[travis-url]: https://travis-ci.org/jshttp/http-errors\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/http-errors.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/jshttp/http-errors\n[downloads-image]: https://img.shields.io/npm/dm/http-errors.svg?style=flat\n[downloads-url]: https://npmjs.org/package/http-errors\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/http-errors/issues"},"homepage":"https://github.com/jshttp/http-errors","_id":"http-errors@1.3.1","_shasum":"197e22cdebd4198585e8694ef6786197b91ed942","_from":"http-errors@>=1.3.1 <1.4.0","_resolved":"https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1429572968000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/ms/package.json","data":{"name":"ms","version":"0.7.1","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"gitHead":"713dcf26d9e6fd9dbc95affe7eff9783b7f1b909","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.7.1","scripts":{},"_shasum":"9cd13c03adbff25b65effde7ce864ee952017098","_from":"ms@0.7.1","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"rauchg","email":"rauchg@gmail.com"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"}],"dist":{"shasum":"9cd13c03adbff25b65effde7ce864ee952017098","tarball":"http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/on-headers/index.js","id":"on-headers/index.js","options":{},"isModule":true,"mtime":1407712175000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/on-headers/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/node_modules/on-headers/package.json","data":{"name":"on-headers","description":"Execute a listener when a response is about to write headers","version":"1.0.0","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["event","headers","http","onheaders"],"repository":{"type":"git","url":"git://github.com/jshttp/on-headers.git"},"dependencies":{},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.4","supertest":"~0.13.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"readme":"# on-headers\n\n[![NPM Version](https://img.shields.io/npm/v/on-headers.svg?style=flat)](https://www.npmjs.org/package/on-headers)\n[![Node.js Version](https://img.shields.io/badge/node.js->=_0.8-blue.svg?style=flat)](http://nodejs.org/download/)\n[![Build Status](https://img.shields.io/travis/jshttp/on-headers.svg?style=flat)](https://travis-ci.org/jshttp/on-headers)\n[![Coverage Status](https://img.shields.io/coveralls/jshttp/on-headers.svg?style=flat)](https://coveralls.io/r/jshttp/on-headers)\n[![Gittip](https://img.shields.io/gittip/dougwilson.svg?style=flat)](https://www.gittip.com/dougwilson/)\n\nExecute a listener when a response is about to write headers.\n\n## Install\n\n```sh\n$ npm install on-headers\n```\n\n## API\n\n```js\nvar onHeaders = require('on-headers')\n```\n\n### onHeaders(res, listener)\n\nThis will add the listener `listener` to fire when headers are emitted for `res`.\nThe listener is passed the `response` object as it's context (`this`). Headers are\nconsidered to be emitted only once, right before they are sent to the client.\n\nWhen this is called multiple times on the same `res`, the `listener`s are fired\nin the reverse order they were added.\n\n## Examples\n\n```js\nvar http = require('http')\nvar onHeaders = require('on-headers')\n\nhttp\n.createServer(onRequest)\n.listen(3000)\n\nfunction addPoweredBy() {\n  // add if not set by end of request\n  if (!this.getHeader('X-Powered-By')) {\n    this.addHeader('X-Powered-By', 'Node.js')\n  }\n}\n\nfunction onRequest(req, res) {\n  onHeaders(res, addPoweredBy)\n\n  res.setHeader('Content-Type', 'text/plain')\n  res.end('hello!')\n}\n```\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/on-headers/issues"},"homepage":"https://github.com/jshttp/on-headers","_id":"on-headers@1.0.0","_shasum":"2c75b5da4375513d0161c6052e7fcbe4953fca5d","_from":"on-headers@>=1.0.0 <1.1.0","_resolved":"https://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz"},"mtime":1439487642000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/connect-timeout/package.json","data":{"name":"connect-timeout","description":"timeout middleware","version":"1.6.2","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","repository":{"type":"git","url":"git://github.com/expressjs/timeout.git"},"dependencies":{"debug":"~2.2.0","http-errors":"~1.3.1","ms":"0.7.1","on-headers":"~1.0.0"},"devDependencies":{"istanbul":"0.3.9","mocha":"~2.2.4","supertest":"~0.15.0"},"files":["LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.8"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --check-leaks test/"},"readme":"# connect-timeout\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n[![Gratipay][gratipay-image]][gratipay-url]\n\nTimes out the request in `ms`, defaulting to `5000`.\n\n## Install\n\n```sh\n$ npm install connect-timeout\n```\n\n## API\n\n**NOTE** This module is not recommend as a \"top-level\" middleware (i.e.\n`app.use(timeout('5s'))`) unless you take precautions to halt your own\nmiddleware processing. See [as top-level middleware](#as-top-level-middleware)\nfor how to use as a top-level middleware.\n\n### timeout(time, [options])\n\nReturns middleware that times out in `time` milliseconds. `time` can also\nbe a string accepted by the [ms](https://www.npmjs.org/package/ms#readme)\nmodule. On timeout, `req` will emit `\"timeout\"`.\n\n#### Options\n\nThe `timeout` function takes an optional `options` object that may contain\nany of the following keys:\n\n##### respond\n\nControls if this module will \"respond\" in the form of forwarding an error.\nIf `true`, the timeout error is passed to `next()` so that you may customize\nthe response behavior. This error has a `.timeout` property as well as\n`.status == 503`. This defaults to `true`.\n\n### req.clearTimeout()\n\nClears the timeout on the request. The timeout is completely removed and\nwill not fire for this request in the future.\n\n### req.timedout\n\n`true` if timeout fired; `false` otherwise.\n\n## Examples\n\n### as top-level middleware\n\nBecause of the way middleware processing works, this once this module\npasses the request to the next middleware (which it has to do in order\nfor you to do work), it can no longer stop the flow, so you must take\ncare to check if the request has timedout before you continue to act\non the request.\n\n```javascript\nvar express = require('express');\nvar timeout = require('connect-timeout');\n\n// example of using this top-level; note the use of haltOnTimedout\n// after every middleware; it will stop the request flow on a timeout\nvar app = express();\napp.use(timeout('5s'));\napp.use(bodyParser());\napp.use(haltOnTimedout);\napp.use(cookieParser());\napp.use(haltOnTimedout);\n\n// Add your routes here, etc.\n\nfunction haltOnTimedout(req, res, next){\n  if (!req.timedout) next();\n}\n\napp.listen(3000);\n```\n\n### express 3.x\n\n```javascript\nvar express = require('express');\nvar bodyParser = require('body-parser');\nvar timeout = require('connect-timeout');\n\nvar app = express();\napp.post('/save', timeout('5s'), bodyParser.json(), haltOnTimedout, function(req, res, next){\n  savePost(req.body, function(err, id){\n    if (err) return next(err);\n    if (req.timedout) return;\n    res.send('saved as id ' + id);\n  });\n});\n\nfunction haltOnTimedout(req, res, next){\n  if (!req.timedout) next();\n}\n\nfunction savePost(post, cb){\n  setTimeout(function(){\n    cb(null, ((Math.random()* 40000) >>> 0));\n  }, (Math.random()* 7000) >>> 0));\n}\n\napp.listen(3000);\n```\n\n### connect\n\n```javascript\nvar bodyParser = require('body-parser');\nvar connect = require('connect');\nvar timeout = require('connect-timeout');\n\nvar app = require('connect');\napp.use('/save', timeout('5s'), bodyParser.json(), haltOnTimedout, function(req, res, next){\n  savePost(req.body, function(err, id){\n    if (err) return next(err);\n    if (req.timedout) return;\n    res.send('saved as id ' + id);\n  });\n});\n\nfunction haltOnTimedout(req, res, next){\n  if (!req.timedout) next();\n}\n\nfunction savePost(post, cb){\n  setTimeout(function(){\n    cb(null, ((Math.random()* 40000) >>> 0));\n  }, (Math.random()* 7000) >>> 0));\n}\n\napp.listen(3000);\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/connect-timeout.svg\n[npm-url]: https://npmjs.org/package/connect-timeout\n[travis-image]: https://img.shields.io/travis/expressjs/timeout/master.svg\n[travis-url]: https://travis-ci.org/expressjs/timeout\n[coveralls-image]: https://img.shields.io/coveralls/expressjs/timeout/master.svg\n[coveralls-url]: https://coveralls.io/r/expressjs/timeout?branch=master\n[downloads-image]: https://img.shields.io/npm/dm/connect-timeout.svg\n[downloads-url]: https://npmjs.org/package/connect-timeout\n[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg\n[gratipay-url]: https://www.gratipay.com/dougwilson/\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/expressjs/timeout/issues"},"homepage":"https://github.com/expressjs/timeout","_id":"connect-timeout@1.6.2","_shasum":"de9a5ec61e33a12b6edaab7b5f062e98c599b88e","_from":"connect-timeout@>=1.6.2 <2.0.0","_resolved":"https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/index.js","id":"cookie-parser/index.js","options":{},"isModule":true,"requiredModules":["cookie/index.js","cookie-parser/lib/parse.js"],"mtime":1409978244000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/lib/parse.js","id":"cookie-parser/lib/parse.js","options":{},"isModule":true,"requiredModules":["cookie-signature/index.js"],"mtime":1403064356000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/node_modules/cookie/index.js","id":"cookie/index.js","options":{},"isModule":true,"mtime":1393170916000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/node_modules/cookie/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/node_modules/cookie/package.json","data":{"author":{"name":"Roman Shtylman","email":"shtylman@gmail.com"},"name":"cookie","description":"cookie parsing and serialization","version":"0.1.2","repository":{"type":"git","url":"git://github.com/shtylman/node-cookie.git"},"keywords":["cookie","cookies"],"main":"index.js","scripts":{"test":"mocha"},"dependencies":{},"devDependencies":{"mocha":"1.x.x"},"optionalDependencies":{},"engines":{"node":"*"},"bugs":{"url":"https://github.com/shtylman/node-cookie/issues"},"homepage":"https://github.com/shtylman/node-cookie","_id":"cookie@0.1.2","dist":{"shasum":"72fec3d24e48a3432073d90c12642005061004b1","tarball":"http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz"},"_from":"cookie@0.1.2","_npmVersion":"1.4.6","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"maintainers":[{"name":"shtylman","email":"shtylman@gmail.com"}],"directories":{},"_shasum":"72fec3d24e48a3432073d90c12642005061004b1","_resolved":"https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/node_modules/cookie-signature/index.js","id":"cookie-signature/index.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1423000938000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/node_modules/cookie-signature/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/node_modules/cookie-signature/package.json","data":{"name":"cookie-signature","version":"1.0.6","description":"Sign and unsign cookies","keywords":["cookie","sign","unsign"],"author":{"name":"TJ Holowaychuk","email":"tj@learnboost.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/visionmedia/node-cookie-signature.git"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"scripts":{"test":"mocha --require should --reporter spec"},"main":"index","gitHead":"391b56cf44d88c493491b7e3fc53208cfb976d2a","bugs":{"url":"https://github.com/visionmedia/node-cookie-signature/issues"},"homepage":"https://github.com/visionmedia/node-cookie-signature","_id":"cookie-signature@1.0.6","_shasum":"e303a882b342cc3ee8ca513a79999734dab3ae2c","_from":"cookie-signature@1.0.6","_npmVersion":"2.3.0","_nodeVersion":"0.10.36","_npmUser":{"name":"natevw","email":"natevw@yahoo.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"natevw","email":"natevw@yahoo.com"}],"dist":{"shasum":"e303a882b342cc3ee8ca513a79999734dab3ae2c","tarball":"http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"},"mtime":1439487642000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/cookie-parser/package.json","data":{"name":"cookie-parser","description":"cookie parsing with signatures","version":"1.3.4","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"licenses":"MIT","repository":{"type":"git","url":"https://github.com/expressjs/cookie-parser"},"keywords":["cookie","middleware"],"dependencies":{"cookie":"0.1.2","cookie-signature":"1.0.6"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0","supertest":"0.15.0"},"files":["lib/","LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"94764a584c70f26049b14c6ad845c8b0ed0e478b","bugs":{"url":"https://github.com/expressjs/cookie-parser/issues"},"homepage":"https://github.com/expressjs/cookie-parser","_id":"cookie-parser@1.3.4","_shasum":"193035a5be97117a21709b3aa737f6132717bda6","_from":"cookie-parser@1.3.4","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"193035a5be97117a21709b3aa737f6132717bda6","tarball":"http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.4.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/lib/index.js","id":"cors/lib/index.js","options":{},"isModule":true,"requiredModules":["vary/index.js"],"mtime":1432854254000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/node_modules/vary/index.js","id":"vary/index.js","options":{},"isModule":true,"mtime":1436218554000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/cors/node_modules/vary/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/cors/node_modules/vary/package.json","data":{"name":"vary","description":"Manipulate the HTTP Vary header","version":"1.0.1","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["http","res","vary"],"repository":{"type":"git","url":"git://github.com/jshttp/vary.git"},"devDependencies":{"istanbul":"0.3.17","mocha":"2.2.5","supertest":"1.0.1"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"engines":{"node":">= 0.8"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"readme":"# vary\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nManipulate the HTTP Vary header\n\n## Installation\n\n```sh\n$ npm install vary\n```\n\n## API\n\n```js\nvar vary = require('vary')\n```\n\n### vary(res, field)\n\nAdds the given header `field` to the `Vary` response header of `res`.\nThis can be a string of a single field, a string of a valid `Vary`\nheader, or an array of multiple fields.\n\nThis will append the header if not already listed, otherwise leaves\nit listed in the current location.\n\n```js\n// Append \"Origin\" to the Vary header of the response\nvary(res, 'Origin')\n```\n\n### vary.append(header, field)\n\nAdds the given header `field` to the `Vary` response header string `header`.\nThis can be a string of a single field, a string of a valid `Vary` header,\nor an array of multiple fields.\n\nThis will append the header if not already listed, otherwise leaves\nit listed in the current location. The new header string is returned.\n\n```js\n// Get header string appending \"Origin\" to \"Accept, User-Agent\"\nvary.append('Accept, User-Agent', 'Origin')\n```\n\n## Examples\n\n### Updating the Vary header when content is based on it\n\n```js\nvar http = require('http')\nvar vary = require('vary')\n\nhttp.createServer(function onRequest(req, res) {\n  // about to user-agent sniff\n  vary(res, 'User-Agent')\n\n  var ua = req.headers['user-agent'] || ''\n  var isMobile = /mobi|android|touch|mini/i.test(ua)\n\n  // serve site, depending on isMobile\n  res.setHeader('Content-Type', 'text/html')\n  res.end('You are (probably) ' + (isMobile ? '' : 'not ') + 'a mobile user')\n})\n```\n\n## Testing\n\n```sh\n$ npm test\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/vary.svg\n[npm-url]: https://npmjs.org/package/vary\n[node-version-image]: https://img.shields.io/node/v/vary.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/vary/master.svg\n[travis-url]: https://travis-ci.org/jshttp/vary\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/vary/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/vary\n[downloads-image]: https://img.shields.io/npm/dm/vary.svg\n[downloads-url]: https://npmjs.org/package/vary\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/vary/issues"},"homepage":"https://github.com/jshttp/vary","_id":"vary@1.0.1","_shasum":"99e4981566a286118dfb2b817357df7993376d10","_from":"vary@>=1.0.0 <2.0.0","_resolved":"https://registry.npmjs.org/vary/-/vary-1.0.1.tgz"},"mtime":1443111113000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/cors/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/cors/package.json","data":{"name":"cors","version":"2.7.1","author":{"name":"Troy Goode","email":"troygoode@gmail.com","url":"https://github.com/troygoode/"},"description":"middleware for dynamically or statically enabling CORS in express/connect applications","keywords":["cors","express","connect","middleware"],"homepage":"https://github.com/expressjs/cors/","repository":{"type":"git","url":"git://github.com/expressjs/cors.git"},"contributors":[{"name":"Troy Goode","email":"troygoode@gmail.com","url":"https://github.com/troygoode/"}],"license":"MIT","bugs":{"url":"https://github.com/expressjs/cors/issues"},"main":"./lib/index.js","engines":{"node":">=0.10.0"},"dependencies":{"vary":"^1"},"devDependencies":{"basic-auth-connect":"^1.0.0","body-parser":"^1.12.4","eslint":"^0.21.2","express":"^4.12.4","mocha":"^2.2.5","should":"^6.0.3","supertest":"^1.0.1"},"scripts":{"test":"npm run lint && ./node_modules/mocha/bin/mocha","lint":"./node_modules/eslint/bin/eslint.js lib test"},"gitHead":"bef1a97c22a3f15cb23ab2d9cf8e7e3f7134e107","_id":"cors@2.7.1","_shasum":"3c2e50a58af9ef8c89bee21226b099be1f02739b","_from":"cors@>=2.7.1 <3.0.0","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"troygoode","email":"troygoode@gmail.com"},"maintainers":[{"name":"troygoode","email":"troygoode@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"3c2e50a58af9ef8c89bee21226b099be1f02739b","tarball":"http://registry.npmjs.org/cors/-/cors-2.7.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/cors/-/cors-2.7.1.tgz"},"mtime":1443111112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/test/basic-auth.js","id":"cors/test/basic-auth.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","express/index.js","supertest/index.js","basic-auth-connect","cors/lib/index.js"],"mtime":1432854217000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/test/body-events.js","id":"cors/test/body-events.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","express/index.js","supertest/index.js","body-parser/index.js","cors/lib/index.js"],"mtime":1432854217000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/test/cors.js","id":"cors/test/cors.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","cors/lib/index.js"],"mtime":1432854254000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/test/error-response.js","id":"cors/test/error-response.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","express/index.js","supertest/index.js","cors/lib/index.js"],"mtime":1432854217000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/test/example-app.js","id":"cors/test/example-app.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","express/index.js","supertest/index.js","cors/lib/index.js"],"mtime":1432854217000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/test/issue-2.js","id":"cors/test/issue-2.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","express/index.js","supertest/index.js","cors/lib/index.js"],"mtime":1432854217000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cors/test/issue-31.js","id":"cors/test/issue-31.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","express/index.js","supertest/index.js","cors/lib/index.js"],"mtime":1432854217000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cron-parser/component.json","id":"cron-parser/component.json","options":{},"isModule":true,"mtime":1422917572000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cron-parser/lib/date.js","id":"cron-parser/lib/date.js","options":{},"isModule":true,"mtime":1416265206000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cron-parser/lib/expression.js","id":"cron-parser/lib/expression.js","options":{},"isModule":true,"requiredModules":["cron-parser/lib/date.js"],"mtime":1423089906000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cron-parser/lib/parser.js","id":"cron-parser/lib/parser.js","options":{},"isModule":true,"requiredModules":["cron-parser/lib/expression.js","fs"],"mtime":1422910144000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/cron-parser/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/cron-parser/package.json","data":{"name":"cron-parser","version":"0.6.1","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","directories":{"test":"test"},"scripts":{"test":"tap ./test/*.js"},"repository":{"type":"git","url":"git+ssh://git@github.com:harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":{"name":"Harri Siirak"},"contributors":[{"name":"Renault John Lecoultre"},{"name":"Richard Astbury","email":"richard.astbury@gmail.com"},{"name":"Meaglin Wasabi","email":"Meaglin.wasabi@gmail.com"},{"name":"Mike Kusold","email":"hello@mikekusold.com"},{"name":"Alex Kit","email":"alex.kit@atmajs.com"},{"name":"Santiago Gimeno","email":"santiago.gimeno@gmail.com"},{"name":"Daniel","email":"darc.tec@gmail.com"}],"license":"MIT","devDependencies":{"tap":"^0.5.0"},"engines":{"node":">=0.8"},"gitHead":"5e3a8f1bc93b2994fb24869756cb4ac875b048df","bugs":{"url":"https://github.com/harrisiirak/cron-parser/issues"},"homepage":"https://github.com/harrisiirak/cron-parser","_id":"cron-parser@0.6.1","_shasum":"cc894fe5ad2a84da0bceecaab2fba9e8a396a501","_from":"cron-parser@0.6.1","_npmVersion":"2.3.0","_nodeVersion":"0.10.36","_npmUser":{"name":"harrisiirak","email":"harri.siirak@gmail.com"},"maintainers":[{"name":"harrisiirak","email":"harri.siirak@gmail.com"}],"dist":{"shasum":"cc894fe5ad2a84da0bceecaab2fba9e8a396a501","tarball":"http://registry.npmjs.org/cron-parser/-/cron-parser-0.6.1.tgz"},"_resolved":"https://registry.npmjs.org/cron-parser/-/cron-parser-0.6.1.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cron-parser/test/expression.js","id":"cron-parser/test/expression.js","options":{},"isModule":true,"requiredModules":["util/util.js","tap","cron-parser/lib/expression.js"],"mtime":1423090010000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/cron-parser/test/parser.js","id":"cron-parser/test/parser.js","options":{},"isModule":true,"requiredModules":["util/util.js","tap","cron-parser/lib/parser.js"],"mtime":1422916790000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/lib/index.js","id":"csv/lib/index.js","options":{},"isModule":true,"requiredModules":["csv-generate/lib/index.js","csv-parse/lib/index.js","stream-transform/lib/index.js","csv-stringify/lib/index.js"],"mtime":1400527283000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-generate/lib/index.js","id":"csv-generate/lib/index.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js"],"mtime":1399068958000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-generate/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-generate/package.json","data":{"version":"0.0.4","name":"csv-generate","description":"CSV and object generation implementing the Node.js `stream.Readable` API","repository":{"type":"git","url":"http://www.github.com/wdavidw/node-csv-generate"},"keywords":["stream","generate","csv","object"],"dependencies":{},"devDependencies":{"coffee-script":"latest","mocha":"latest","should":"latest"},"optionalDependencies":{},"main":"./lib","scripts":{"test":"make test"},"readme":"[![Build Status](https://secure.travis-ci.org/wdavidw/node-csv-generate.png)](http://travis-ci.org/wdavidw/node-csv-generate)\n\nCSV and object generation\n=========================\n\nThis module export a flexible generator of CSV string and Javascript objects \nimplementing the Node.js `stream.Readable` API.\n\nFeatures includes:\n\n*   random or pseudo-random seed based generation\n*   `stream.Readable` implementation\n\nUsage\n-----\n\nRun `npm install csv` to install the full csv module or run \n`npm install csv-generate` if you are only interested by the CSV parser.\n\nUse the callback style API for simplicity or the stream based API for \nscalability.\n\n### Using the callback API\n\nThe parser receive a string and return an array inside a user-provided \ncallback. This example is available with the command `node samples/callback.js`.\n\n```javascript\nvar generate = require('csv-generate');\n\ngenerate({seed: 1, columns: 2, length: 2}, function(err, output){\n  output.should.eql('OMH,ONKCHhJmjadoA\\nD,GeACHiN');\n});\n```\n\n### Using the stream API\n    \n```javascript\n// node samples/stream.js\nvar generate = require('csv-generate');\n\nvar data = []\nvar generator = generate({seed: 1, objectMode: true, columns: 2, length: 2});\ngenerator.on('readable', function(){\n  while(d = generator.read()){\n    data.push(d);\n  }\n});\ngenerator.on('error', function(err){\n  console.log(err);\n});\ngenerator.on('end', function(){\n  data.should.eql([ [ 'OMH', 'ONKCHhJmjadoA' ],[ 'D', 'GeACHiN' ] ]);\n});\n```\n\n### Using the pipe function\n\nOne usefull function part of the Stream API is `pipe` to interact between \nmultiple streams. You may use this function to pipe a `stream.Readable` string \nsource to a `stream.Writable` object destination. The next example available as \n`node samples/pipe.js` read the file, parse its content and transform it.\n\n```javascript\n// node samples/pipe.js\nvar generate = require('csv-generate');\n\nvar generator = generate({columns: ['int', 'bool'], length: 2});\ngenerator.pipe(process.stdout);\n```\n\nMigration\n---------\n\nMost of the generator is imported from its parent project [CSV][csv] in a effort \nto split it between the generator, the parser, the transformer and the stringifier.\n\nDevelopment\n-----------\n\nTests are executed with mocha. To install it, simple run `npm install` \nfollowed by `npm test`. It will install mocha and its dependencies in your \nproject \"node_modules\" directory and run the test suite. The tests run \nagainst the CoffeeScript source files.\n\nTo generate the JavaScript files, run `make build`.\n\nThe test suite is run online with [Travis][travis] against the versions \n0.9, 0.10 and 0.11 of Node.js.\n\nContributors\n------------\n\n*   David Worms: <https://github.com/wdavidw>\n\n[csv]: https://github.com/wdavidw/node-csv\n[travis]: https://travis-ci.org/#!/wdavidw/node-csv-generate\n","readmeFilename":"README.md","_id":"csv-generate@0.0.4","_shasum":"6d0329b847ba0e12e24b82f4cf949c38c6f84d2f","_from":"csv-generate@*","_resolved":"https://registry.npmjs.org/csv-generate/-/csv-generate-0.0.4.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-generate/samples/callback.js","id":"csv-generate/samples/callback.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","csv-generate/lib/index.js"],"mtime":1399068965000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-generate/samples/pipe.js","id":"csv-generate/samples/pipe.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","csv-generate/lib/index.js"],"mtime":1399669393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-generate/samples/stream.js","id":"csv-generate/samples/stream.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","csv-generate/lib/index.js"],"mtime":1399068971000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-stringify/lib/index.js","id":"csv-stringify/lib/index.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js"],"mtime":1403216101000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-stringify/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-stringify/package.json","data":{"version":"0.0.3","name":"csv-stringify","description":"CSV stringifier implementing the Node.js `stream.Transform` API","keywords":["csv","stringify","stringifier"],"licenses":[{"type":"BSD","url":"https://github.com/wdavidw/node-csv-stringify/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://www.github.com/wdavidw/node-csv-stringify"},"dependencies":{},"devDependencies":{"coffee-script":"latest","csv-generate":"latest","mocha":"latest","should":"latest"},"optionalDependencies":{},"main":"./lib","scripts":{"test":"make test"},"readme":"[![Build Status](https://secure.travis-ci.org/wdavidw/node-csv-stringify.png)](http://travis-ci.org/wdavidw/node-csv-stringify)\n\nThis project is part of the [CSV module](https://github.com/wdavidw/node-csv) \nand a stringifier converting records into a CSV text and implementing the \nNode.js `stream.Transform` API. It is also providing a simple callback-base API \nfor converniency. It is both extremely easy to use and powerfull. It was \nreleased since 2010 and is tested against very large dataset by a large \ncommunity.\n\n[The full documentation of the CSV parser is available here](http://www.adaltas.com/projects/node-csv/).\n\nNote\n----\n\nThis module is to be considered in alpha stage. It is part of an ongoing effort \nto split the current CSV module into complementary modules with a cleaner design \nand the latest stream implementation. However, the code has been imported with \nvery little changes and you should feel confident to use it in your code.\n\nUsage\n-----\n\nRun `npm install csv` to install the full csv module or run \n`npm install csv-stringify` if you are only interested by the CSV stringifier.\n\nUse the callback style API for simplicity or the stream based API for \nscalability.\n\n### Using the callback API\n\nThe stringifier receive an array and return a string inside a user-provided \ncallback. This example is available with the command `node samples/callback.js`.\n\n```javascript\nvar stringify = require('csv-stringify');\n\ninput = [ [ '1', '2', '3', '4' ], [ 'a', 'b', 'c', 'd' ] ];\nstringify(input, function(err, output){\n  output.should.eql('1,2,3,4\\na,b,c,d');\n});\n```\n\n### Using the stream API\n    \n```javascript\n// node samples/stream.js\nvar stringify = require('csv-stringify');\n\ndata = '';\nstringifier = stringify({delimiter: ':'})\nstringifier.on('readable', function(){\n  while(row = stringifier.read()){\n    data += row;\n  }\n});\nstringifier.on('error', function(err){\n  consol.log(err.message);\n});\nstringifier.on('finish', function(){\n  data.should.eql(\n    \"root:x:0:0:root:/root:/bin/bash\\n\" +\n    \"someone:x:1022:1022:a funny cat:/home/someone:/bin/bash\"\n  );\n});\nstringifier.write([ 'root','x','0','0','root','/root','/bin/bash' ]);\nstringifier.write([ 'someone','x','1022','1022','a funny cat','/home/someone','/bin/bash' ]);\nstringifier.end();\n```\n\n### Using the pipe function\n\nOne usefull function part of the Stream API is `pipe` to interact between \nmultiple streams. You may use this function to pipe a `stream.Readable` array \nor object source to a `stream.Writable` string destination. The next example \navailable as `node samples/pipe.js` generate records, stringify them and print \nthem to stdout.\n\n```javascript\nstringify = require('csv-stringify');\ngenerate = require('csv-generate');\n\ngenerator = generate({objectMode: true, seed: 1, headers: 2});\nstringifier = stringify();\ngenerator.pipe(stringifier).pipe(process.stdout);\n```\n\nMigration\n---------\n\nMost of the generator is imported from its parent project [CSV][csv] in a effort \nto split it between the generator, the parser, the transformer and the \nstringifier.\n\nDevelopment\n-----------\n\nTests are executed with mocha. To install it, simple run `npm install` \nfollowed by `npm test`. It will install mocha and its dependencies in your \nproject \"node_modules\" directory and run the test suite. The tests run \nagainst the CoffeeScript source files.\n\nTo generate the JavaScript files, run `make build`.\n\nThe test suite is run online with [Travis][travis] against the versions \n0.9, 0.10 and 0.11 of Node.js.\n\nContributors\n------------\n\n*   David Worms: <https://github.com/wdavidw>\n\n[csv]: https://github.com/wdavidw/node-csv\n[travis]: https://travis-ci.org/#!/wdavidw/node-csv-stringify\n","readmeFilename":"README.md","_id":"csv-stringify@0.0.3","_shasum":"cfe9ae46f5bf1111afaec17843e08d8b10358d0b","_from":"csv-stringify@*","_resolved":"https://registry.npmjs.org/csv-stringify/-/csv-stringify-0.0.3.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-stringify/samples/callback.js","id":"csv-stringify/samples/callback.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","csv-stringify/lib/index.js"],"mtime":1395096934000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-stringify/samples/pipe.js","id":"csv-stringify/samples/pipe.js","options":{},"isModule":true,"requiredModules":["csv-stringify/lib/index.js","csv-generate/lib/index.js"],"mtime":1395097865000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/csv-stringify/samples/stream.js","id":"csv-stringify/samples/stream.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","csv-stringify/lib/index.js"],"mtime":1395097405000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/stream-transform/lib/index.js","id":"stream-transform/lib/index.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js"],"mtime":1407437444000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/stream-transform/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/stream-transform/package.json","data":{"version":"0.0.6","name":"stream-transform","description":"Object transformations implementing the Node.js `stream.Transform` API","keywords":["stream","transform","csv","object"],"licenses":[{"type":"BSD","url":"https://github.com/wdavidw/node-stream-transform/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://www.github.com/wdavidw/node-stream-transform"},"dependencies":{},"devDependencies":{"coffee-script":"latest","pad":"latest","mocha":"latest","csv-generate":"latest","should":"latest"},"optionalDependencies":{},"main":"./lib","scripts":{"test":"make test"},"readme":"[![Build Status](https://secure.travis-ci.org/wdavidw/node-stream-transform.png)][travis]\n\nThis project provides a simple object transformation framework implementing the \nNode.js `stream.Transform` API. It was originally developed as a part of the Node.js \n[CSV package][csv] (`npm install csv`) and can be used independently.\n\n[Documentation for the stream-transform package is available here][transform].\n\n*   Simple callback based API\n*   Node.js [stream.Transform][streamtransform] API, pipe through it\n*   synchronous versus asynchronous user callbacks\n*   Accept object, array or JSON as input and output\n*   Sequential or user-defined concurrent execution\n*   Skip and create new records\n*   Alter or clone input data\n\n## Usage\n\nRun `npm install csv` to install the full CSV module or run \n`npm install stream-transform` if you are only interested by this package.\n\nCallback API: `transform(udf, [options])`   \n\nStream API: `transform(data, [options], udf, [options], [callback])`   \n\nUse the callback style API for simplicity or the stream based API for \nscalability or mix the 2 APIs.\n\nFor examples, refer to below examples, [the \"samples\" folder][stream-samples], \nthe documentation or [the \"test\" folder][stream-test].\n\n## Synchronous versus asynchronous execution\n\nThe mode is defined by the signature of transformation function. It is expected\nto run synchronously when it declares only one argument, the data to \ntransform. It is expected to run asynchronously when it declares two arguments,\nthe data to transform and the callback to be called once the transformed data\nis ready.\n\nIn synchronous mode, you may simply return the altered data or throw an error.\nIn asynchronous mode, you must call the provided callback with 2 arguments, the\nerror if any and the altered data.\n\n## Array versus objects\n\nThe transformation function may either receive arrays or objects.\n\nIf you specify the `columns` read option, the `row` argument will be \nprovided as an object with keys matching columns names. Otherwise it\nwill be provided as an array.\n\n## Sequential versus concurrent execution\n\nBy sequential, we mean only 1 transformation function is running at a given\ntime. By concurrent, we mean a maximum of x functions are running in parrallel. \nThe number of running functions is defined by the \"parallel\" option. When set to\n\"1\", the mode is sequential, when above \"1\", it defines the maximum of running \nfunctions. Note, this only affect asynchronous executions.\n\n## Skipping and creating records\n\nSkipping records is easily achieved by returning null in synchonous mode or\npassing null to the callback handler in asynchonous mode. Generating multiple\nrecords is only supported in asynchonous mode by providing n-arguments after the\nerror argument instead of simply one.\n\n## Altering or cloning the provided data\n\nThe data recieved inside the transformation function is the original data and is\nnot modified nor cloned. Depending on which api you choose, it may be provided \nin the constructor or send to the `write` function. If you wish to not alter the\noriginal data, it is your responsibility to send a new data in your\ntransformation function instead of the original modified data.\n\n## Examples\n\n### Using the callback API\n\nThe transformer receive a string and return an array inside a user-provided \ncallback. This example is available with the command `node samples/callback.js`.\n\n```javascript\nvar transform = require('stream-transform');\nvar should = require('should');\n\ntransform([\n  ['1','2','3','4'],\n  ['a','b','c','d']\n], function(data){\n  data.push(data.shift())\n  return data;\n}, function(err, output){\n  output.should.eql([ [ '2', '3', '4', '1' ], [ 'b', 'c', 'd', 'a' ] ]);\n});\n```\n\n### Using the stream API\n\nCSV data is send through the `write` function and the resulted data is obtained\nwithin the \"readable\" event by calling the `read` function. This example is \navailable with the command `node samples/stream.js`.\n\n```javascript\nvar transform = require('stream-transform');\nvar should = require('should');\n\nvar output = [];\nvar transformer = transform(function(data){\n  data.push(data.shift())\n  return data;\n});\ntransformer.on('readable', function(){\n  while(row = transformer.read()){\n    output.push(row);\n  }\n});\ntransformer.on('error', function(err){\n  console.log(err.message);\n});\ntransformer.on('finish', function(){\n  output.should.eql([ [ '2', '3', '4', '1' ], [ 'b', 'c', 'd', 'a' ] ]);\n});\ntransformer.write(['1','2','3','4']);\ntransformer.write(['a','b','c','d']);\ntransformer.end();\n```\n\n### Using synchronous transformation\n\nYou may run this script with the command `node samples/synchronous.js`.\n\nThe transformation function is run synchronously because is only expect one \nargument, the data to be transformed. It is expected to return the transformed\ndata or to throw an error.\n    \n```javascript\nvar transform = require('stream-transform');\n\ntransform([\n  ['1','2','3','4'],\n  ['a','b','c','d']\n], function(data){\n  data.push(data.shift());\n  return data.join(',')+'\\n';\n})\n.pipe(process.stdout);\n\n// Output:\n// 2,3,4,1\n// b,c,d,a\n```\n\n### Using asynchronous transformation\n\nYou may run this script with the command `node samples/asynchronous.js`.\n\nThe transformation callback is requesting two arguments, the data to transform\nand the callback to call once the data is ready.\n\nThe transformation callback is exected concurrently with a maximum of 20 \nparallel executions.\n\n```javascript\nvar transform = require('stream-transform');\n\ntransform([\n  ['1','2','3','4'],\n  ['a','b','c','d']\n], function(data, callback){\n  setImmediate(function(){\n    data.push(data.shift());\n    callback(null, data.join(',')+'\\n');\n  });\n}, {parallel: 20})\n.pipe(process.stdout);\n\n// Output:\n// 2,3,4,1\n// b,c,d,a\n```\n\n## Development\n\nTests are executed with mocha. To install it, simple run `npm install` \nfollowed by `npm test`. It will install mocha and its dependencies in your \nproject \"node_modules\" directory and run the test suite. The tests run \nagainst the CoffeeScript source files.\n\nTo generate the JavaScript files, run `make build`.\n\nThe test suite is run online with [Travis][travis] against the versions \n0.9, 0.10 and 0.11 of Node.js.\n\n## Contributors\n\n*\t  David Worms: <https://github.com/wdavidw>\n\n[streamtransform]: http://nodejs.org/api/stream.html#stream_class_stream_transform\n[transform]: https://github.com/wdavidw/node-stream-transform\n[csv]: https://github.com/wdavidw/node-csv\n[stream-samples]: https://github.com/wdavidw/node-stream-transform/tree/master/samples\n[stream-test]: https://github.com/wdavidw/node-stream-transform/tree/master/test\n[travis]: http://travis-ci.org/wdavidw/node-stream-transform\n\n","readmeFilename":"README.md","_id":"stream-transform@0.0.6","_shasum":"365aa2beffe68cfaa96cb4c525f8644befc3d037","_from":"stream-transform@*","_resolved":"https://registry.npmjs.org/stream-transform/-/stream-transform-0.0.6.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/stream-transform/samples/asynchronous.js","id":"stream-transform/samples/asynchronous.js","options":{},"isModule":true,"requiredModules":["stream-transform/lib/index.js"],"mtime":1399672251000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/stream-transform/samples/callback.js","id":"stream-transform/samples/callback.js","options":{},"isModule":true,"requiredModules":["stream-transform/lib/index.js","should/lib/should.js"],"mtime":1399672251000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/stream-transform/samples/stream.js","id":"stream-transform/samples/stream.js","options":{},"isModule":true,"requiredModules":["stream-transform/lib/index.js","should/lib/should.js"],"mtime":1399672251000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/node_modules/stream-transform/samples/synchronous.js","id":"stream-transform/samples/synchronous.js","options":{},"isModule":true,"requiredModules":["stream-transform/lib/index.js"],"mtime":1399672251000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/csv/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/csv/package.json","data":{"name":"csv","version":"0.4.1","description":"CSV parser with simple api, full of options and tested against large datasets.","keywords":["node","csv","tsv","parser","parse","stringifier","stringify"],"homepage":"http://www.adaltas.com/projects/node-csv/","bugs":{"url":"https://github.com/wdavidw/node-csv/issues"},"author":{"name":"David Worms","email":"david@adaltas.com","url":"http://www.adaltas.com"},"contributors":[{"name":"David Worms","email":"david@adaltas.com","url":"http://www.adaltas.com"}],"licenses":[{"type":"BSD","url":"https://github.com/wdavidw/node-csv/blob/master/LICENSE"}],"engines":{"node":">= 0.1.90"},"main":"./lib","repository":{"type":"git","url":"https://github.com/wdavidw/node-csv.git"},"dependencies":{"csv-generate":"*","csv-parse":"*","stream-transform":"*","csv-stringify":"*"},"devDependencies":{},"optionalDependencies":{},"scripts":{},"readme":"\n<pre>\n     _   _           _        _____  _______      __\n    | \\ | |         | |      / ____|/ ____\\ \\    / /\n    |  \\| | ___   __| | ___ | |    | (___  \\ \\  / /\n    | . ` |/ _ \\ / _` |/ _ \\| |     \\___ \\  \\ \\/ /\n    | |\\  | (_) | (_| |  __/| |____ ____) |  \\  /\n    |_| \\_|\\___/ \\__,_|\\___| \\_____|_____/    \\/     New BSD License\n\n</pre>\n\nThis project provides CSV generation, parsing, transformation and serialization\nfor Node.js.\n\nIt has been tested and used by a large community over the years and should be\nconsidered reliable. It provides every option you would expect from an advanced\nCSV parser and stringifier.\n\n[![NPM](https://nodei.co/npm/csv.png?stars&downloads)](https://nodei.co/npm/csv/) [![NPM](https://nodei.co/npm-dl/csv.png)](https://nodei.co/npm/csv/)\n\nThe `csv` package is itself split into 4 packages:\n\n*   [`csv-generate`](https://github.com/wdavidw/node-csv-generate),\n    a flexible generator of CSV string and Javascript objects. \n    [![Build Status](https://secure.travis-ci.org/wdavidw/node-csv-generate.png)][travis-csv-generate]\n*   [`csv-parse`](https://github.com/wdavidw/node-csv-parse),\n    a parser converting CSV text into arrays or objects. \n    [![Build Status](https://secure.travis-ci.org/wdavidw/node-csv-parse.png)][travis-csv-parse]\n*   [`stream-transform`](https://github.com/wdavidw/node-stream-transform),\n    a transformation framework.\n    [![Build Status](https://secure.travis-ci.org/wdavidw/node-stream-transform.png)][travis-stream-transform]\n*   [`csv-stringify`](https://github.com/wdavidw/node-csv-stringify), \n    a stringifier converting records into a CSV text. \n    [![Build Status](https://secure.travis-ci.org/wdavidw/node-csv-stringify.png)][travis-csv-stringify]\n\n## Documentation\n\nThe full documentation for the current version 0.4 is available [here][new_doc] while the\nprevious documentation is still available [here][old_doc].\n\n## Usage\n\nInstallation command is `npm install csv`.\n\nEach package is fully compatible with the stream 2 and 3 specifications.\nAlso, a simple callback-based API is always provided for convenience.\n\n### Callback example\n\nExecute this script with the command `node samples/callback.js`.\n\n```javascript\nvar csv = require('csv');\n\ncsv.generate({seed: 1, columns: 2, length: 20}, function(err, data){\n  csv.parse(data, function(err, data){\n    csv.transform(data, function(data){\n      return data.map(function(value){return value.toUpperCase()});\n    }, function(err, data){\n      csv.stringify(data, function(err, data){\n        process.stdout.write(data);\n      });\n    });\n  });\n});\n```\n\n### Stream example\n\nExecute this script with the command `node samples/stream.js`.\n\n```javascript\nvar csv = require('csv');\n\nvar generator = csv.generate({seed: 1, columns: 2, length: 20});\nvar parser = csv.parse();\nvar transformer = csv.transform(function(data){\n  return data.map(function(value){return value.toUpperCase()});\n});\nvar stringifier = csv.stringify();\n\ngenerator.on('readable', function(){\n  while(data = generator.read()){\n    parser.write(data);\n  }\n});\n\nparser.on('readable', function(){\n  while(data = parser.read()){\n    transformer.write(data);\n  }\n});\n\ntransformer.on('readable', function(){\n  while(data = transformer.read()){\n    stringifier.write(data);\n  }\n});\n\nstringifier.on('readable', function(){\n  while(data = stringifier.read()){\n    process.stdout.write(data);\n  }\n});\n```\n\n### Pipe example\n\nExecute this script with the command `node samples/pipe.js`.\n\n```javascript\nvar csv = require('csv');\n\ncsv.generate({seed: 1, columns: 2, length: 20})\n  .pipe(csv.parse())\n  .pipe(csv.transform(function(record){\n     return record.map(function(value){\n       return value.toUpperCase()\n     });\n  }))\n  .pipe(csv.stringify ())\n  .pipe(process.stdout);\n```\n\nDevelopment\n-----------\n\nThis parent project doesn't have tests itself but instead delegates the\ntests to its child projects.\n\nRead the documentation of the child projects for addionnal information.\n\nRelated projects\n----------------\n\n*   Pavel Kolesnikov \"ya-csv\": <http://github.com/koles/ya-csv>\n*   Chris Williams \"node-csv\": <http://github.com/voodootikigod/node-csv>\n\n[travis]: https://travis-ci.org/\n[travis-csv-generate]: http://travis-ci.org/wdavidw/node-csv-generate\n[travis-csv-parse]: http://travis-ci.org/wdavidw/node-csv-parse\n[travis-stream-transform]: http://travis-ci.org/wdavidw/node-stream-transform\n[travis-csv-stringify]: http://travis-ci.org/wdavidw/node-csv-stringify\n[new_doc]: http://csv.adaltas.com\n[old_doc]: http://csv.adaltas.com/legacy/\n","readmeFilename":"README.md","_id":"csv@0.4.1","_shasum":"aa58f059591c98a361a61b287d1c0a394c79160e","_from":"csv@^0.4.0","_resolved":"https://registry.npmjs.org/csv/-/csv-0.4.1.tgz"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/samples/callback.js","id":"csv/samples/callback.js","options":{},"isModule":true,"requiredModules":["csv/lib/index.js"],"mtime":1399665450000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/samples/pipe.js","id":"csv/samples/pipe.js","options":{},"isModule":true,"requiredModules":["csv/lib/index.js"],"mtime":1414669733000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv/samples/stream.js","id":"csv/samples/stream.js","options":{},"isModule":true,"requiredModules":["csv/lib/index.js"],"mtime":1399667339000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/lib/index.js","id":"csv-parse/lib/index.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js"],"mtime":1424687730000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/package.json","data":{"version":"0.0.9","name":"csv-parse","description":"CSV parsing implementing the Node.js `stream.Transform` API","keywords":["csv","parse","parser"],"contributors":[{"name":"David Worms","email":"david@adaltas.com","url":"http://www.adaltas.com"},{"name":"Will White","url":"https://github.com/willwhite"},{"name":"Justin Latimer","url":"https://github.com/justinlatimer"},{"name":"jonseymour","url":"https://github.com/jonseymour"},{"name":"pascalopitz","url":"https://github.com/pascalopitz"},{"name":"Josh Pschorr","url":"https://github.com/jpschorr"},{"name":"Elad Ben-Israel","url":"https://github.com/eladb"},{"name":"Philippe Plantier","url":"https://github.com/phipla"},{"name":"Tim Oxley","url":"https://github.com/timoxley"},{"name":"Damon Oehlman","url":"https://github.com/DamonOehlman"},{"name":"Alexandru Topliceanu","url":"https://github.com/topliceanu"},{"name":"Visup","url":"https://github.com/visup"},{"name":"Edmund von der Burg","url":"https://github.com/evdb"},{"name":"Douglas Christopher Wilson","url":"https://github.com/dougwilson"},{"name":"Joe Eaves","url":"https://github.com/Joeasaurus"},{"name":"Mark Stosberg","url":"https://github.com/markstos"}],"licenses":[{"type":"BSD","url":"https://github.com/wdavidw/node-csv-parse/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://www.github.com/wdavidw/node-csv-parse"},"homepage":"http://csv.adaltas.com/parse/","dependencies":{},"devDependencies":{"each":"0.5.0","coffee-script":"1.9.1","csv-generate":"0.0.4","csv-spectrum":"0.2.0","mocha":"2.1.0","should":"5.0.0"},"optionalDependencies":{},"main":"./lib","scripts":{"test":"make test"},"gitHead":"8b58e6cb45a5642e9333eae6958e8056732e1dbe","_id":"csv-parse@0.0.9","_shasum":"d0e2519c5ea4ed9c74efb6872747c6abe95ac090","_from":"csv-parse@0.0.9","_npmVersion":"1.4.28","_npmUser":{"name":"david","email":"david@adaltas.com"},"maintainers":[{"name":"david","email":"david@adaltas.com"}],"dist":{"shasum":"d0e2519c5ea4ed9c74efb6872747c6abe95ac090","tarball":"http://registry.npmjs.org/csv-parse/-/csv-parse-0.0.9.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/csv-parse/-/csv-parse-0.0.9.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/samples/callback.js","id":"csv-parse/samples/callback.js","options":{},"isModule":true,"requiredModules":["csv-parse/lib/index.js","should/lib/should.js"],"mtime":1421313311000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/samples/columns-discovery.js","id":"csv-parse/samples/columns-discovery.js","options":{},"isModule":true,"requiredModules":["fs","csv-parse/lib/index.js"],"mtime":1421313308000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/samples/comment.js","id":"csv-parse/samples/comment.js","options":{},"isModule":true,"requiredModules":["csv-parse/lib/index.js","should/lib/should.js"],"mtime":1421313304000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/samples/fs_read.js","id":"csv-parse/samples/fs_read.js","options":{},"isModule":true,"requiredModules":["fs","csv-parse/lib/index.js"],"mtime":1421313300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/samples/objname.js","id":"csv-parse/samples/objname.js","options":{},"isModule":true,"requiredModules":["csv-parse/lib/index.js","should/lib/should.js"],"mtime":1421313296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/samples/pipe.js","id":"csv-parse/samples/pipe.js","options":{},"isModule":true,"requiredModules":["fs","csv-parse/lib/index.js","stream-transform/lib/index.js"],"mtime":1421313253000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/samples/stream.js","id":"csv-parse/samples/stream.js","options":{},"isModule":true,"requiredModules":["csv-parse/lib/index.js","should/lib/should.js"],"mtime":1421313281000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/csv-parse/samples/tsv.js","id":"csv-parse/samples/tsv.js","options":{},"isModule":true,"requiredModules":["csv-parse/lib/index.js","should/lib/should.js"],"mtime":1421313285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/bower.json","id":"deep-diff/bower.json","options":{},"isModule":true,"mtime":1414097194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/component.json","id":"deep-diff/component.json","options":{},"isModule":true,"mtime":1414097202000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/examples/apply-diff-from-any.js","id":"deep-diff/examples/apply-diff-from-any.js","options":{},"isModule":true,"requiredModules":["util/util.js","deep-diff/index.js","./practice-data"],"mtime":1414088641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/examples/array-change.js","id":"deep-diff/examples/array-change.js","options":{},"isModule":true,"requiredModules":["util/util.js","expect.js","deep-equal/index.js","deep-diff/index.js"],"mtime":1407967337000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/examples/capture_change_apply_elsewhere.js","id":"deep-diff/examples/capture_change_apply_elsewhere.js","options":{},"isModule":true,"requiredModules":["util/util.js","assert","deep-diff/index.js","./practice-data"],"mtime":1414096773000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/examples/diff-scenarios.js","id":"deep-diff/examples/diff-scenarios.js","options":{},"isModule":true,"requiredModules":["util/util.js","expect.js","deep-equal/index.js","deep-diff/index.js"],"mtime":1373304579000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/examples/example1.js","id":"deep-diff/examples/example1.js","options":{},"isModule":true,"requiredModules":["util/util.js","deep-diff/index.js"],"mtime":1407757194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/examples/performance.js","id":"deep-diff/examples/performance.js","options":{},"isModule":true,"requiredModules":["util/util.js","deep-diff/index.js","./practice-data"],"mtime":1374760131000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/examples/practice-data.json","id":"deep-diff/examples/practice-data.json","options":{},"isModule":true,"mtime":1407753139000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/index.js","id":"deep-diff/index.js","options":{},"isModule":true,"mtime":1414096905000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/package.json","data":{"name":"deep-diff","description":"Javascript utility for calculating deep difference, capturing changes, and applying changes across objects; for nodejs and the browser.","version":"0.3.0","license":"MIT","keywords":["diff","difference","compare","change-tracking"],"author":{"name":"Phillip Clark","email":"phillip@flitbit.com"},"contributors":[{"name":"SocalNick"},{"name":"sonstone"},{"name":"ravishivt"}],"repository":{"type":"git","url":"git://github.com/flitbit/diff.git"},"main":"./index.js","directories":{"examples":"./examples","releases":"./releases","test":"./test"},"devDependencies":{"deep-equal":"~0.2.1","expect.js":"~0.3.1","mocha":"~1.17.1"},"scripts":{"test":"mocha -R spec"},"bugs":{"url":"https://github.com/flitbit/diff/issues"},"homepage":"https://github.com/flitbit/diff","_id":"deep-diff@0.3.0","dist":{"shasum":"0f9f98d7ddb0a470b652f4cba71bf5f164d18a63","tarball":"http://registry.npmjs.org/deep-diff/-/deep-diff-0.3.0.tgz"},"_from":"deep-diff@0.3.0","_npmVersion":"1.4.3","_npmUser":{"name":"flitbit","email":"phillip@flitbit.com"},"maintainers":[{"name":"flitbit","email":"phillip@flitbit.com"}],"_shasum":"0f9f98d7ddb0a470b652f4cba71bf5f164d18a63","_resolved":"https://registry.npmjs.org/deep-diff/-/deep-diff-0.3.0.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/releases/deep-diff-0.1.3.min.js","id":"deep-diff/releases/deep-diff-0.1.3.min.js","options":{},"isModule":true,"mtime":1414096905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/releases/deep-diff-0.1.4.min.js","id":"deep-diff/releases/deep-diff-0.1.4.min.js","options":{},"isModule":true,"mtime":1414096905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/releases/deep-diff-0.1.5.min.js","id":"deep-diff/releases/deep-diff-0.1.5.min.js","options":{},"isModule":true,"mtime":1414096905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/releases/deep-diff-0.1.6.min.js","id":"deep-diff/releases/deep-diff-0.1.6.min.js","options":{},"isModule":true,"mtime":1414096905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/releases/deep-diff-0.1.7.min.js","id":"deep-diff/releases/deep-diff-0.1.7.min.js","options":{},"isModule":true,"mtime":1414096905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/releases/deep-diff-0.2.0.min.js","id":"deep-diff/releases/deep-diff-0.2.0.min.js","options":{},"isModule":true,"mtime":1414096905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/releases/deep-diff-0.3.0.min.js","id":"deep-diff/releases/deep-diff-0.3.0.min.js","options":{},"isModule":true,"mtime":1414097239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/releases/deep-diff-debug.min.js","id":"deep-diff/releases/deep-diff-debug.min.js","options":{},"isModule":true,"mtime":1414096905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/deep-diff/test/tests.js","id":"deep-diff/test/tests.js","options":{},"isModule":true,"requiredModules":["expect.js","util/util.js","deep-diff/index.js"],"mtime":1414096905000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/dot-component/component.json","id":"dot-component/component.json","options":{},"isModule":true,"mtime":1390849094000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/dot-component/index.js","id":"dot-component/index.js","options":{},"isModule":true,"requiredModules":["type-component/index.js"],"mtime":1390849103000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/dot-component/node_modules/type-component/component.json","id":"type-component/component.json","options":{},"isModule":true,"mtime":1346341693000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/dot-component/node_modules/type-component/index.js","id":"type-component/index.js","options":{},"isModule":true,"mtime":1346341622000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/dot-component/node_modules/type-component/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/dot-component/node_modules/type-component/package.json","data":{"name":"type-component","description":"Cross-browser type assertions (less broken typeof)","version":"0.0.1","keywords":["typeof","type","utility"],"dependencies":{},"component":{"scripts":{"type/index.js":"index.js"}},"readme":"\n# type\n\n  Type assertions aka less-broken `typeof`.\n\n## Example\n\n```js\nvar type = require('type');\n\nvar obj = new Date;\nif (type(obj) == 'date') ...\n```\n\n## API\n\n```js\ntype(new Date) == 'date'\ntype({}) == 'object'\ntype(null) == 'null'\ntype(undefined) == 'undefined'\ntype(\"hey\") == 'string'\ntype(true) == 'boolean'\ntype(false) == 'boolean'\ntype(12) == 'number'\ntype(type) == 'function'\ntype(/asdf/) == 'regexp'\ntype((function(){ return arguments })()) == 'arguments'\ntype([]) == 'array'\n```\n\n## License\n\n  MIT","readmeFilename":"Readme.md","_id":"type-component@0.0.1","_shasum":"952a6c81c21efd24d13d811d0c8498cb860e1956","_from":"type-component@*","_resolved":"https://registry.npmjs.org/type-component/-/type-component-0.0.1.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/dot-component/node_modules/type-component/test/type.js","id":"type-component/test/type.js","options":{},"isModule":true,"requiredModules":["type-component/index.js"],"mtime":1346341562000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/dot-component/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/dot-component/package.json","data":{"name":"dot-component","version":"0.1.1","keywords":["dot"],"dependencies":{"type-component":"*"},"component":{"scripts":{"dot/index.js":"index.js"}},"devDependencies":{"mocha":"*","expect.js":"*"},"readme":"\n# dot\n\n  MongoDB-style \"dot notation\" querying for JavaScript.\n\n## Installation\n\n```\n$ component install component/dot\n```\n\n## Example\n\n```js\nvar dot = require('dot');\nvar obj = {\n  name: {\n    first: \"tobi\"\n  },\n  pets: [\n    { id: 1, name: 'loki' },\n    { id: 2, name: 'jane' }\n  ]\n};\n\ndot.get(obj, 'name.first'); // tobi\ndot.get(obj, 'name.1.id'); // 2\ndot.parent(obj, 'name.first'); // obj.name\ndot.set(obj, 'name.1.name', 'Jane');\n```\n\n## API\n\n### get(obj, path)\n\n  Queries the given `path` in `obj`.\n\n### set(obj, path, val, init)\n\n  Sets the given `path` to `val` in obj.\n  If `init` is false it won't initialize the path if it doesn't exit.\n\n### parent(obj, path, init)\n\n  Returns the parent object/array that contains `path` within `obj`.\n  Could be `obj` itself. If `init` is true it initializes the path.\n\n## License \n\n  MIT\n","readmeFilename":"Readme.md","description":"MongoDB-style \"dot notation\" querying for JavaScript.","_id":"dot-component@0.1.1","_shasum":"d8208ce6b3a132f2a27f0dc9435597ee6fa7b7aa","_from":"dot-component@^0.1.1","_resolved":"https://registry.npmjs.org/dot-component/-/dot-component-0.1.1.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/dot-component/test/dot.js","id":"dot-component/test/dot.js","options":{},"isModule":true,"requiredModules":["dot-component/index.js","expect.js"],"mtime":1390849094000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ejs/ejs.js","id":"ejs/ejs.js","options":{},"isModule":true,"requiredModules":["fs","./utils","../package.json","path","_process"],"mtime":1424654748000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ejs/ejs.min.js","id":"ejs/ejs.min.js","options":{},"isModule":true,"requiredModules":["fs","./utils","../package.json","path"],"mtime":1424654748000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ejs/lib/ejs.js","id":"ejs/lib/ejs.js","options":{},"isModule":true,"requiredModules":["fs","ejs/lib/utils.js","/Users/james/dev/maxwell-edi/node_modules/ejs/package.json","path"],"mtime":1424654748000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ejs/lib/utils.js","id":"ejs/lib/utils.js","options":{},"isModule":true,"mtime":1424654748000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ejs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ejs/package.json","data":{"name":"ejs","description":"Embedded JavaScript templates","keywords":["template","engine","ejs"],"version":"2.3.1","author":{"name":"Matthew Eernisse","email":"mde@fleegix.org","url":"http://fleegix.org"},"contributors":[{"name":"Timothy Gu","email":"timothygu99@gmail.com","url":"https://timothygu.github.io"}],"license":"Apache-2.0","main":"./lib/ejs.js","repository":{"type":"git","url":"git://github.com/mde/ejs.git"},"bugs":{"url":"https://github.com/mde/ejs/issues"},"homepage":"https://github.com/mde/ejs","dependencies":{},"devDependencies":{"browserify":"^8.0.3","istanbul":"~0.3.5","jake":"^8.0.0","jsdoc":"^3.3.0-beta1","lru-cache":"^2.5.0","mocha":"^2.1.0","rimraf":"^2.2.8","uglify-js":"^2.4.16"},"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","coverage":"istanbul cover node_modules/mocha/bin/_mocha","doc":"rimraf out && jsdoc -c jsdoc.json lib/* docs/jsdoc/*","devdoc":"rimraf out && jsdoc -p -c jsdoc.json lib/* docs/jsdoc/*"},"_id":"ejs@2.3.1","_shasum":"a697d98ac401e32a99c3deed92c60c19b6199a7f","_resolved":"https://registry.npmjs.org/ejs/-/ejs-2.3.1.tgz","_from":"ejs@2.3.1","_npmVersion":"2.1.11","_nodeVersion":"0.10.33","_npmUser":{"name":"mde","email":"mde@fleegix.org"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"mde","email":"mde@fleegix.org"}],"dist":{"shasum":"a697d98ac401e32a99c3deed92c60c19b6199a7f","tarball":"http://registry.npmjs.org/ejs/-/ejs-2.3.1.tgz"},"directories":{}},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ejs/test/ejs.js","id":"ejs/test/ejs.js","options":{},"isModule":true,"requiredModules":["ejs/lib/ejs.js","fs","assert","path","lru-cache/lib/lru-cache.js","domain"],"mtime":1424654748000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/index.js","id":"express/index.js","options":{},"isModule":true,"requiredModules":["express/lib/express.js"],"mtime":1410234429000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/application.js","id":"express/lib/application.js","options":{},"isModule":true,"requiredModules":["finalhandler/index.js","express/lib/utils.js","express/lib/router/index.js","methods/index.js","express/lib/middleware/init.js","express/lib/middleware/query.js","debug/node.js","express/lib/view.js","http","depd/index.js","utils-merge/index.js","path"],"mtime":1425183952000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/express.js","id":"express/lib/express.js","options":{},"isModule":true,"requiredModules":["events","merge-descriptors/index.js","express/lib/application.js","express/lib/router/route.js","express/lib/router/index.js","express/lib/request.js","express/lib/response.js","express/lib/middleware/query.js","serve-static/index.js"],"mtime":1425257406000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/middleware/init.js","id":"express/lib/middleware/init.js","options":{},"isModule":true,"mtime":1425183952000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/middleware/query.js","id":"express/lib/middleware/query.js","options":{},"isModule":true,"requiredModules":["parseurl/index.js","qs/index.js"],"mtime":1425183952000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/request.js","id":"express/lib/request.js","options":{},"isModule":true,"requiredModules":["accepts/index.js","depd/index.js","net","type-is/index.js","http","fresh/index.js","range-parser/index.js","parseurl/index.js","proxy-addr/index.js"],"mtime":1425257406000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/response.js","id":"express/lib/response.js","options":{},"isModule":true,"requiredModules":["content-disposition/index.js","depd/index.js","escape-html/index.js","http","express/lib/utils.js","on-finished/index.js","path","utils-merge/index.js","cookie-signature/index.js","cookie/index.js","send/index.js","vary/index.js"],"mtime":1425319854000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/router/index.js","id":"express/lib/router/index.js","options":{},"isModule":true,"requiredModules":["express/lib/router/route.js","express/lib/router/layer.js","methods/index.js","utils-merge/index.js","debug/node.js","depd/index.js","parseurl/index.js","express/lib/utils.js"],"mtime":1425183952000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/router/layer.js","id":"express/lib/router/layer.js","options":{},"isModule":true,"requiredModules":["path-to-regexp/index.js","debug/node.js"],"mtime":1425183952000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/router/route.js","id":"express/lib/router/route.js","options":{},"isModule":true,"requiredModules":["debug/node.js","express/lib/router/layer.js","methods/index.js","express/lib/utils.js"],"mtime":1425183952000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/utils.js","id":"express/lib/utils.js","options":{},"isModule":true,"requiredModules":["content-disposition/index.js","content-type/index.js","depd/index.js","send/index.js","path","etag/index.js","proxy-addr/index.js","qs/index.js","querystring"],"mtime":1425183952000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/lib/view.js","id":"express/lib/view.js","options":{},"isModule":true,"requiredModules":["debug/node.js","path","fs","express/lib/utils.js"],"mtime":1425183952000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/index.js","id":"accepts/index.js","options":{},"isModule":true,"requiredModules":["negotiator/index.js","mime-types/index.js"],"mtime":1433737832000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/mime-types/index.js","id":"mime-types/index.js","options":{},"isModule":true,"requiredModules":["mime-db/index.js","path"],"mtime":1433741529000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/db.json","id":"mime-db/db.json","options":{},"isModule":true,"mtime":1438186182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/index.js","id":"mime-db/index.js","options":{},"isModule":true,"requiredModules":["mime-db/db.json"],"mtime":1423439849000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json","data":{"name":"mime-db","description":"Media Type Database","version":"1.16.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"}],"license":"MIT","keywords":["mime","db","type","types","database","charset","charsets"],"repository":{"type":"git","url":"git+https://github.com/jshttp/mime-db.git"},"devDependencies":{"bluebird":"2.9.34","co":"4.6.0","cogent":"1.0.1","csv-parse":"0.1.4","gnode":"0.1.1","istanbul":"0.3.17","mocha":"1.21.5","raw-body":"2.1.2","stream-to-array":"2"},"files":["HISTORY.md","LICENSE","README.md","db.json","index.js"],"engines":{"node":">= 0.6"},"scripts":{"build":"node scripts/build","fetch":"gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx","test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","update":"npm run fetch && npm run build"},"gitHead":"81c7d528a1e9711084f64adbb99b70c24e8fb8c9","bugs":{"url":"https://github.com/jshttp/mime-db/issues"},"homepage":"https://github.com/jshttp/mime-db","_id":"mime-db@1.16.0","_shasum":"e83dce4f81ca5455d29048e6c3422e9de3154f70","_from":"mime-db@>=1.16.0 <1.17.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"e83dce4f81ca5455d29048e6c3422e9de3154f70","tarball":"http://registry.npmjs.org/mime-db/-/mime-db-1.16.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mime-db/-/mime-db-1.16.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487649000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/mime-types/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/mime-types/package.json","data":{"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"2.1.4","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jeremiah Senkpiel","email":"fishrock123@rocketmail.com","url":"https://searchbeam.jit.su"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","keywords":["mime","types"],"repository":{"type":"git","url":"git+https://github.com/jshttp/mime-types.git"},"dependencies":{"mime-db":"~1.16.0"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["HISTORY.md","LICENSE","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec test/test.js","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js"},"gitHead":"0d801665a7374c71d905d14bc3afc2b0624bb896","bugs":{"url":"https://github.com/jshttp/mime-types/issues"},"homepage":"https://github.com/jshttp/mime-types","_id":"mime-types@2.1.4","_shasum":"6562b328e341245cb63b14473b1d12b40dec5884","_from":"mime-types@>=2.1.4 <2.2.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"6562b328e341245cb63b14473b1d12b40dec5884","tarball":"http://registry.npmjs.org/mime-types/-/mime-types-2.1.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mime-types/-/mime-types-2.1.4.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/negotiator/index.js","id":"negotiator/index.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/charset.js","negotiator/lib/encoding.js","negotiator/lib/language.js","negotiator/lib/mediaType.js"],"mtime":1430847758000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/charset.js","id":"negotiator/lib/charset.js","options":{},"isModule":true,"mtime":1423962464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/encoding.js","id":"negotiator/lib/encoding.js","options":{},"isModule":true,"mtime":1423962464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/language.js","id":"negotiator/lib/language.js","options":{},"isModule":true,"mtime":1423962464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/mediaType.js","id":"negotiator/lib/mediaType.js","options":{},"isModule":true,"mtime":1431307315000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/negotiator/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/node_modules/negotiator/package.json","data":{"name":"negotiator","description":"HTTP content negotiation","version":"0.5.3","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Federico Romero","email":"federico.romero@outboxlabs.com"},{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"}],"license":"MIT","keywords":["http","content negotiation","accept","accept-language","accept-encoding","accept-charset"],"repository":{"type":"git","url":"https://github.com/jshttp/negotiator"},"devDependencies":{"istanbul":"0.3.9","mocha":"~1.21.5"},"files":["lib/","HISTORY.md","LICENSE","index.js","README.md"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --check-leaks --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"cbb717b3f164f25820f90b160cda6d0166b9d922","bugs":{"url":"https://github.com/jshttp/negotiator/issues"},"homepage":"https://github.com/jshttp/negotiator","_id":"negotiator@0.5.3","_shasum":"269d5c476810ec92edbe7b6c2f28316384f9a7e8","_from":"negotiator@0.5.3","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"federomero","email":"federomero@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"dist":{"shasum":"269d5c476810ec92edbe7b6c2f28316384f9a7e8","tarball":"http://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/accepts/package.json","data":{"name":"accepts","description":"Higher-level content negotiation","version":"1.2.12","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/jshttp/accepts"},"dependencies":{"mime-types":"~2.1.4","negotiator":"0.5.3"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --check-leaks --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"keywords":["content","negotiation","accept","accepts"],"gitHead":"f01900aa33b1089575bd29caea851a8a241df07c","bugs":{"url":"https://github.com/jshttp/accepts/issues"},"homepage":"https://github.com/jshttp/accepts","_id":"accepts@1.2.12","_shasum":"7e6d880f473b5c48d46e3e35f71ea7c3b68514c3","_from":"accepts@>=1.2.4 <1.3.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"federomero","email":"federomero@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"defunctzombie","email":"shtylman@gmail.com"}],"dist":{"shasum":"7e6d880f473b5c48d46e3e35f71ea7c3b68514c3","tarball":"http://registry.npmjs.org/accepts/-/accepts-1.2.12.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/accepts/-/accepts-1.2.12.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/content-disposition/index.js","id":"content-disposition/index.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1413064994000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/content-disposition/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/content-disposition/package.json","data":{"name":"content-disposition","description":"Create and parse Content-Disposition header","version":"0.5.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","keywords":["content-disposition","http","rfc6266","res"],"repository":{"type":"git","url":"https://github.com/jshttp/content-disposition"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.4"},"files":["LICENSE","HISTORY.md","README.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"f3c915f0c9d9f5ec79713dba24c8c6181b73305d","bugs":{"url":"https://github.com/jshttp/content-disposition/issues"},"homepage":"https://github.com/jshttp/content-disposition","_id":"content-disposition@0.5.0","_shasum":"4284fe6ae0630874639e44e80a418c2934135e9e","_from":"content-disposition@0.5.0","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"4284fe6ae0630874639e44e80a418c2934135e9e","tarball":"http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/content-type/index.js","id":"content-type/index.js","options":{},"isModule":true,"mtime":1423873603000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/content-type/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/content-type/package.json","data":{"name":"content-type","description":"Create and parse HTTP Content-Type header","version":"1.0.1","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["content-type","http","req","res","rfc7231"],"repository":{"type":"git","url":"git://github.com/jshttp/content-type.git"},"devDependencies":{"istanbul":"0.3.5","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","README.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --check-leaks --bail test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"readme":"# content-type\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nCreate and parse HTTP Content-Type header according to RFC 7231\n\n## Installation\n\n```sh\n$ npm install content-type\n```\n\n## API\n\n```js\nvar contentType = require('content-type')\n```\n\n### contentType.parse(string)\n\n```js\nvar obj = contentType.parse('image/svg+xml; charset=utf-8')\n```\n\nParse a content type string. This will return an object with the following\nproperties (examples are shown for the string `'image/svg+xml; charset=utf-8'`):\n\n - `type`: The media type (the type and subtype, always lower case).\n   Example: `'image/svg+xml'`\n\n - `parameters`: An object of the parameters in the media type (name of parameter\n   always lower case). Example: `{charset: 'utf-8'}`\n\nThrows a `TypeError` if the string is missing or invalid.\n\n### contentType.parse(req)\n\n```js\nvar obj = contentType.parse(req)\n```\n\nParse the `content-type` header from the given `req`. Short-cut for\n`contentType.parse(req.headers['content-type'])`.\n\nThrows a `TypeError` if the `Content-Type` header is missing or invalid.\n\n### contentType.parse(res)\n\n```js\nvar obj = contentType.parse(res)\n```\n\nParse the `content-type` header set on the given `res`. Short-cut for\n`contentType.parse(res.getHeader('content-type'))`.\n\nThrows a `TypeError` if the `Content-Type` header is missing or invalid.\n\n### contentType.format(obj)\n\n```js\nvar str = contentType.format({type: 'image/svg+xml'})\n```\n\nFormat an object into a content type string. This will return a string of the\ncontent type for the given object with the following properties (examples are\nshown that produce the string `'image/svg+xml; charset=utf-8'`):\n\n - `type`: The media type (will be lower-cased). Example: `'image/svg+xml'`\n\n - `parameters`: An object of the parameters in the media type (name of the\n   parameter will be lower-cased). Example: `{charset: 'utf-8'}`\n\nThrows a `TypeError` if the object contains an invalid type or parameter names.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/content-type.svg\n[npm-url]: https://npmjs.org/package/content-type\n[node-version-image]: https://img.shields.io/node/v/content-type.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/content-type/master.svg\n[travis-url]: https://travis-ci.org/jshttp/content-type\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/content-type/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/content-type\n[downloads-image]: https://img.shields.io/npm/dm/content-type.svg\n[downloads-url]: https://npmjs.org/package/content-type\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/content-type/issues"},"homepage":"https://github.com/jshttp/content-type","_id":"content-type@1.0.1","_shasum":"a19d2247327dc038050ce622b7a154ec59c5e600","_from":"content-type@>=1.0.1 <1.1.0","_resolved":"https://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/cookie/index.js","id":"cookie/index.js","options":{},"isModule":true,"mtime":1393170916000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/cookie/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/cookie/package.json","data":{"author":{"name":"Roman Shtylman","email":"shtylman@gmail.com"},"name":"cookie","description":"cookie parsing and serialization","version":"0.1.2","repository":{"type":"git","url":"git://github.com/shtylman/node-cookie.git"},"keywords":["cookie","cookies"],"main":"index.js","scripts":{"test":"mocha"},"dependencies":{},"devDependencies":{"mocha":"1.x.x"},"optionalDependencies":{},"engines":{"node":"*"},"bugs":{"url":"https://github.com/shtylman/node-cookie/issues"},"homepage":"https://github.com/shtylman/node-cookie","_id":"cookie@0.1.2","dist":{"shasum":"72fec3d24e48a3432073d90c12642005061004b1","tarball":"http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz"},"_from":"cookie@0.1.2","_npmVersion":"1.4.6","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"maintainers":[{"name":"shtylman","email":"shtylman@gmail.com"}],"directories":{},"_shasum":"72fec3d24e48a3432073d90c12642005061004b1","_resolved":"https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/cookie-signature/index.js","id":"cookie-signature/index.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1423000938000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/cookie-signature/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/cookie-signature/package.json","data":{"name":"cookie-signature","version":"1.0.6","description":"Sign and unsign cookies","keywords":["cookie","sign","unsign"],"author":{"name":"TJ Holowaychuk","email":"tj@learnboost.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/visionmedia/node-cookie-signature.git"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"scripts":{"test":"mocha --require should --reporter spec"},"main":"index","readme":"\n# cookie-signature\n\n  Sign and unsign cookies.\n\n## Example\n\n```js\nvar cookie = require('cookie-signature');\n\nvar val = cookie.sign('hello', 'tobiiscool');\nval.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI');\n\nvar val = cookie.sign('hello', 'tobiiscool');\ncookie.unsign(val, 'tobiiscool').should.equal('hello');\ncookie.unsign(val, 'luna').should.be.false;\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 LearnBoost &lt;tj@learnboost.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/node-cookie-signature/issues"},"homepage":"https://github.com/visionmedia/node-cookie-signature","_id":"cookie-signature@1.0.6","_shasum":"e303a882b342cc3ee8ca513a79999734dab3ae2c","_from":"cookie-signature@1.0.6","_resolved":"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/bower.json","id":"debug/bower.json","options":{},"isModule":true,"mtime":1426272605000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/browser.js","id":"debug/browser.js","options":{},"isModule":true,"requiredModules":["debug/debug.js"],"mtime":1424020924000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/component.json","id":"debug/component.json","options":{},"isModule":true,"mtime":1426272605000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"requiredModules":["ms/index.js"],"mtime":1408510177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/node.js","id":"debug/node.js","options":{},"isModule":true,"requiredModules":["tty","util/util.js","debug/debug.js","fs","net"],"mtime":1426272474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1416815822000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/node_modules/ms/package.json","data":{"name":"ms","version":"0.7.0","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"gitHead":"1e9cd9b05ef0dc26f765434d2bfee42394376e52","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.7.0","scripts":{},"_shasum":"865be94c2e7397ad8a57da6a633a6e2f30798b83","_from":"ms@0.7.0","_npmVersion":"1.4.21","_npmUser":{"name":"rauchg","email":"rauchg@gmail.com"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"}],"dist":{"shasum":"865be94c2e7397ad8a57da6a633a6e2f30798b83","tarball":"http://registry.npmjs.org/ms/-/ms-0.7.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ms/-/ms-0.7.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487646000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/debug/package.json","data":{"name":"debug","version":"2.1.3","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io"}],"license":"MIT","dependencies":{"ms":"0.7.0"},"devDependencies":{"browserify":"9.0.3","mocha":"*"},"main":"./node.js","browser":"./browser.js","component":{"scripts":{"debug/index.js":"browser.js","debug/debug.js":"debug.js"}},"gitHead":"0a8e4b7e0d2d1b55ef4e7422498ca24c677ae63a","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@2.1.3","scripts":{},"_shasum":"ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e","_from":"debug@>=2.1.1 <2.2.0","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"tootallnate","email":"nathan@tootallnate.net"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"tootallnate","email":"nathan@tootallnate.net"}],"dist":{"shasum":"ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e","tarball":"http://registry.npmjs.org/debug/-/debug-2.1.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/debug/-/debug-2.1.3.tgz","readme":"ERROR: No README data found!"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/depd/index.js","id":"depd/index.js","options":{},"isModule":true,"requiredModules":["depd/lib/compat/index.js","events","path"],"mtime":1428425179000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/depd/lib/compat/buffer-concat.js","id":"depd/lib/compat/buffer-concat.js","options":{},"isModule":true,"mtime":1410020200000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/depd/lib/compat/callsite-tostring.js","id":"depd/lib/compat/callsite-tostring.js","options":{},"isModule":true,"mtime":1410292158000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/depd/lib/compat/index.js","id":"depd/lib/compat/index.js","options":{},"isModule":true,"requiredModules":["depd/lib/compat/buffer-concat.js","depd/lib/compat/callsite-tostring.js"],"mtime":1410021694000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/depd/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/depd/package.json","data":{"name":"depd","description":"Deprecate all the things","version":"1.0.1","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["deprecate","deprecated"],"repository":{"type":"git","url":"git://github.com/dougwilson/nodejs-depd.git"},"devDependencies":{"benchmark":"1.0.0","beautify-benchmark":"0.2.4","istanbul":"0.3.5","mocha":"~1.21.5"},"files":["lib/","History.md","LICENSE","index.js","Readme.md"],"engines":{"node":">= 0.6"},"scripts":{"bench":"node benchmark/index.js","test":"mocha --reporter spec --bail test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --no-exit test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/"},"readme":"# depd\n\n[![NPM Version][npm-version-image]][npm-url]\n[![NPM Downloads][npm-downloads-image]][npm-url]\n[![Node.js Version][node-image]][node-url]\n[![Linux Build][travis-image]][travis-url]\n[![Windows Build][appveyor-image]][appveyor-url]\n[![Coverage Status][coveralls-image]][coveralls-url]\n[![Gratipay][gratipay-image]][gratipay-url]\n\nDeprecate all the things\n\n> With great modules comes great responsibility; mark things deprecated!\n\n## Install\n\n```sh\n$ npm install depd\n```\n\n## API\n\n```js\nvar deprecate = require('depd')('my-module')\n```\n\nThis library allows you to display deprecation messages to your users.\nThis library goes above and beyond with deprecation warnings by\nintrospection of the call stack (but only the bits that it is interested\nin).\n\nInstead of just warning on the first invocation of a deprecated\nfunction and never again, this module will warn on the first invocation\nof a deprecated function per unique call site, making it ideal to alert\nusers of all deprecated uses across the code base, rather than just\nwhatever happens to execute first.\n\nThe deprecation warnings from this module also include the file and line\ninformation for the call into the module that the deprecated function was\nin.\n\n**NOTE** this library has a similar interface to the `debug` module, and\nthis module uses the calling file to get the boundary for the call stacks,\nso you should always create a new `deprecate` object in each file and not\nwithin some central file.\n\n### depd(namespace)\n\nCreate a new deprecate function that uses the given namespace name in the\nmessages and will display the call site prior to the stack entering the\nfile this function was called from. It is highly suggested you use the\nname of your module as the namespace.\n\n### deprecate(message)\n\nCall this function from deprecated code to display a deprecation message.\nThis message will appear once per unique caller site. Caller site is the\nfirst call site in the stack in a different file from the caller of this\nfunction.\n\nIf the message is omitted, a message is generated for you based on the site\nof the `deprecate()` call and will display the name of the function called,\nsimilar to the name displayed in a stack trace.\n\n### deprecate.function(fn, message)\n\nCall this function to wrap a given function in a deprecation message on any\ncall to the function. An optional message can be supplied to provide a custom\nmessage.\n\n### deprecate.property(obj, prop, message)\n\nCall this function to wrap a given property on object in a deprecation message\non any accessing or setting of the property. An optional message can be supplied\nto provide a custom message.\n\nThe method must be called on the object where the property belongs (not\ninherited from the prototype).\n\nIf the property is a data descriptor, it will be converted to an accessor\ndescriptor in order to display the deprecation message.\n\n### process.on('deprecation', fn)\n\nThis module will allow easy capturing of deprecation errors by emitting the\nerrors as the type \"deprecation\" on the global `process`. If there are no\nlisteners for this type, the errors are written to STDERR as normal, but if\nthere are any listeners, nothing will be written to STDERR and instead only\nemitted. From there, you can write the errors in a different format or to a\nlogging source.\n\nThe error represents the deprecation and is emitted only once with the same\nrules as writing to STDERR. The error has the following properties:\n\n  - `message` - This is the message given by the library\n  - `name` - This is always `'DeprecationError'`\n  - `namespace` - This is the namespace the deprecation came from\n  - `stack` - This is the stack of the call to the deprecated thing\n\nExample `error.stack` output:\n\n```\nDeprecationError: my-cool-module deprecated oldfunction\n    at Object.<anonymous> ([eval]-wrapper:6:22)\n    at Module._compile (module.js:456:26)\n    at evalScript (node.js:532:25)\n    at startup (node.js:80:7)\n    at node.js:902:3\n```\n\n### process.env.NO_DEPRECATION\n\nAs a user of modules that are deprecated, the environment variable `NO_DEPRECATION`\nis provided as a quick solution to silencing deprecation warnings from being\noutput. The format of this is similar to that of `DEBUG`:\n\n```sh\n$ NO_DEPRECATION=my-module,othermod node app.js\n```\n\nThis will suppress deprecations from being output for \"my-module\" and \"othermod\".\nThe value is a list of comma-separated namespaces. To suppress every warning\nacross all namespaces, use the value `*` for a namespace.\n\nProviding the argument `--no-deprecation` to the `node` executable will suppress\nall deprecations (only available in Node.js 0.8 or higher).\n\n**NOTE** This will not suppress the deperecations given to any \"deprecation\"\nevent listeners, just the output to STDERR.\n\n### process.env.TRACE_DEPRECATION\n\nAs a user of modules that are deprecated, the environment variable `TRACE_DEPRECATION`\nis provided as a solution to getting more detailed location information in deprecation\nwarnings by including the entire stack trace. The format of this is the same as\n`NO_DEPRECATION`:\n\n```sh\n$ TRACE_DEPRECATION=my-module,othermod node app.js\n```\n\nThis will include stack traces for deprecations being output for \"my-module\" and\n\"othermod\". The value is a list of comma-separated namespaces. To trace every\nwarning across all namespaces, use the value `*` for a namespace.\n\nProviding the argument `--trace-deprecation` to the `node` executable will trace\nall deprecations (only available in Node.js 0.8 or higher).\n\n**NOTE** This will not trace the deperecations silenced by `NO_DEPRECATION`.\n\n## Display\n\n![message](files/message.png)\n\nWhen a user calls a function in your library that you mark deprecated, they\nwill see the following written to STDERR (in the given colors, similar colors\nand layout to the `debug` module):\n\n```\nbright cyan    bright yellow\n|              |          reset       cyan\n|              |          |           |\n▼              ▼          ▼           ▼\nmy-cool-module deprecated oldfunction [eval]-wrapper:6:22\n▲              ▲          ▲           ▲\n|              |          |           |\nnamespace      |          |           location of mycoolmod.oldfunction() call\n               |          deprecation message\n               the word \"deprecated\"\n```\n\nIf the user redirects their STDERR to a file or somewhere that does not support\ncolors, they see (similar layout to the `debug` module):\n\n```\nSun, 15 Jun 2014 05:21:37 GMT my-cool-module deprecated oldfunction at [eval]-wrapper:6:22\n▲                             ▲              ▲          ▲              ▲\n|                             |              |          |              |\ntimestamp of message          namespace      |          |             location of mycoolmod.oldfunction() call\n                                             |          deprecation message\n                                             the word \"deprecated\"\n```\n\n## Examples\n\n### Deprecating all calls to a function\n\nThis will display a deprecated message about \"oldfunction\" being deprecated\nfrom \"my-module\" on STDERR.\n\n```js\nvar deprecate = require('depd')('my-cool-module')\n\n// message automatically derived from function name\n// Object.oldfunction\nexports.oldfunction = deprecate.function(function oldfunction() {\n  // all calls to function are deprecated\n})\n\n// specific message\nexports.oldfunction = deprecate.function(function () {\n  // all calls to function are deprecated\n}, 'oldfunction')\n```\n\n### Conditionally deprecating a function call\n\nThis will display a deprecated message about \"weirdfunction\" being deprecated\nfrom \"my-module\" on STDERR when called with less than 2 arguments.\n\n```js\nvar deprecate = require('depd')('my-cool-module')\n\nexports.weirdfunction = function () {\n  if (arguments.length < 2) {\n    // calls with 0 or 1 args are deprecated\n    deprecate('weirdfunction args < 2')\n  }\n}\n```\n\nWhen calling `deprecate` as a function, the warning is counted per call site\nwithin your own module, so you can display different deprecations depending\non different situations and the users will still get all the warnings:\n\n```js\nvar deprecate = require('depd')('my-cool-module')\n\nexports.weirdfunction = function () {\n  if (arguments.length < 2) {\n    // calls with 0 or 1 args are deprecated\n    deprecate('weirdfunction args < 2')\n  } else if (typeof arguments[0] !== 'string') {\n    // calls with non-string first argument are deprecated\n    deprecate('weirdfunction non-string first arg')\n  }\n}\n```\n\n### Deprecating property access\n\nThis will display a deprecated message about \"oldprop\" being deprecated\nfrom \"my-module\" on STDERR when accessed. A deprecation will be displayed\nwhen setting the value and when getting the value.\n\n```js\nvar deprecate = require('depd')('my-cool-module')\n\nexports.oldprop = 'something'\n\n// message automatically derives from property name\ndeprecate.property(exports, 'oldprop')\n\n// explicit message\ndeprecate.property(exports, 'oldprop', 'oldprop >= 0.10')\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-version-image]: https://img.shields.io/npm/v/depd.svg\n[npm-downloads-image]: https://img.shields.io/npm/dm/depd.svg\n[npm-url]: https://npmjs.org/package/depd\n[travis-image]: https://img.shields.io/travis/dougwilson/nodejs-depd/master.svg?label=linux\n[travis-url]: https://travis-ci.org/dougwilson/nodejs-depd\n[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/nodejs-depd/master.svg?label=windows\n[appveyor-url]: https://ci.appveyor.com/project/dougwilson/nodejs-depd\n[coveralls-image]: https://img.shields.io/coveralls/dougwilson/nodejs-depd/master.svg\n[coveralls-url]: https://coveralls.io/r/dougwilson/nodejs-depd?branch=master\n[node-image]: https://img.shields.io/node/v/depd.svg\n[node-url]: http://nodejs.org/download/\n[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg\n[gratipay-url]: https://www.gratipay.com/dougwilson/\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/dougwilson/nodejs-depd/issues"},"homepage":"https://github.com/dougwilson/nodejs-depd","_id":"depd@1.0.1","_shasum":"80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa","_from":"depd@>=1.0.0 <1.1.0","_resolved":"https://registry.npmjs.org/depd/-/depd-1.0.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/escape-html/component.json","id":"escape-html/component.json","options":{},"isModule":true,"mtime":1387580290000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/escape-html/index.js","id":"escape-html/index.js","options":{},"isModule":true,"mtime":1369927666000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/escape-html/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/escape-html/package.json","data":{"name":"escape-html","description":"Escape HTML entities","version":"1.0.1","keywords":["escape","html","utility"],"dependencies":{},"main":"index.js","component":{"scripts":{"escape-html/index.js":"index.js"}},"repository":{"type":"git","url":"https://github.com/component/escape-html.git"},"bugs":{"url":"https://github.com/component/escape-html/issues"},"homepage":"https://github.com/component/escape-html","_id":"escape-html@1.0.1","dist":{"shasum":"181a286ead397a39a92857cfb1d43052e356bff0","tarball":"http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"},"_from":"escape-html@1.0.1","_npmVersion":"1.3.15","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"181a286ead397a39a92857cfb1d43052e356bff0","_resolved":"https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/index.js","id":"etag/index.js","options":{},"isModule":true,"requiredModules":["crc/lib/index.js","crypto","fs"],"mtime":1413257588000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc.js","id":"crc/lib/crc.js","options":{},"isModule":true,"requiredModules":["crc/lib/hex.js"],"mtime":1415812212000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc1.js","id":"crc/lib/crc1.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16.js","id":"crc/lib/crc16.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16_ccitt.js","id":"crc/lib/crc16_ccitt.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc16_modbus.js","id":"crc/lib/crc16_modbus.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc24.js","id":"crc/lib/crc24.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc32.js","id":"crc/lib/crc32.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc8.js","id":"crc/lib/crc8.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/crc8_1wire.js","id":"crc/lib/crc8_1wire.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/create.js","id":"crc/lib/create.js","options":{},"isModule":true,"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/hex.js","id":"crc/lib/hex.js","options":{},"isModule":true,"mtime":1415812212000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/lib/index.js","id":"crc/lib/index.js","options":{},"isModule":true,"requiredModules":["crc/lib/crc1.js","crc/lib/crc8.js","crc/lib/crc8_1wire.js","crc/lib/crc16.js","crc/lib/crc16_ccitt.js","crc/lib/crc16_modbus.js","crc/lib/crc24.js","crc/lib/crc32.js"],"mtime":1415827863000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/node_modules/crc/package.json","data":{"name":"crc","version":"3.2.1","description":"Various CRC JavaScript implementations","keywords":["crc"],"main":"./lib/index.js","scripts":{"test":"mocha test/*.spec.coffee","pretest":"coffee --bare --output ./lib --compile ./src/*.coffee"},"author":{"name":"Alex Gorbatchev","url":"https://github.com/alexgorbatchev"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^1.0.0","buffer-crc32":"^0.2.3","chai":"~1.9.1","coffee-errors":"~0.8.6","coffee-script":"~1.7.1","mocha":"*","seedrandom":"^2.3.6"},"homepage":"https://github.com/alexgorbatchev/node-crc","bugs":{"url":"https://github.com/alexgorbatchev/node-crc/issues"},"repository":{"type":"git","url":"git://github.com/alexgorbatchev/node-crc.git"},"license":"MIT","gitHead":"71caf362b061992bfe4ca8706ee264e764d2e88e","_id":"crc@3.2.1","_shasum":"5d9c8fb77a245cd5eca291e5d2d005334bab0082","_from":"crc@3.2.1","_npmVersion":"1.4.13","_npmUser":{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"},"maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"dist":{"shasum":"5d9c8fb77a245cd5eca291e5d2d005334bab0082","tarball":"http://registry.npmjs.org/crc/-/crc-3.2.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/crc/-/crc-3.2.1.tgz"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/etag/package.json","data":{"name":"etag","description":"Create simple ETags","version":"1.5.1","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"David Björklund","email":"david.bjorklund@gmail.com"}],"license":"MIT","keywords":["etag","http","res"],"repository":{"type":"git","url":"https://github.com/jshttp/etag"},"dependencies":{"crc":"3.2.1"},"devDependencies":{"benchmark":"1.0.0","beautify-benchmark":"0.2.4","istanbul":"0.3.2","mocha":"~1.21.4","seedrandom":"~2.3.6"},"files":["LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"bench":"node benchmark/index.js","test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"27335e2265388109e50a9f037452081dc8a8260f","bugs":{"url":"https://github.com/jshttp/etag/issues"},"homepage":"https://github.com/jshttp/etag","_id":"etag@1.5.1","_shasum":"54c50de04ee42695562925ac566588291be7e9ea","_from":"etag@>=1.5.1 <1.6.0","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"54c50de04ee42695562925ac566588291be7e9ea","tarball":"http://registry.npmjs.org/etag/-/etag-1.5.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/etag/-/etag-1.5.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/finalhandler/index.js","id":"finalhandler/index.js","options":{},"isModule":true,"requiredModules":["debug/node.js","escape-html/index.js","http","on-finished/index.js"],"mtime":1414033680000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/finalhandler/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/finalhandler/package.json","data":{"name":"finalhandler","description":"Node.js final http responder","version":"0.3.3","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/pillarjs/finalhandler"},"dependencies":{"debug":"~2.1.1","escape-html":"1.0.1","on-finished":"~2.2.0"},"devDependencies":{"istanbul":"0.3.5","mocha":"~2.1.0","readable-stream":"~1.0.33","supertest":"~0.15.0"},"files":["LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.8"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"dfce5042f996ba93ac85b9282e6d1cae1561acc6","bugs":{"url":"https://github.com/pillarjs/finalhandler/issues"},"homepage":"https://github.com/pillarjs/finalhandler","_id":"finalhandler@0.3.3","_shasum":"b1a09aa1e6a607b3541669b09bcb727f460cd426","_from":"finalhandler@0.3.3","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"}],"dist":{"shasum":"b1a09aa1e6a607b3541669b09bcb727f460cd426","tarball":"http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/fresh/index.js","id":"fresh/index.js","options":{},"isModule":true,"mtime":1410144742000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/fresh/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/fresh/package.json","data":{"name":"fresh","description":"HTTP response freshness testing","version":"0.2.4","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"license":"MIT","keywords":["fresh","http","conditional","cache"],"repository":{"type":"git","url":"https://github.com/jshttp/fresh"},"devDependencies":{"istanbul":"0","mocha":"1","should":"3"},"files":["HISTORY.md","LICENSE","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --require should","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --require should","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --require should"},"gitHead":"8440a4ca75fb091dec06e88654b3b1c31d7e7164","bugs":{"url":"https://github.com/jshttp/fresh/issues"},"homepage":"https://github.com/jshttp/fresh","_id":"fresh@0.2.4","_shasum":"3582499206c9723714190edd74b4604feb4a614c","_from":"fresh@0.2.4","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"jonathanong","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"dist":{"shasum":"3582499206c9723714190edd74b4604feb4a614c","tarball":"http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/merge-descriptors/index.js","id":"merge-descriptors/index.js","options":{},"isModule":true,"mtime":1425188658000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/merge-descriptors/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/merge-descriptors/package.json","data":{"name":"merge-descriptors","description":"Merge objects using descriptors","version":"1.0.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/component/merge-descriptors.git"},"bugs":{"url":"https://github.com/component/merge-descriptors/issues"},"files":["LICENSE","README.md","index.js"],"gitHead":"81d7a3c14099884c391bd237d7d8edf23c6d6f18","homepage":"https://github.com/component/merge-descriptors","_id":"merge-descriptors@1.0.0","scripts":{},"_shasum":"2169cf7538e1b0cc87fb88e1502d8474bbf79864","_from":"merge-descriptors@1.0.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tootallnate","email":"nathan@tootallnate.net"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"yields","email":"yields@icloud.com"},{"name":"ianstormtaylor","email":"ian@ianstormtaylor.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"timoxley","email":"secoif@gmail.com"},{"name":"mattmueller","email":"mattmuelle@gmail.com"},{"name":"jonathanong","email":"jonathanrichardong@gmail.com"},{"name":"queckezz","email":"fabian.eichenberger@gmail.com"},{"name":"anthonyshort","email":"antshort@gmail.com"},{"name":"dominicbarnes","email":"dominic@dbarnes.info"},{"name":"clintwood","email":"clint@anotherway.co.za"},{"name":"thehydroimpulse","email":"dnfagnan@gmail.com"},{"name":"stephenmathieson","email":"me@stephenmathieson.com"},{"name":"trevorgerhardt","email":"trevorgerhardt@gmail.com"},{"name":"timaschew","email":"timaschew@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"2169cf7538e1b0cc87fb88e1502d8474bbf79864","tarball":"http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/methods/index.js","id":"methods/index.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1409669820000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/methods/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/methods/package.json","data":{"name":"methods","description":"HTTP methods that node supports","version":"1.1.1","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"}],"license":"MIT","repository":{"type":"git","url":"git://github.com/jshttp/methods.git"},"devDependencies":{"istanbul":"0.3","mocha":"1"},"files":["index.js","HISTORY.md","LICENSE"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"},"browser":{"http":false},"keywords":["http","methods"],"readme":"# Methods\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\n  HTTP verbs that node core's parser supports.\n\n\n## Install\n\n```bash\n$ npm install methods\n```\n\n## API\n\n```js\nvar methods = require('methods')\n```\n\n### methods\n\nThis is an array of lower-case method names that Node.js supports.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/methods.svg?style=flat\n[npm-url]: https://npmjs.org/package/methods\n[node-version-image]: https://img.shields.io/node/v/methods.svg?style=flat\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/methods.svg?style=flat\n[travis-url]: https://travis-ci.org/jshttp/methods\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/methods.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/jshttp/methods?branch=master\n[downloads-image]: https://img.shields.io/npm/dm/methods.svg?style=flat\n[downloads-url]: https://npmjs.org/package/methods\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/methods/issues"},"homepage":"https://github.com/jshttp/methods","_id":"methods@1.1.1","_shasum":"17ea6366066d00c58e375b8ec7dfd0453c89822a","_from":"methods@>=1.1.1 <1.2.0","_resolved":"https://registry.npmjs.org/methods/-/methods-1.1.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/on-finished/index.js","id":"on-finished/index.js","options":{},"isModule":true,"requiredModules":["ee-first/index.js"],"mtime":1429751760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/on-finished/node_modules/ee-first/index.js","id":"ee-first/index.js","options":{},"isModule":true,"mtime":1413954970000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/on-finished/node_modules/ee-first/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/on-finished/node_modules/ee-first/package.json","data":{"name":"ee-first","description":"return the first event in a set of ee/event pairs","version":"1.1.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/jonathanong/ee-first"},"devDependencies":{"istanbul":"0.3.2","mocha":"1"},"files":["index.js","LICENSE"],"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"a6412004da4745941af2fc98ec30c8da570da7ea","bugs":{"url":"https://github.com/jonathanong/ee-first/issues"},"homepage":"https://github.com/jonathanong/ee-first","_id":"ee-first@1.1.0","_shasum":"6a0d7c6221e490feefd92ec3f441c9ce8cd097f4","_from":"ee-first@1.1.0","_npmVersion":"1.4.21","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"6a0d7c6221e490feefd92ec3f441c9ce8cd097f4","tarball":"http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/on-finished/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/on-finished/package.json","data":{"name":"on-finished","description":"Execute a callback when a request closes, finishes, or errors","version":"2.2.1","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/jshttp/on-finished"},"dependencies":{"ee-first":"1.1.0"},"devDependencies":{"istanbul":"0.3.9","mocha":"~2.2.4"},"engines":{"node":">= 0.8"},"files":["HISTORY.md","LICENSE","index.js"],"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"f3ecb92fb09d590d314ffe772a6ffd6f76c84223","bugs":{"url":"https://github.com/jshttp/on-finished/issues"},"homepage":"https://github.com/jshttp/on-finished","_id":"on-finished@2.2.1","_shasum":"5c85c1cc36299f78029653f667f27b6b99ebc029","_from":"on-finished@>=2.2.0 <2.3.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"dist":{"shasum":"5c85c1cc36299f78029653f667f27b6b99ebc029","tarball":"http://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/parseurl/index.js","id":"parseurl/index.js","options":{},"isModule":true,"requiredModules":["url"],"mtime":1407637621000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/parseurl/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/parseurl/package.json","data":{"name":"parseurl","description":"parse a url with memoization","version":"1.3.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"repository":{"type":"git","url":"git://github.com/expressjs/parseurl.git"},"license":"MIT","devDependencies":{"benchmark":"1.0.0","beautify-benchmark":"0.2.4","fast-url-parser":"~1.0.0","istanbul":"0.3.0","mocha":"~1.21.4"},"scripts":{"bench":"node benchmark/index.js","test":"mocha --check-leaks --bail --reporter spec test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec test/"},"readme":"# parseurl\n\n[![NPM version](https://badge.fury.io/js/parseurl.svg)](http://badge.fury.io/js/parseurl)\n[![Build Status](https://travis-ci.org/expressjs/parseurl.svg?branch=master)](https://travis-ci.org/expressjs/parseurl)\n[![Coverage Status](https://img.shields.io/coveralls/expressjs/parseurl.svg?branch=master)](https://coveralls.io/r/expressjs/parseurl)\n\nParse a URL with memoization.\n\n## Install\n\n```bash\n$ npm install parseurl\n```\n\n## API\n\n```js\nvar parseurl = require('parseurl')\n```\n\n### parseurl(req)\n\nParse the URL of the given request object (looks at the `req.url` property)\nand return the result. The result is the same as `url.parse` in Node.js core.\nCalling this function multiple times on the same `req` where `req.url` does\nnot change will return a cached parsed object, rather than parsing again.\n\n### parseurl.original(req)\n\nParse the original URL of the given request object and return the result.\nThis works by trying to parse `req.originalUrl` if it is a string, otherwise\nparses `req.url`. The result is the same as `url.parse` in Node.js core.\nCalling this function multiple times on the same `req` where `req.originalUrl`\ndoes not change will return a cached parsed object, rather than parsing again.\n\n## Benchmark\n\n```bash\n$ npm run-script bench\n\n> parseurl@1.3.0 bench nodejs-parseurl\n> node benchmark/index.js\n\n> node benchmark/fullurl.js\n\n  Parsing URL \"http://localhost:8888/foo/bar?user=tj&pet=fluffy\"\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x 1,290,780 ops/sec ±0.46% (195 runs sampled)\n  nativeurl x    56,401 ops/sec ±0.22% (196 runs sampled)\n  parseurl  x    55,231 ops/sec ±0.22% (194 runs sampled)\n\n> node benchmark/pathquery.js\n\n  Parsing URL \"/foo/bar?user=tj&pet=fluffy\"\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x 1,986,668 ops/sec ±0.27% (190 runs sampled)\n  nativeurl x    98,740 ops/sec ±0.21% (195 runs sampled)\n  parseurl  x 2,628,171 ops/sec ±0.36% (195 runs sampled)\n\n> node benchmark/samerequest.js\n\n  Parsing URL \"/foo/bar?user=tj&pet=fluffy\" on same request object\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x  2,184,468 ops/sec ±0.40% (194 runs sampled)\n  nativeurl x     99,437 ops/sec ±0.71% (194 runs sampled)\n  parseurl  x 10,498,005 ops/sec ±0.61% (186 runs sampled)\n\n> node benchmark/simplepath.js\n\n  Parsing URL \"/foo/bar\"\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x 4,535,825 ops/sec ±0.27% (191 runs sampled)\n  nativeurl x    98,769 ops/sec ±0.54% (191 runs sampled)\n  parseurl  x 4,164,865 ops/sec ±0.34% (192 runs sampled)\n\n> node benchmark/slash.js\n\n  Parsing URL \"/\"\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x 4,908,405 ops/sec ±0.42% (191 runs sampled)\n  nativeurl x   100,945 ops/sec ±0.59% (188 runs sampled)\n  parseurl  x 4,333,208 ops/sec ±0.27% (194 runs sampled)\n```\n\n## License\n\n  [MIT](LICENSE)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/expressjs/parseurl/issues"},"homepage":"https://github.com/expressjs/parseurl","_id":"parseurl@1.3.0","_shasum":"b58046db4223e145afa76009e61bac87cc2281b3","_from":"parseurl@>=1.3.0 <1.4.0","_resolved":"https://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/path-to-regexp/component.json","id":"path-to-regexp/component.json","options":{},"isModule":true,"mtime":1404631119000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/path-to-regexp/index.js","id":"path-to-regexp/index.js","options":{},"isModule":true,"mtime":1404631089000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/path-to-regexp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/path-to-regexp/package.json","data":{"name":"path-to-regexp","description":"Express style path to RegExp utility","version":"0.1.3","scripts":{"test":"istanbul cover _mocha -- -R spec"},"keywords":["express","regexp"],"component":{"scripts":{"path-to-regexp":"index.js"}},"repository":{"type":"git","url":"https://github.com/component/path-to-regexp.git"},"devDependencies":{"mocha":"^1.17.1","istanbul":"^0.2.6"},"bugs":{"url":"https://github.com/component/path-to-regexp/issues"},"homepage":"https://github.com/component/path-to-regexp","_id":"path-to-regexp@0.1.3","_shasum":"21b9ab82274279de25b156ea08fd12ca51b8aecb","_from":"path-to-regexp@0.1.3","_npmVersion":"1.4.9","_npmUser":{"name":"blakeembrey","email":"hello@blakeembrey.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dominicbarnes","email":"dominic@dbarnes.info"},{"name":"tootallnate","email":"nathan@tootallnate.net"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"retrofox","email":"rdsuarez@gmail.com"},{"name":"coreh","email":"thecoreh@gmail.com"},{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"kelonye","email":"kelonyemitchel@gmail.com"},{"name":"mattmueller","email":"mattmuelle@gmail.com"},{"name":"yields","email":"yields@icloud.com"},{"name":"anthonyshort","email":"antshort@gmail.com"},{"name":"ianstormtaylor","email":"ian@ianstormtaylor.com"},{"name":"cristiandouce","email":"cristian@gravityonmars.com"},{"name":"swatinem","email":"arpad.borsos@googlemail.com"},{"name":"stagas","email":"gstagas@gmail.com"},{"name":"amasad","email":"amjad.masad@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"calvinfo","email":"calvin@calv.info"},{"name":"blakeembrey","email":"hello@blakeembrey.com"},{"name":"timoxley","email":"secoif@gmail.com"},{"name":"jonathanong","email":"jonathanrichardong@gmail.com"},{"name":"queckezz","email":"fabian.eichenberger@gmail.com"},{"name":"nami-doc","email":"vendethiel@hotmail.fr"},{"name":"clintwood","email":"clint@anotherway.co.za"},{"name":"thehydroimpulse","email":"dnfagnan@gmail.com"},{"name":"stephenmathieson","email":"me@stephenmathieson.com"},{"name":"trevorgerhardt","email":"trevorgerhardt@gmail.com"}],"dist":{"shasum":"21b9ab82274279de25b156ea08fd12ca51b8aecb","tarball":"http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/path-to-regexp/test.js","id":"path-to-regexp/test.js","options":{},"isModule":true,"requiredModules":["path-to-regexp/index.js","assert"],"mtime":1404631089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/index.js","id":"proxy-addr/index.js","options":{},"isModule":true,"requiredModules":["forwarded/index.js","ipaddr.js/lib/ipaddr.js"],"mtime":1431312864000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/index.js","id":"forwarded/index.js","options":{},"isModule":true,"mtime":1411326466000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/package.json","data":{"name":"forwarded","description":"Parse HTTP X-Forwarded-For header","version":"0.1.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","keywords":["x-forwarded-for","http","req"],"repository":{"type":"git","url":"git://github.com/jshttp/forwarded.git"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.4"},"files":["LICENSE","HISTORY.md","README.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"readme":"# forwarded\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nParse HTTP X-Forwarded-For header\n\n## Installation\n\n```sh\n$ npm install forwarded\n```\n\n## API\n\n```js\nvar forwarded = require('forwarded')\n```\n\n### forwarded(req)\n\n```js\nvar addresses = forwarded(req)\n```\n\nParse the `X-Forwarded-For` header from the request. Returns an array\nof the addresses, including the socket address for the `req`. In reverse\norder (i.e. index `0` is the socket address and the last index is the\nfurthest address, typically the end-user).\n\n## Testing\n\n```sh\n$ npm test\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/forwarded.svg?style=flat\n[npm-url]: https://npmjs.org/package/forwarded\n[node-version-image]: https://img.shields.io/node/v/forwarded.svg?style=flat\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/forwarded.svg?style=flat\n[travis-url]: https://travis-ci.org/jshttp/forwarded\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master\n[downloads-image]: https://img.shields.io/npm/dm/forwarded.svg?style=flat\n[downloads-url]: https://npmjs.org/package/forwarded\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/forwarded/issues"},"homepage":"https://github.com/jshttp/forwarded","_id":"forwarded@0.1.0","_shasum":"19ef9874c4ae1c297bcf078fde63a09b66a84363","_from":"forwarded@>=0.1.0 <0.2.0","_resolved":"https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/ipaddr.min.js","id":"ipaddr.js/ipaddr.min.js","options":{},"isModule":true,"mtime":1428512367000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/lib/ipaddr.js","id":"ipaddr.js/lib/ipaddr.js","options":{},"isModule":true,"mtime":1428512367000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/package.json","data":{"name":"ipaddr.js","description":"A library for manipulating IPv4 and IPv6 addresses in JavaScript.","version":"1.0.1","author":{"name":"Peter Zotov","email":"whitequark@whitequark.org"},"directories":{"lib":"./lib"},"dependencies":{},"devDependencies":{"coffee-script":"~1.6","nodeunit":"~0.5.3","uglify-js":"latest"},"scripts":{"test":"cake build test"},"keywords":["ip","ipv4","ipv6"],"repository":{"type":"git","url":"git://github.com/whitequark/ipaddr.js"},"main":"./lib/ipaddr","engines":{"node":">= 0.2.5"},"license":"MIT","gitHead":"0a5a26d9317a58d67047e7f32b5b1bbe7f2f7fbf","bugs":{"url":"https://github.com/whitequark/ipaddr.js/issues"},"_id":"ipaddr.js@1.0.1","_shasum":"5f38801dc73e0400fc7076386f6ed5215fbd8f95","_from":"ipaddr.js@1.0.1","_npmVersion":"1.4.21","_npmUser":{"name":"whitequark","email":"whitequark@whitequark.org"},"maintainers":[{"name":"whitequark","email":"whitequark@whitequark.org"}],"dist":{"shasum":"5f38801dc73e0400fc7076386f6ed5215fbd8f95","tarball":"http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz"},"_resolved":"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/proxy-addr/package.json","data":{"name":"proxy-addr","description":"Determine address of proxied request","version":"1.0.8","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["ip","proxy","x-forwarded-for"],"repository":{"type":"git","url":"git://github.com/jshttp/proxy-addr.git"},"dependencies":{"forwarded":"~0.1.0","ipaddr.js":"1.0.1"},"devDependencies":{"benchmark":"1.0.0","beautify-benchmark":"0.2.4","istanbul":"0.3.9","mocha":"~1.21.5"},"files":["LICENSE","HISTORY.md","README.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"bench":"node benchmark/index.js","test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"readme":"# proxy-addr\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nDetermine address of proxied request\n\n## Install\n\n```sh\n$ npm install proxy-addr\n```\n\n## API\n\n```js\nvar proxyaddr = require('proxy-addr')\n```\n\n### proxyaddr(req, trust)\n\nReturn the address of the request, using the given `trust` parameter.\n\nThe `trust` argument is a function that returns `true` if you trust\nthe address, `false` if you don't. The closest untrusted address is\nreturned.\n\n```js\nproxyaddr(req, function(addr){ return addr === '127.0.0.1' })\nproxyaddr(req, function(addr, i){ return i < 1 })\n```\n\nThe `trust` arugment may also be a single IP address string or an\narray of trusted addresses, as plain IP addresses, CIDR-formatted\nstrings, or IP/netmask strings.\n\n```js\nproxyaddr(req, '127.0.0.1')\nproxyaddr(req, ['127.0.0.0/8', '10.0.0.0/8'])\nproxyaddr(req, ['127.0.0.0/255.0.0.0', '192.168.0.0/255.255.0.0'])\n```\n\nThis module also supports IPv6. Your IPv6 addresses will be normalized\nautomatically (i.e. `fe80::00ed:1` equals `fe80:0:0:0:0:0:ed:1`).\n\n```js\nproxyaddr(req, '::1')\nproxyaddr(req, ['::1/128', 'fe80::/10'])\nproxyaddr(req, ['fe80::/ffc0::'])\n```\n\nThis module will automatically work with IPv4-mapped IPv6 addresses\nas well to support node.js in IPv6-only mode. This means that you do\nnot have to specify both `::ffff:a00:1` and `10.0.0.1`.\n\nAs a convenience, this module also takes certain pre-defined names\nin addition to IP addresses, which expand into IP addresses:\n\n```js\nproxyaddr(req, 'loopback')\nproxyaddr(req, ['loopback', 'fc00:ac:1ab5:fff::1/64'])\n```\n\n  * `loopback`: IPv4 and IPv6 loopback addresses (like `::1` and\n    `127.0.0.1`).\n  * `linklocal`: IPv4 and IPv6 link-local addresses (like\n    `fe80::1:1:1:1` and `169.254.0.1`).\n  * `uniquelocal`: IPv4 private addresses and IPv6 unique-local\n    addresses (like `fc00:ac:1ab5:fff::1` and `192.168.0.1`).\n\nWhen `trust` is specified as a function, it will be called for each\naddress to determine if it is a trusted address. The function is\ngiven two arguments: `addr` and `i`, where `addr` is a string of\nthe address to check and `i` is a number that represents the distance\nfrom the socket address.\n\n### proxyaddr.all(req, [trust])\n\nReturn all the addresses of the request, optionally stopping at the\nfirst untrusted. This array is ordered from closest to furthest\n(i.e. `arr[0] === req.connection.remoteAddress`).\n\n```js\nproxyaddr.all(req)\n```\n\nThe optional `trust` argument takes the same arguments as `trust`\ndoes in `proxyaddr(req, trust)`.\n\n```js\nproxyaddr.all(req, 'loopback')\n```\n\n### proxyaddr.compile(val)\n\nCompiles argument `val` into a `trust` function. This function takes\nthe same arguments as `trust` does in `proxyaddr(req, trust)` and\nreturns a function suitable for `proxyaddr(req, trust)`.\n\n```js\nvar trust = proxyaddr.compile('localhost')\nvar addr  = proxyaddr(req, trust)\n```\n\nThis function is meant to be optimized for use against every request.\nIt is recommend to compile a trust function up-front for the trusted\nconfiguration and pass that to `proxyaddr(req, trust)` for each request.\n\n## Testing\n\n```sh\n$ npm test\n```\n\n## Benchmarks\n\n```sh\n$ npm run-script bench\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/proxy-addr.svg\n[npm-url]: https://npmjs.org/package/proxy-addr\n[node-version-image]: https://img.shields.io/node/v/proxy-addr.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/proxy-addr/master.svg\n[travis-url]: https://travis-ci.org/jshttp/proxy-addr\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/proxy-addr/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/proxy-addr?branch=master\n[downloads-image]: https://img.shields.io/npm/dm/proxy-addr.svg\n[downloads-url]: https://npmjs.org/package/proxy-addr\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/proxy-addr/issues"},"homepage":"https://github.com/jshttp/proxy-addr","_id":"proxy-addr@1.0.8","_shasum":"db54ec878bcc1053d57646609219b3715678bafe","_from":"proxy-addr@>=1.0.6 <1.1.0","_resolved":"https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.8.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/index.js","id":"qs/index.js","options":{},"isModule":true,"requiredModules":["qs/lib/index.js"],"mtime":1415925020000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/lib/index.js","id":"qs/lib/index.js","options":{},"isModule":true,"requiredModules":["qs/lib/stringify.js","qs/lib/parse.js"],"mtime":1413822342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/lib/parse.js","id":"qs/lib/parse.js","options":{},"isModule":true,"requiredModules":["qs/lib/utils.js"],"mtime":1415926394000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/lib/stringify.js","id":"qs/lib/stringify.js","options":{},"isModule":true,"requiredModules":["qs/lib/utils.js"],"mtime":1414081450000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/lib/utils.js","id":"qs/lib/utils.js","options":{},"isModule":true,"mtime":1415925020000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/package.json","data":{"name":"qs","version":"2.3.3","description":"A querystring parser that supports nesting and arrays, with a depth limit","homepage":"https://github.com/hapijs/qs","main":"index.js","dependencies":{},"devDependencies":{"code":"1.x.x","lab":"5.x.x"},"scripts":{"test":"make test-cov"},"repository":{"type":"git","url":"https://github.com/hapijs/qs.git"},"keywords":["querystring","qs"],"licenses":[{"type":"BSD","url":"http://github.com/hapijs/qs/raw/master/LICENSE"}],"gitHead":"9250c4cda5102fcf72441445816e6d311fc6813d","bugs":{"url":"https://github.com/hapijs/qs/issues"},"_id":"qs@2.3.3","_shasum":"e9e85adbe75da0bbe4c8e0476a086290f863b404","_from":"qs@2.3.3","_npmVersion":"2.1.6","_nodeVersion":"0.10.32","_npmUser":{"name":"nlf","email":"quitlahok@gmail.com"},"maintainers":[{"name":"nlf","email":"quitlahok@gmail.com"},{"name":"hueniverse","email":"eran@hueniverse.com"}],"dist":{"shasum":"e9e85adbe75da0bbe4c8e0476a086290f863b404","tarball":"http://registry.npmjs.org/qs/-/qs-2.3.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/qs/-/qs-2.3.3.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/test/parse.js","id":"qs/test/parse.js","options":{},"isModule":true,"requiredModules":["code","lab","qs/index.js"],"mtime":1415926394000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/qs/test/stringify.js","id":"qs/test/stringify.js","options":{},"isModule":true,"requiredModules":["code","lab","qs/index.js"],"mtime":1415925020000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/range-parser/index.js","id":"range-parser/index.js","options":{},"isModule":true,"mtime":1410230668000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/range-parser/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/range-parser/package.json","data":{"name":"range-parser","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"description":"Range header field string parser","version":"1.0.2","license":"MIT","keywords":["range","parser","http"],"repository":{"type":"git","url":"git://github.com/jshttp/range-parser.git"},"devDependencies":{"istanbul":"0","mocha":"1","should":"2"},"files":["HISTORY.md","LICENSE","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --require should","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --require should","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot --require should"},"readme":"# range-parser\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nRange header field parser.\n\n## Installation\n\n```\n$ npm install range-parser\n```\n\n## Examples\n\n```js\nassert(-1 == parse(200, 'bytes=500-20'));\nassert(-2 == parse(200, 'bytes=malformed'));\nparse(200, 'bytes=0-499').should.eql(arr('bytes', [{ start: 0, end: 199 }]));\nparse(1000, 'bytes=0-499').should.eql(arr('bytes', [{ start: 0, end: 499 }]));\nparse(1000, 'bytes=40-80').should.eql(arr('bytes', [{ start: 40, end: 80 }]));\nparse(1000, 'bytes=-500').should.eql(arr('bytes', [{ start: 500, end: 999 }]));\nparse(1000, 'bytes=-400').should.eql(arr('bytes', [{ start: 600, end: 999 }]));\nparse(1000, 'bytes=500-').should.eql(arr('bytes', [{ start: 500, end: 999 }]));\nparse(1000, 'bytes=400-').should.eql(arr('bytes', [{ start: 400, end: 999 }]));\nparse(1000, 'bytes=0-0').should.eql(arr('bytes', [{ start: 0, end: 0 }]));\nparse(1000, 'bytes=-1').should.eql(arr('bytes', [{ start: 999, end: 999 }]));\nparse(1000, 'items=0-5').should.eql(arr('items', [{ start: 0, end: 5 }]));\nparse(1000, 'bytes=40-80,-1').should.eql(arr('bytes', [{ start: 40, end: 80 }, { start: 999, end: 999 }]));\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/range-parser.svg?style=flat\n[npm-url]: https://npmjs.org/package/range-parser\n[node-version-image]: https://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg?style=flat\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/range-parser.svg?style=flat\n[travis-url]: https://travis-ci.org/jshttp/range-parser\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/range-parser.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/jshttp/range-parser\n[downloads-image]: https://img.shields.io/npm/dm/range-parser.svg?style=flat\n[downloads-url]: https://npmjs.org/package/range-parser\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/range-parser/issues"},"homepage":"https://github.com/jshttp/range-parser","_id":"range-parser@1.0.2","_shasum":"06a12a42e5131ba8e457cd892044867f2344e549","_from":"range-parser@>=1.0.2 <1.1.0","_resolved":"https://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/index.js","id":"send/index.js","options":{},"isModule":true,"requiredModules":["debug/node.js","depd/index.js","destroy/index.js","escape-html/index.js","range-parser/index.js","stream","mime/mime.js","fresh/index.js","path","http","fs","etag/index.js","events","ms/index.js","on-finished/index.js"],"mtime":1424192797000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/destroy/index.js","id":"destroy/index.js","options":{},"isModule":true,"requiredModules":["fs","stream"],"mtime":1408084013000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/destroy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/destroy/package.json","data":{"name":"destroy","description":"destroy a stream if possible","version":"1.0.3","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/stream-utils/destroy"},"devDependencies":{"istanbul":"0","mocha":"1"},"scripts":{"test":"mocha --reporter spec","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"},"files":["index.js"],"keywords":["stream","streams","destroy","cleanup","leak","fd"],"gitHead":"50af95ece4a70202f9301bc3edc8f9fdbbad0f26","bugs":{"url":"https://github.com/stream-utils/destroy/issues"},"homepage":"https://github.com/stream-utils/destroy","_id":"destroy@1.0.3","_shasum":"b433b4724e71fd8551d9885174851c5fc377e2c9","_from":"destroy@1.0.3","_npmVersion":"1.4.21","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"dist":{"shasum":"b433b4724e71fd8551d9885174851c5fc377e2c9","tarball":"http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/mime/build/build.js","id":"mime/build/build.js","options":{},"isModule":true,"requiredModules":["mime-db/index.js"],"mtime":1423164488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/mime/build/test.js","id":"mime/build/test.js","options":{},"isModule":true,"requiredModules":["mime/mime.js","assert","path"],"mtime":1423164488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/mime/cli.js","id":"mime/cli.js","options":{},"isModule":true,"requiredModules":["mime/mime.js"],"mtime":1423166570000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/mime/mime.js","id":"mime/mime.js","options":{},"isModule":true,"requiredModules":["path","fs","mime/types.json"],"mtime":1423164636000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/mime/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/mime/package.json","data":{"author":{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"},"scripts":{"prepublish":"node build/build.js > types.json","test":"node build/test.js"},"bin":{"mime":"cli.js"},"contributors":[{"name":"Benjamin Thomas","email":"benjamin@benjaminthomas.org","url":"http://github.com/bentomas"}],"description":"A comprehensive library for mime-type mapping","licenses":[{"type":"MIT","url":"https://raw.github.com/broofa/node-mime/master/LICENSE"}],"dependencies":{},"devDependencies":{"mime-db":"^1.2.0"},"keywords":["util","mime"],"main":"mime.js","name":"mime","repository":{"url":"git+https://github.com/broofa/node-mime.git","type":"git"},"version":"1.3.4","readme":"# mime\n\nComprehensive MIME type mapping API based on mime-db module.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n    npm install mime\n\n## Contributing / Testing\n\n    npm run test\n\n## Command Line\n\n    mime [path_string]\n\nE.g.\n\n    > mime scripts/jquery.js\n    application/javascript\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.\n\n```js\nvar mime = require('mime');\n\nmime.lookup('/path/to/file.txt');         // => 'text/plain'\nmime.lookup('file.txt');                  // => 'text/plain'\nmime.lookup('.TXT');                      // => 'text/plain'\nmime.lookup('htm');                       // => 'text/html'\n```\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n```js\nmime.extension('text/html');                 // => 'html'\nmime.extension('application/octet-stream');  // => 'bin'\n```\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n```js\nmime.charsets.lookup('text/plain');        // => 'UTF-8'\n```\n\n(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nCustom type mappings can be added on a per-project basis via the following APIs.\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n```js\nmime.define({\n    'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],\n    'application/x-my-type': ['x-mt', 'x-mtt'],\n    // etc ...\n});\n\nmime.lookup('x-sft');                 // => 'text/x-some-format'\n```\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n```js\nmime.extension('text/x-some-format'); // => 'x-sf'\n```\n\n### mime.load(filepath)\n\nLoad mappings from an Apache \".types\" format file\n\n```js\nmime.load('./my_project.types');\n```\nThe .types file format is simple -  See the `types` dir for examples.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/broofa/node-mime/issues"},"homepage":"https://github.com/broofa/node-mime","_id":"mime@1.3.4","_shasum":"115f9e3b6b3daf2959983cb38f149a2d40eb5d53","_from":"mime@1.3.4","_resolved":"https://registry.npmjs.org/mime/-/mime-1.3.4.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/mime/types.json","id":"mime/types.json","options":{},"isModule":true,"mtime":1423267267000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1416815822000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/node_modules/ms/package.json","data":{"name":"ms","version":"0.7.0","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"gitHead":"1e9cd9b05ef0dc26f765434d2bfee42394376e52","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.7.0","scripts":{},"_shasum":"865be94c2e7397ad8a57da6a633a6e2f30798b83","_from":"ms@0.7.0","_npmVersion":"1.4.21","_npmUser":{"name":"rauchg","email":"rauchg@gmail.com"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"}],"dist":{"shasum":"865be94c2e7397ad8a57da6a633a6e2f30798b83","tarball":"http://registry.npmjs.org/ms/-/ms-0.7.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ms/-/ms-0.7.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/send/package.json","data":{"name":"send","description":"Better streaming static file server with Range and conditional-GET support","version":"0.12.1","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/pillarjs/send"},"keywords":["static","file","server"],"dependencies":{"debug":"~2.1.1","depd":"~1.0.0","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.5.1","fresh":"0.2.4","mime":"1.3.4","ms":"0.7.0","on-finished":"~2.2.0","range-parser":"~1.0.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.5","mocha":"~2.1.0","supertest":"~0.15.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --check-leaks --reporter spec --bail","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot"},"gitHead":"700757e7aa065b58fb101bd149bedb8239fac228","bugs":{"url":"https://github.com/pillarjs/send/issues"},"homepage":"https://github.com/pillarjs/send","_id":"send@0.12.1","_shasum":"65e2e4330eae6b4d1082a921bfc8e9c9f1776b31","_from":"send@0.12.1","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"65e2e4330eae6b4d1082a921bfc8e9c9f1776b31","tarball":"http://registry.npmjs.org/send/-/send-0.12.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/send/-/send-0.12.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/index.js","id":"serve-static/index.js","options":{},"isModule":true,"requiredModules":["escape-html/index.js","utils-merge/index.js","parseurl/index.js","path","send/index.js","url"],"mtime":1423097923000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/index.js","id":"send/index.js","options":{},"isModule":true,"requiredModules":["debug/node.js","depd/index.js","destroy/index.js","escape-html/index.js","range-parser/index.js","stream","mime/mime.js","fresh/index.js","path","http","fs","etag/index.js","events","ms/index.js","on-finished/index.js"],"mtime":1426309120000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/debug/bower.json","id":"debug/bower.json","options":{},"isModule":true,"mtime":1431242465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/debug/browser.js","id":"debug/browser.js","options":{},"isModule":true,"requiredModules":["debug/debug.js"],"mtime":1431199632000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/debug/component.json","id":"debug/component.json","options":{},"isModule":true,"mtime":1431242465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"requiredModules":["ms/index.js"],"mtime":1408510177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/debug/node.js","id":"debug/node.js","options":{},"isModule":true,"requiredModules":["tty","util/util.js","debug/debug.js","fs","net"],"mtime":1426272474000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/debug/package.json","data":{"name":"debug","version":"2.2.0","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io"}],"license":"MIT","dependencies":{"ms":"0.7.1"},"devDependencies":{"browserify":"9.0.3","mocha":"*"},"main":"./node.js","browser":"./browser.js","component":{"scripts":{"debug/index.js":"browser.js","debug/debug.js":"debug.js"}},"readme":"# debug\n\n  tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n  , http = require('http')\n  , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n  debug(req.method + ' ' + req.url);\n  res.end('hello\\n');\n}).listen(3000, function(){\n  debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n  debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n  ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n  ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n#### Windows note\n\n On Windows the environment variable is set using the `set` command.\n\n ```cmd\n set DEBUG=*,-not_this\n ```\n\nThen, run the program to be debugged as usual.\n\n## Millisecond diff\n\n  When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n  ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n  When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n  ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n  The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n  You can also exclude specific debuggers by prefixing them with a \"-\" character.  For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n  Debug works in the browser as well, currently persisted by `localStorage`. Consider the situation shown below where you have `worker:a` and `worker:b`, and wish to debug both. Somewhere in the code on your page, include:\n\n```js\nwindow.myDebug = require(\"debug\");\n```\n\n  (\"debug\" is a global object in the browser so we give this object a different name.) When your page is open in the browser, type the following in the console:\n\n```js\nmyDebug.enable(\"worker:*\")\n```\n\n  Refresh the page. Debug output will continue to be sent to the console until it is disabled by typing `myDebug.disable()` in the console.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n  a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n  b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n  Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n  option. These are WebKit web inspectors, Firefox ([since version\n  31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n  and the Firebug plugin for Firefox (any version).\n\n  Colored output looks something like:\n\n  ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stdout.js_:\n\n```js\nvar debug = require('debug');\nvar error = debug('app:error');\n\n// by default stderr is used\nerror('goes to stderr!');\n\nvar log = debug('app:log');\n// set this namespace to log via console.log\nlog.log = console.log.bind(console); // don't forget to bind to console!\nlog('goes to stdout');\nerror('still goes to stderr!');\n\n// set all output to go via console.info\n// overrides all per-namespace log settings\ndebug.log = console.info.bind(console);\nerror('now goes to stdout via console.info');\nlog('still goes to stdout, but via console.info now');\n```\n\n### Save debug output to a file\n\nYou can save all debug statements to a file by piping them.\n\nExample:\n\n```bash\n$ DEBUG_FD=3 node your-app.js 3> whatever.log\n```\n\n## Authors\n\n - TJ Holowaychuk\n - Nathan Rajlich\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@2.2.0","_shasum":"f87057e995b1a1f6ae6a4960664137bc56f039da","_from":"debug@>=2.2.0 <2.3.0","_resolved":"https://registry.npmjs.org/debug/-/debug-2.2.0.tgz","scripts":{}},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/destroy/index.js","id":"destroy/index.js","options":{},"isModule":true,"requiredModules":["fs","stream"],"mtime":1408084013000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/destroy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/destroy/package.json","data":{"name":"destroy","description":"destroy a stream if possible","version":"1.0.3","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/stream-utils/destroy.git"},"devDependencies":{"istanbul":"0","mocha":"1"},"scripts":{"test":"mocha --reporter spec","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"},"files":["index.js"],"keywords":["stream","streams","destroy","cleanup","leak","fd"],"gitHead":"50af95ece4a70202f9301bc3edc8f9fdbbad0f26","bugs":{"url":"https://github.com/stream-utils/destroy/issues"},"homepage":"https://github.com/stream-utils/destroy","_id":"destroy@1.0.3","_shasum":"b433b4724e71fd8551d9885174851c5fc377e2c9","_from":"destroy@1.0.3","_npmVersion":"1.4.21","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"dist":{"shasum":"b433b4724e71fd8551d9885174851c5fc377e2c9","tarball":"http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz","readme":"# Destroy\n\n[![NPM version][npm-image]][npm-url]\n[![Build status][travis-image]][travis-url]\n[![Test coverage][coveralls-image]][coveralls-url]\n[![Dependency Status][david-image]][david-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n[![Gittip][gittip-image]][gittip-url]\n\nDestroy a stream.\n\n## API\n\n```js\nvar destroy = require('destroy')\n\nvar fs = require('fs')\nvar stream = fs.createReadStream('package.json')\ndestroy(stream)\n```\n\n[npm-image]: https://img.shields.io/npm/v/destroy.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/destroy\n[github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square\n[github-url]: https://github.com/stream-utils/destroy/tags\n[travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square\n[travis-url]: https://travis-ci.org/stream-utils/destroy\n[coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square\n[coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master\n[david-image]: http://img.shields.io/david/stream-utils/destroy.svg?style=flat-square\n[david-url]: https://david-dm.org/stream-utils/destroy\n[license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square\n[license-url]: LICENSE.md\n[downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square\n[downloads-url]: https://npmjs.org/package/destroy\n[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square\n[gittip-url]: https://www.gittip.com/jonathanong/\n","readmeFilename":"README.md"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/index.js","id":"etag/index.js","options":{},"isModule":true,"requiredModules":["crc/lib/index.js","crypto","fs"],"mtime":1431308947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc.js","id":"crc/lib/crc.js","options":{},"isModule":true,"requiredModules":["crc/lib/hex.js"],"mtime":1415812212000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc1.js","id":"crc/lib/crc1.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc16.js","id":"crc/lib/crc16.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc16_ccitt.js","id":"crc/lib/crc16_ccitt.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc16_modbus.js","id":"crc/lib/crc16_modbus.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc24.js","id":"crc/lib/crc24.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc32.js","id":"crc/lib/crc32.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc8.js","id":"crc/lib/crc8.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/crc8_1wire.js","id":"crc/lib/crc8_1wire.js","options":{},"isModule":true,"requiredModules":["buffer","crc/lib/create.js"],"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/create.js","id":"crc/lib/create.js","options":{},"isModule":true,"mtime":1415827863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/hex.js","id":"crc/lib/hex.js","options":{},"isModule":true,"mtime":1415812212000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/lib/index.js","id":"crc/lib/index.js","options":{},"isModule":true,"requiredModules":["crc/lib/crc1.js","crc/lib/crc8.js","crc/lib/crc8_1wire.js","crc/lib/crc16.js","crc/lib/crc16_ccitt.js","crc/lib/crc16_modbus.js","crc/lib/crc24.js","crc/lib/crc32.js"],"mtime":1415827863000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/node_modules/crc/package.json","data":{"name":"crc","version":"3.2.1","description":"Various CRC JavaScript implementations","keywords":["crc"],"main":"./lib/index.js","scripts":{"test":"mocha test/*.spec.coffee","pretest":"coffee --bare --output ./lib --compile ./src/*.coffee"},"author":{"name":"Alex Gorbatchev","url":"https://github.com/alexgorbatchev"},"devDependencies":{"beautify-benchmark":"^0.2.4","benchmark":"^1.0.0","buffer-crc32":"^0.2.3","chai":"~1.9.1","coffee-errors":"~0.8.6","coffee-script":"~1.7.1","mocha":"*","seedrandom":"^2.3.6"},"homepage":"https://github.com/alexgorbatchev/node-crc","bugs":{"url":"https://github.com/alexgorbatchev/node-crc/issues"},"repository":{"type":"git","url":"git://github.com/alexgorbatchev/node-crc.git"},"license":"MIT","gitHead":"71caf362b061992bfe4ca8706ee264e764d2e88e","_id":"crc@3.2.1","_shasum":"5d9c8fb77a245cd5eca291e5d2d005334bab0082","_from":"crc@3.2.1","_npmVersion":"1.4.13","_npmUser":{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"},"maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"dist":{"shasum":"5d9c8fb77a245cd5eca291e5d2d005334bab0082","tarball":"http://registry.npmjs.org/crc/-/crc-3.2.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/crc/-/crc-3.2.1.tgz","readme":"ERROR: No README data found!"},"mtime":1439487649000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/package.json","data":{"name":"etag","description":"Create simple ETags","version":"1.6.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"David Björklund","email":"david.bjorklund@gmail.com"}],"license":"MIT","keywords":["etag","http","res"],"repository":{"type":"git","url":"https://github.com/jshttp/etag"},"dependencies":{"crc":"3.2.1"},"devDependencies":{"benchmark":"1.0.0","beautify-benchmark":"0.2.4","istanbul":"0.3.9","mocha":"~1.21.4","seedrandom":"2.3.11"},"files":["LICENSE","HISTORY.md","README.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"bench":"node benchmark/index.js","test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"gitHead":"76a8f5250b02e85bc1c9b1b049d83b853a87df44","bugs":{"url":"https://github.com/jshttp/etag/issues"},"homepage":"https://github.com/jshttp/etag","_id":"etag@1.6.0","_shasum":"8bcb2c6af1254c481dfc8b997c906ef4e442c207","_from":"etag@>=1.6.0 <1.7.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"8bcb2c6af1254c481dfc8b997c906ef4e442c207","tarball":"http://registry.npmjs.org/etag/-/etag-1.6.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/etag/-/etag-1.6.0.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/build/build.js","id":"mime/build/build.js","options":{},"isModule":true,"requiredModules":["mime-db/index.js"],"mtime":1423164488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/build/test.js","id":"mime/build/test.js","options":{},"isModule":true,"requiredModules":["mime/mime.js","assert","path"],"mtime":1423164488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/cli.js","id":"mime/cli.js","options":{},"isModule":true,"requiredModules":["mime/mime.js"],"mtime":1423166570000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/mime.js","id":"mime/mime.js","options":{},"isModule":true,"requiredModules":["path","fs","mime/types.json"],"mtime":1423164636000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/package.json","data":{"author":{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"},"scripts":{"prepublish":"node build/build.js > types.json","test":"node build/test.js"},"bin":{"mime":"cli.js"},"contributors":[{"name":"Benjamin Thomas","email":"benjamin@benjaminthomas.org","url":"http://github.com/bentomas"}],"description":"A comprehensive library for mime-type mapping","licenses":[{"type":"MIT","url":"https://raw.github.com/broofa/node-mime/master/LICENSE"}],"dependencies":{},"devDependencies":{"mime-db":"^1.2.0"},"keywords":["util","mime"],"main":"mime.js","name":"mime","repository":{"url":"git+https://github.com/broofa/node-mime.git","type":"git"},"version":"1.3.4","readme":"# mime\n\nComprehensive MIME type mapping API based on mime-db module.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n    npm install mime\n\n## Contributing / Testing\n\n    npm run test\n\n## Command Line\n\n    mime [path_string]\n\nE.g.\n\n    > mime scripts/jquery.js\n    application/javascript\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.\n\n```js\nvar mime = require('mime');\n\nmime.lookup('/path/to/file.txt');         // => 'text/plain'\nmime.lookup('file.txt');                  // => 'text/plain'\nmime.lookup('.TXT');                      // => 'text/plain'\nmime.lookup('htm');                       // => 'text/html'\n```\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n```js\nmime.extension('text/html');                 // => 'html'\nmime.extension('application/octet-stream');  // => 'bin'\n```\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n```js\nmime.charsets.lookup('text/plain');        // => 'UTF-8'\n```\n\n(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nCustom type mappings can be added on a per-project basis via the following APIs.\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n```js\nmime.define({\n    'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],\n    'application/x-my-type': ['x-mt', 'x-mtt'],\n    // etc ...\n});\n\nmime.lookup('x-sft');                 // => 'text/x-some-format'\n```\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n```js\nmime.extension('text/x-some-format'); // => 'x-sf'\n```\n\n### mime.load(filepath)\n\nLoad mappings from an Apache \".types\" format file\n\n```js\nmime.load('./my_project.types');\n```\nThe .types file format is simple -  See the `types` dir for examples.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/broofa/node-mime/issues"},"homepage":"https://github.com/broofa/node-mime","_id":"mime@1.3.4","_shasum":"115f9e3b6b3daf2959983cb38f149a2d40eb5d53","_from":"mime@1.3.4","_resolved":"https://registry.npmjs.org/mime/-/mime-1.3.4.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/types.json","id":"mime/types.json","options":{},"isModule":true,"mtime":1423267267000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1429572968000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/node_modules/ms/package.json","data":{"name":"ms","version":"0.7.1","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"gitHead":"713dcf26d9e6fd9dbc95affe7eff9783b7f1b909","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.7.1","scripts":{},"_shasum":"9cd13c03adbff25b65effde7ce864ee952017098","_from":"ms@0.7.1","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"rauchg","email":"rauchg@gmail.com"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"}],"dist":{"shasum":"9cd13c03adbff25b65effde7ce864ee952017098","tarball":"http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ms/-/ms-0.7.1.tgz","readme":"# ms.js: miliseconds conversion utility\n\n```js\nms('2 days')  // 172800000\nms('1d')      // 86400000\nms('10h')     // 36000000\nms('2.5 hrs') // 9000000\nms('2h')      // 7200000\nms('1m')      // 60000\nms('5s')      // 5000\nms('100')     // 100\n```\n\n```js\nms(60000)             // \"1m\"\nms(2 * 60000)         // \"2m\"\nms(ms('10 hours'))    // \"10h\"\n```\n\n```js\nms(60000, { long: true })             // \"1 minute\"\nms(2 * 60000, { long: true })         // \"2 minutes\"\nms(ms('10 hours'), { long: true })    // \"10 hours\"\n```\n\n- Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download).\n- If a number is supplied to `ms`, a string with a unit is returned.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `'100'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n\n## License\n\nMIT\n","readmeFilename":"README.md"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/node_modules/send/package.json","data":{"name":"send","description":"Better streaming static file server with Range and conditional-GET support","version":"0.12.3","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/pillarjs/send"},"keywords":["static","file","server"],"dependencies":{"debug":"~2.2.0","depd":"~1.0.1","destroy":"1.0.3","escape-html":"1.0.1","etag":"~1.6.0","fresh":"0.2.4","mime":"1.3.4","ms":"0.7.1","on-finished":"~2.2.1","range-parser":"~1.0.2"},"devDependencies":{"after":"0.8.1","istanbul":"0.3.9","mocha":"2.2.4","supertest":"~0.15.0"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --check-leaks --reporter spec --bail","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot"},"gitHead":"db460d914de7114d267a55e2a2d60f869c8ddd33","bugs":{"url":"https://github.com/pillarjs/send/issues"},"homepage":"https://github.com/pillarjs/send","_id":"send@0.12.3","_shasum":"cd12dc58fde21e4f91902b39b2fda05a7a6d9bdc","_from":"send@0.12.3","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"cd12dc58fde21e4f91902b39b2fda05a7a6d9bdc","tarball":"http://registry.npmjs.org/send/-/send-0.12.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/send/-/send-0.12.3.tgz"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/serve-static/package.json","data":{"name":"serve-static","description":"Serve static files","version":"1.9.3","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/expressjs/serve-static"},"dependencies":{"escape-html":"1.0.1","parseurl":"~1.3.0","send":"0.12.3","utils-merge":"1.0.0"},"devDependencies":{"istanbul":"0.3.9","mocha":"2.2.5","supertest":"1.0.1"},"files":["LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"},"gitHead":"c76d20a9f51a15a467eab2b0610e5de60506dfbc","bugs":{"url":"https://github.com/expressjs/serve-static/issues"},"homepage":"https://github.com/expressjs/serve-static","_id":"serve-static@1.9.3","_shasum":"5f8da07323ad385ff3dc541f1a7917b2e436eb57","_from":"serve-static@>=1.9.1 <1.10.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"defunctzombie","email":"shtylman@gmail.com"}],"dist":{"shasum":"5f8da07323ad385ff3dc541f1a7917b2e436eb57","tarball":"http://registry.npmjs.org/serve-static/-/serve-static-1.9.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/serve-static/-/serve-static-1.9.3.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/index.js","id":"type-is/index.js","options":{},"isModule":true,"requiredModules":["media-typer/index.js","mime-types/index.js"],"mtime":1435798824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/media-typer/index.js","id":"media-typer/index.js","options":{},"isModule":true,"mtime":1410150327000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/media-typer/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/media-typer/package.json","data":{"name":"media-typer","description":"Simple RFC 6838 media type parser and formatter","version":"0.3.0","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/jshttp/media-typer.git"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.4","should":"~4.0.4"},"files":["LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec --check-leaks --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"readme":"# media-typer\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nSimple RFC 6838 media type parser\n\n## Installation\n\n```sh\n$ npm install media-typer\n```\n\n## API\n\n```js\nvar typer = require('media-typer')\n```\n\n### typer.parse(string)\n\n```js\nvar obj = typer.parse('image/svg+xml; charset=utf-8')\n```\n\nParse a media type string. This will return an object with the following\nproperties (examples are shown for the string `'image/svg+xml; charset=utf-8'`):\n\n - `type`: The type of the media type (always lower case). Example: `'image'`\n\n - `subtype`: The subtype of the media type (always lower case). Example: `'svg'`\n\n - `suffix`: The suffix of the media type (always lower case). Example: `'xml'`\n\n - `parameters`: An object of the parameters in the media type (name of parameter always lower case). Example: `{charset: 'utf-8'}`\n\n### typer.parse(req)\n\n```js\nvar obj = typer.parse(req)\n```\n\nParse the `content-type` header from the given `req`. Short-cut for\n`typer.parse(req.headers['content-type'])`.\n\n### typer.parse(res)\n\n```js\nvar obj = typer.parse(res)\n```\n\nParse the `content-type` header set on the given `res`. Short-cut for\n`typer.parse(res.getHeader('content-type'))`.\n\n### typer.format(obj)\n\n```js\nvar obj = typer.format({type: 'image', subtype: 'svg', suffix: 'xml'})\n```\n\nFormat an object into a media type string. This will return a string of the\nmime type for the given object. For the properties of the object, see the\ndocumentation for `typer.parse(string)`.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/media-typer.svg?style=flat\n[npm-url]: https://npmjs.org/package/media-typer\n[node-version-image]: https://img.shields.io/badge/node.js-%3E%3D_0.6-brightgreen.svg?style=flat\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/media-typer.svg?style=flat\n[travis-url]: https://travis-ci.org/jshttp/media-typer\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/media-typer.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/jshttp/media-typer\n[downloads-image]: https://img.shields.io/npm/dm/media-typer.svg?style=flat\n[downloads-url]: https://npmjs.org/package/media-typer\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/media-typer/issues"},"homepage":"https://github.com/jshttp/media-typer","_id":"media-typer@0.3.0","_shasum":"8710d7af0aa626f8fffa1ce00168545263255748","_from":"media-typer@0.3.0","_resolved":"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/mime-types/index.js","id":"mime-types/index.js","options":{},"isModule":true,"requiredModules":["mime-db/index.js","path"],"mtime":1433741529000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/db.json","id":"mime-db/db.json","options":{},"isModule":true,"mtime":1438186182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/index.js","id":"mime-db/index.js","options":{},"isModule":true,"requiredModules":["mime-db/db.json"],"mtime":1423439849000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/package.json","data":{"name":"mime-db","description":"Media Type Database","version":"1.16.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"}],"license":"MIT","keywords":["mime","db","type","types","database","charset","charsets"],"repository":{"type":"git","url":"git+https://github.com/jshttp/mime-db.git"},"devDependencies":{"bluebird":"2.9.34","co":"4.6.0","cogent":"1.0.1","csv-parse":"0.1.4","gnode":"0.1.1","istanbul":"0.3.17","mocha":"1.21.5","raw-body":"2.1.2","stream-to-array":"2"},"files":["HISTORY.md","LICENSE","README.md","db.json","index.js"],"engines":{"node":">= 0.6"},"scripts":{"build":"node scripts/build","fetch":"gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx","test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","update":"npm run fetch && npm run build"},"gitHead":"81c7d528a1e9711084f64adbb99b70c24e8fb8c9","bugs":{"url":"https://github.com/jshttp/mime-db/issues"},"homepage":"https://github.com/jshttp/mime-db","_id":"mime-db@1.16.0","_shasum":"e83dce4f81ca5455d29048e6c3422e9de3154f70","_from":"mime-db@>=1.16.0 <1.17.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"e83dce4f81ca5455d29048e6c3422e9de3154f70","tarball":"http://registry.npmjs.org/mime-db/-/mime-db-1.16.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mime-db/-/mime-db-1.16.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/mime-types/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/node_modules/mime-types/package.json","data":{"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"2.1.4","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jeremiah Senkpiel","email":"fishrock123@rocketmail.com","url":"https://searchbeam.jit.su"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","keywords":["mime","types"],"repository":{"type":"git","url":"git+https://github.com/jshttp/mime-types.git"},"dependencies":{"mime-db":"~1.16.0"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["HISTORY.md","LICENSE","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec test/test.js","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js"},"gitHead":"0d801665a7374c71d905d14bc3afc2b0624bb896","bugs":{"url":"https://github.com/jshttp/mime-types/issues"},"homepage":"https://github.com/jshttp/mime-types","_id":"mime-types@2.1.4","_shasum":"6562b328e341245cb63b14473b1d12b40dec5884","_from":"mime-types@>=2.1.4 <2.2.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"6562b328e341245cb63b14473b1d12b40dec5884","tarball":"http://registry.npmjs.org/mime-types/-/mime-types-2.1.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mime-types/-/mime-types-2.1.4.tgz","readme":"ERROR: No README data found!"},"mtime":1439487646000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/type-is/package.json","data":{"name":"type-is","description":"Infer the content-type of a request.","version":"1.6.6","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/jshttp/type-is"},"dependencies":{"media-typer":"0.3.0","mime-types":"~2.1.4"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"engines":{"node":">= 0.6"},"files":["LICENSE","HISTORY.md","index.js"],"scripts":{"test":"mocha --reporter spec --check-leaks --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"keywords":["content","type","checking"],"gitHead":"f2b12fce6172bf91f771d8898055d6efa0e30422","bugs":{"url":"https://github.com/jshttp/type-is/issues"},"homepage":"https://github.com/jshttp/type-is","_id":"type-is@1.6.6","_shasum":"398799519b62360f55c3cd6c486294531975926c","_from":"type-is@>=1.6.0 <1.7.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"mscdex","email":"mscdex@mscdex.net"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"defunctzombie","email":"shtylman@gmail.com"}],"dist":{"shasum":"398799519b62360f55c3cd6c486294531975926c","tarball":"http://registry.npmjs.org/type-is/-/type-is-1.6.6.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/type-is/-/type-is-1.6.6.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/utils-merge/index.js","id":"utils-merge/index.js","options":{},"isModule":true,"mtime":1373568485000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/utils-merge/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/utils-merge/package.json","data":{"name":"utils-merge","version":"1.0.0","description":"merge() utility function","keywords":["util"],"repository":{"type":"git","url":"git://github.com/jaredhanson/utils-merge.git"},"bugs":{"url":"http://github.com/jaredhanson/utils-merge/issues"},"author":{"name":"Jared Hanson","email":"jaredhanson@gmail.com","url":"http://www.jaredhanson.net/"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"main":"./index","dependencies":{},"devDependencies":{"mocha":"1.x.x","chai":"1.x.x"},"scripts":{"test":"node_modules/.bin/mocha --reporter spec --require test/bootstrap/node test/*.test.js"},"engines":{"node":">= 0.4.0"},"_id":"utils-merge@1.0.0","dist":{"shasum":"0294fb922bb9375153541c4f7096231f287c8af8","tarball":"http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"},"_from":"utils-merge@1.0.0","_npmVersion":"1.2.25","_npmUser":{"name":"jaredhanson","email":"jaredhanson@gmail.com"},"maintainers":[{"name":"jaredhanson","email":"jaredhanson@gmail.com"}],"directories":{},"_shasum":"0294fb922bb9375153541c4f7096231f287c8af8","_resolved":"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/vary/index.js","id":"vary/index.js","options":{},"isModule":true,"mtime":1436218554000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/vary/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/node_modules/vary/package.json","data":{"name":"vary","description":"Manipulate the HTTP Vary header","version":"1.0.1","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["http","res","vary"],"repository":{"type":"git","url":"git://github.com/jshttp/vary.git"},"devDependencies":{"istanbul":"0.3.17","mocha":"2.2.5","supertest":"1.0.1"},"files":["HISTORY.md","LICENSE","README.md","index.js"],"engines":{"node":">= 0.8"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"readme":"# vary\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nManipulate the HTTP Vary header\n\n## Installation\n\n```sh\n$ npm install vary\n```\n\n## API\n\n```js\nvar vary = require('vary')\n```\n\n### vary(res, field)\n\nAdds the given header `field` to the `Vary` response header of `res`.\nThis can be a string of a single field, a string of a valid `Vary`\nheader, or an array of multiple fields.\n\nThis will append the header if not already listed, otherwise leaves\nit listed in the current location.\n\n```js\n// Append \"Origin\" to the Vary header of the response\nvary(res, 'Origin')\n```\n\n### vary.append(header, field)\n\nAdds the given header `field` to the `Vary` response header string `header`.\nThis can be a string of a single field, a string of a valid `Vary` header,\nor an array of multiple fields.\n\nThis will append the header if not already listed, otherwise leaves\nit listed in the current location. The new header string is returned.\n\n```js\n// Get header string appending \"Origin\" to \"Accept, User-Agent\"\nvary.append('Accept, User-Agent', 'Origin')\n```\n\n## Examples\n\n### Updating the Vary header when content is based on it\n\n```js\nvar http = require('http')\nvar vary = require('vary')\n\nhttp.createServer(function onRequest(req, res) {\n  // about to user-agent sniff\n  vary(res, 'User-Agent')\n\n  var ua = req.headers['user-agent'] || ''\n  var isMobile = /mobi|android|touch|mini/i.test(ua)\n\n  // serve site, depending on isMobile\n  res.setHeader('Content-Type', 'text/html')\n  res.end('You are (probably) ' + (isMobile ? '' : 'not ') + 'a mobile user')\n})\n```\n\n## Testing\n\n```sh\n$ npm test\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/vary.svg\n[npm-url]: https://npmjs.org/package/vary\n[node-version-image]: https://img.shields.io/node/v/vary.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/vary/master.svg\n[travis-url]: https://travis-ci.org/jshttp/vary\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/vary/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/vary\n[downloads-image]: https://img.shields.io/npm/dm/vary.svg\n[downloads-url]: https://npmjs.org/package/vary\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/vary/issues"},"homepage":"https://github.com/jshttp/vary","_id":"vary@1.0.1","_shasum":"99e4981566a286118dfb2b817357df7993376d10","_from":"vary@>=1.0.0 <1.1.0","_resolved":"https://registry.npmjs.org/vary/-/vary-1.0.1.tgz"},"mtime":1439487646000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/express/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/express/package.json","data":{"name":"express","description":"Fast, unopinionated, minimalist web framework","version":"4.12.2","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"Ciaran Jessup","email":"ciaranj@gmail.com"},{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Guillermo Rauch","email":"rauchg@gmail.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com"},{"name":"Roman Shtylman","email":"shtylman+expressjs@gmail.com"},{"name":"Young Jae Sim","email":"hanul@hanul.me"}],"license":"MIT","repository":{"type":"git","url":"https://github.com/strongloop/express"},"homepage":"http://expressjs.com/","keywords":["express","framework","sinatra","web","rest","restful","router","app","api"],"dependencies":{"accepts":"~1.2.4","content-disposition":"0.5.0","content-type":"~1.0.1","cookie-signature":"1.0.6","debug":"~2.1.1","depd":"~1.0.0","escape-html":"1.0.1","etag":"~1.5.1","finalhandler":"0.3.3","fresh":"0.2.4","merge-descriptors":"1.0.0","methods":"~1.1.1","on-finished":"~2.2.0","parseurl":"~1.3.0","path-to-regexp":"0.1.3","proxy-addr":"~1.0.6","qs":"2.3.3","range-parser":"~1.0.2","send":"0.12.1","serve-static":"~1.9.1","type-is":"~1.6.0","vary":"~1.0.0","cookie":"0.1.2","utils-merge":"1.0.0"},"devDependencies":{"after":"0.8.1","ejs":"2.3.1","istanbul":"0.3.6","marked":"0.3.3","mocha":"~2.1.0","should":"~5.0.1","supertest":"~0.15.0","body-parser":"~1.12.0","connect-redis":"~2.2.0","cookie-parser":"~1.3.4","express-session":"~1.10.3","jade":"~1.9.2","method-override":"~2.3.1","morgan":"~1.5.1","multiparty":"~4.1.1","vhost":"~3.0.0"},"engines":{"node":">= 0.10.0"},"files":["LICENSE","History.md","Readme.md","index.js","lib/"],"scripts":{"test":"mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/","test-ci":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/ test/acceptance/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/ test/acceptance/","test-tap":"mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/"},"gitHead":"dee9fbbbda2f2483c657cf912f68db1a5ba1fcac","bugs":{"url":"https://github.com/strongloop/express/issues"},"_id":"express@4.12.2","_shasum":"7e72ad4c1b4edf07536a6d1e2acec0161d8564bd","_from":"express@4.12.2","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"},{"name":"aredridel","email":"aredridel@nbtsc.org"},{"name":"strongloop","email":"callback@strongloop.com"},{"name":"rfeng","email":"enjoyjava@gmail.com"}],"dist":{"shasum":"7e72ad4c1b4edf07536a6d1e2acec0161d8564bd","tarball":"http://registry.npmjs.org/express/-/express-4.12.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/express/-/express-4.12.2.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/index.js","id":"fast-csv/index.js","options":{},"isModule":true,"requiredModules":["fast-csv/lib/index.js"],"mtime":1348204106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/lib/extended.js","id":"fast-csv/lib/extended.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","object-extended/index.js","string-extended/index.js"],"mtime":1394336191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/lib/formatter.js","id":"fast-csv/lib/formatter.js","options":{},"isModule":true,"requiredModules":["fs","util/util.js","fast-csv/lib/extended.js","stream"],"mtime":1408045640000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/lib/index.js","id":"fast-csv/lib/index.js","options":{},"isModule":true,"requiredModules":["fs","fast-csv/lib/extended.js","fast-csv/lib/parser_stream.js","stream","fast-csv/lib/formatter.js"],"mtime":1397096508000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/lib/parser.js","id":"fast-csv/lib/parser.js","options":{},"isModule":true,"requiredModules":["fast-csv/lib/extended.js"],"mtime":1408333434000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/lib/parser_stream.js","id":"fast-csv/lib/parser_stream.js","options":{},"isModule":true,"requiredModules":["fast-csv/lib/extended.js","util/util.js","stream","fast-csv/lib/parser.js"],"mtime":1407030718000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/examples/browser/scripts/declare.js","id":"extended/examples/browser/scripts/declare.js","options":{},"isModule":true,"mtime":1358120897000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/examples/browser/scripts/extended1.js","id":"extended/examples/browser/scripts/extended1.js","options":{},"isModule":true,"mtime":1358372168000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/examples/browser/scripts/extended2.js","id":"extended/examples/browser/scripts/extended2.js","options":{},"isModule":true,"mtime":1358108197000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/examples/browser/scripts/extender.js","id":"extended/examples/browser/scripts/extender.js","options":{},"isModule":true,"requiredModules":["declare.js/index.js"],"mtime":1358108633000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/extended.min.js","id":"extended/extended.min.js","options":{},"isModule":true,"requiredModules":["extender/index.js"],"mtime":1396375216000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/Gruntfile.js","id":"extended/Gruntfile.js","options":{},"isModule":true,"mtime":1366127188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/index.js","id":"extended/index.js","options":{},"isModule":true,"requiredModules":["extender/index.js"],"mtime":1370408799000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/extender-min.js","id":"extender/extender-min.js","options":{},"isModule":true,"requiredModules":["declare.js/index.js"],"mtime":1396375717000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/extender.js","id":"extender/extender.js","options":{},"isModule":true,"requiredModules":["declare.js/index.js"],"mtime":1370408846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/Gruntfile.js","id":"extender/Gruntfile.js","options":{},"isModule":true,"mtime":1366127762000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/index.js","id":"extender/index.js","options":{},"isModule":true,"requiredModules":["extender/extender.js"],"mtime":1358054281000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/node_modules/declare.js/declare.js","id":"declare.js/declare.js","options":{},"isModule":true,"mtime":1370641122000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/node_modules/declare.js/declare.min.js","id":"declare.js/declare.min.js","options":{},"isModule":true,"mtime":1396375605000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/node_modules/declare.js/Gruntfile.js","id":"declare.js/Gruntfile.js","options":{},"isModule":true,"mtime":1370484437000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/node_modules/declare.js/index.js","id":"declare.js/index.js","options":{},"isModule":true,"requiredModules":["declare.js/declare.js"],"mtime":1349070816000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/node_modules/declare.js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/node_modules/declare.js/package.json","data":{"name":"declare.js","version":"0.0.8","description":"OO system from node and browser","main":"index.js","scripts":{"test":"export NODE_PATH=. && it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/declare.js.git"},"keywords":["OO","class","object","clazz"],"testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin","url":"doug@dougamartin.com"},"license":"MIT","devDependencies":{"it":"0.2.0","grunt-it":"~0.3.1","grunt-contrib-uglify":"~0.2.2","grunt-contrib-jshint":"~0.6.0","grunt":"~0.4.1"},"dependencies":{},"readme":"[![Build Status](https://travis-ci.org/doug-martin/declare.js.png?branch=master)](https://travis-ci.org/doug-martin/declare.js)\n\n[![browser support](https://ci.testling.com/doug-martin/declare.js.png)](https://ci.testling.com/doug-martin/declare.js)\n\n<a name=\"top\"></a>\n\n\nDeclare is a library designed to allow writing object oriented code the same way in both the browser and node.js.\n\n##Installation\n\n`npm install declare.js`\n\nOr [download the source](https://raw.github.com/doug-martin/declare.js/master/declare.js) ([minified](https://raw.github.com/doug-martin/declare.js/master/declare-min.js))\n\n###Requirejs\n\nTo use with requirejs place the `declare` source in the root scripts directory\n\n```javascript\n\ndefine([\"declare\"], function(declare){\n     return declare({\n         instance : {\n             hello : function(){\n                 return \"world\";\n             }\n         }\n     });\n});\n\n```\n\n\n##Usage\n\ndeclare.js provides\n\nClass methods\n\n* `as(module | object, name)` : exports the object to module or the object with the name\n* `mixin(mixin)` : mixes in an object but does not inherit directly from the object. **Note** this does not return a new class but changes the original class.\n* `extend(proto)` : extend a class with the given properties. A shortcut to `declare(Super, {})`;\n\nInstance methods\n\n* `_super(arguments)`: calls the super of the current method, you can pass in either the argments object or an array with arguments you want passed to super\n* `_getSuper()`: returns a this methods direct super.\n* `_static` : use to reference class properties and methods.\n* `get(prop)` : gets a property invoking the getter if it exists otherwise it just returns the named property on the object.\n* `set(prop, val)` : sets a property invoking the setter if it exists otherwise it just sets the named property on the object.\n\n\n###Declaring a new Class\n\nCreating a new class with declare is easy!\n\n```javascript\n\nvar Mammal = declare({\n     //define your instance methods and properties\n     instance : {\n\n         //will be called whenever a new instance is created\n         constructor: function(options) {\n             options = options || {};\n             this._super(arguments);\n             this._type = options.type || \"mammal\";\n         },\n\n         speak : function() {\n             return  \"A mammal of type \" + this._type + \" sounds like\";\n         },\n\n         //Define your getters\n         getters : {\n\n             //can be accessed by using the get method. (mammal.get(\"type\"))\n             type : function() {\n                 return this._type;\n             }\n         },\n\n          //Define your setters\n         setters : {\n\n               //can be accessed by using the set method. (mammal.set(\"type\", \"mammalType\"))\n             type : function(t) {\n                 this._type = t;\n             }\n         }\n     },\n\n     //Define your static methods\n     static : {\n\n         //Mammal.soundOff(); //\"Im a mammal!!\"\n         soundOff : function() {\n             return \"Im a mammal!!\";\n         }\n     }\n});\n\n\n```\n\nYou can use Mammal just like you would any other class.\n\n```javascript\nMammal.soundOff(\"Im a mammal!!\");\n\nvar myMammal = new Mammal({type : \"mymammal\"});\nmyMammal.speak(); // \"A mammal of type mymammal sounds like\"\nmyMammal.get(\"type\"); //\"mymammal\"\nmyMammal.set(\"type\", \"mammal\");\nmyMammal.get(\"type\"); //\"mammal\"\n\n\n```\n\n###Extending a class\n\nIf you want to just extend a single class use the .extend method.\n\n```javascript\n\nvar Wolf = Mammal.extend({\n\n  //define your instance method\n  instance: {\n\n       //You can override super constructors just be sure to call `_super`\n      constructor: function(options) {\n         options = options || {};\n         this._super(arguments); //call our super constructor.\n         this._sound = \"growl\";\n         this._color = options.color || \"grey\";\n     },\n\n     //override Mammals `speak` method by appending our own data to it.\n     speak : function() {\n         return this._super(arguments) + \" a \" + this._sound;\n     },\n\n     //add new getters for sound and color\n     getters : {\n\n          //new Wolf().get(\"type\")\n          //notice color is read only as we did not define a setter\n         color : function() {\n             return this._color;\n         },\n\n         //new Wolf().get(\"sound\")\n         sound : function() {\n             return this._sound;\n         }\n     },\n\n     setters : {\n\n         //new Wolf().set(\"sound\", \"howl\")\n         sound : function(s) {\n             this._sound = s;\n         }\n     }\n\n },\n\n static : {\n\n     //You can override super static methods also! And you can still use _super\n     soundOff : function() {\n         //You can even call super in your statics!!!\n         //should return \"I'm a mammal!! that growls\"\n         return this._super(arguments) + \" that growls\";\n     }\n }\n});\n\nWolf.soundOff(); //Im a mammal!! that growls\n\nvar myWolf = new Wolf();\nmyWolf instanceof Mammal //true\nmyWolf instanceof Wolf //true\n\n```\n\nYou can also extend a class by using the declare method and just pass in the super class.\n\n```javascript\n//Typical hierarchical inheritance\n// Mammal->Wolf->Dog\nvar Dog = declare(Wolf, {\n   instance: {\n       constructor: function(options) {\n           options = options || {};\n           this._super(arguments);\n           //override Wolfs initialization of sound to woof.\n           this._sound = \"woof\";\n\n       },\n\n       speak : function() {\n           //Should return \"A mammal of type mammal sounds like a growl thats domesticated\"\n           return this._super(arguments) + \" thats domesticated\";\n       }\n   },\n\n   static : {\n       soundOff : function() {\n           //should return \"I'm a mammal!! that growls but now barks\"\n           return this._super(arguments) + \" but now barks\";\n       }\n   }\n});\n\nDog.soundOff(); //Im a mammal!! that growls but now barks\n\nvar myDog = new Dog();\nmyDog instanceof Mammal //true\nmyDog instanceof Wolf //true\nmyDog instanceof Dog //true\n\n\n//Notice you still get the extend method.\n\n// Mammal->Wolf->Dog->Breed\nvar Breed = Dog.extend({\n   instance: {\n\n       //initialize outside of constructor\n       _pitch : \"high\",\n\n       constructor: function(options) {\n           options = options || {};\n           this._super(arguments);\n           this.breed = options.breed || \"lab\";\n       },\n\n       speak : function() {\n           //Should return \"A mammal of type mammal sounds like a\n           //growl thats domesticated with a high pitch!\"\n           return this._super(arguments) + \" with a \" + this._pitch + \" pitch!\";\n       },\n\n       getters : {\n           pitch : function() {\n               return this._pitch;\n           }\n       }\n   },\n\n   static : {\n       soundOff : function() {\n           //should return \"I'M A MAMMAL!! THAT GROWLS BUT NOW BARKS!\"\n           return this._super(arguments).toUpperCase() + \"!\";\n       }\n   }\n});\n\n\nBreed.soundOff()//\"IM A MAMMAL!! THAT GROWLS BUT NOW BARKS!\"\n\nvar myBreed = new Breed({color : \"gold\", type : \"lab\"}),\nmyBreed instanceof Dog //true\nmyBreed instanceof Wolf //true\nmyBreed instanceof Mammal //true\nmyBreed.speak() //\"A mammal of type lab sounds like a woof thats domesticated with a high pitch!\"\nmyBreed.get(\"type\") //\"lab\"\nmyBreed.get(\"color\") //\"gold\"\nmyBreed.get(\"sound\")\" //\"woof\"\n```\n\n###Multiple Inheritance / Mixins\n\ndeclare also allows the use of multiple super classes.\nThis is useful if you have generic classes that provide functionality but shouldnt be used on their own.\n\nLets declare a mixin that allows us to watch for property changes.\n\n```javascript\n//Notice that we set up the functions outside of declare because we can reuse them\n\nfunction _set(prop, val) {\n    //get the old value\n    var oldVal = this.get(prop);\n    //call super to actually set the property\n    var ret = this._super(arguments);\n    //call our handlers\n    this.__callHandlers(prop, oldVal, val);\n    return ret;\n}\n\nfunction _callHandlers(prop, oldVal, newVal) {\n   //get our handlers for the property\n    var handlers = this.__watchers[prop], l;\n    //if the handlers exist and their length does not equal 0 then we call loop through them\n    if (handlers && (l = handlers.length) !== 0) {\n        for (var i = 0; i < l; i++) {\n            //call the handler\n            handlers[i].call(null, prop, oldVal, newVal);\n        }\n    }\n}\n\n\n//the watch function\nfunction _watch(prop, handler) {\n    if (\"function\" !== typeof handler) {\n        //if its not a function then its an invalid handler\n        throw new TypeError(\"Invalid handler.\");\n    }\n    if (!this.__watchers[prop]) {\n        //create the watchers if it doesnt exist\n        this.__watchers[prop] = [handler];\n    } else {\n        //otherwise just add it to the handlers array\n        this.__watchers[prop].push(handler);\n    }\n}\n\nfunction _unwatch(prop, handler) {\n    if (\"function\" !== typeof handler) {\n        throw new TypeError(\"Invalid handler.\");\n    }\n    var handlers = this.__watchers[prop], index;\n    if (handlers && (index = handlers.indexOf(handler)) !== -1) {\n       //remove the handler if it is found\n        handlers.splice(index, 1);\n    }\n}\n\ndeclare({\n    instance:{\n        constructor:function () {\n            this._super(arguments);\n            //set up our watchers\n            this.__watchers = {};\n        },\n\n        //override the default set function so we can watch values\n        \"set\":_set,\n        //set up our callhandlers function\n        __callHandlers:_callHandlers,\n        //add the watch function\n        watch:_watch,\n        //add the unwatch function\n        unwatch:_unwatch\n    },\n\n    \"static\":{\n\n        init:function () {\n            this._super(arguments);\n            this.__watchers = {};\n        },\n        //override the default set function so we can watch values\n        \"set\":_set,\n        //set our callHandlers function\n        __callHandlers:_callHandlers,\n        //add the watch\n        watch:_watch,\n        //add the unwatch function\n        unwatch:_unwatch\n    }\n})\n\n```\n\nNow lets use the mixin\n\n```javascript\nvar WatchDog = declare([Dog, WatchMixin]);\n\nvar watchDog = new WatchDog();\n//create our handler\nfunction watch(id, oldVal, newVal) {\n    console.log(\"watchdog's %s was %s, now %s\", id, oldVal, newVal);\n}\n\n//watch for property changes\nwatchDog.watch(\"type\", watch);\nwatchDog.watch(\"color\", watch);\nwatchDog.watch(\"sound\", watch);\n\n//now set the properties each handler will be called\nwatchDog.set(\"type\", \"newDog\");\nwatchDog.set(\"color\", \"newColor\");\nwatchDog.set(\"sound\", \"newSound\");\n\n\n//unwatch the property changes\nwatchDog.unwatch(\"type\", watch);\nwatchDog.unwatch(\"color\", watch);\nwatchDog.unwatch(\"sound\", watch);\n\n//no handlers will be called this time\nwatchDog.set(\"type\", \"newDog\");\nwatchDog.set(\"color\", \"newColor\");\nwatchDog.set(\"sound\", \"newSound\");\n\n\n```\n\n###Accessing static methods and properties witin an instance.\n\nTo access static properties on an instance use the `_static` property which is a reference to your constructor.\n\nFor example if your in your constructor and you want to have configurable default values.\n\n```javascript\nconsturctor : function constructor(opts){\n    this.opts = opts || {};\n    this._type = opts.type || this._static.DEFAULT_TYPE;\n}\n```\n\n\n\n###Creating a new instance of within an instance.\n\nOften times you want to create a new instance of an object within an instance. If your subclassed however you cannot return a new instance of the parent class as it will not be the right sub class. `declare` provides a way around this by setting the `_static` property on each isntance of the class.\n\nLets add a reproduce method `Mammal`\n\n```javascript\nreproduce : function(options){\n    return new this._static(options);\n}\n```\n\nNow in each subclass you can call reproduce and get the proper type.\n\n```javascript\nvar myDog = new Dog();\nvar myDogsChild = myDog.reproduce();\n\nmyDogsChild instanceof Dog; //true\n```\n\n###Using the `as`\n\n`declare` also provides an `as` method which allows you to add your class to an object or if your using node.js you can pass in `module` and the class will be exported as the module.\n\n```javascript\nvar animals = {};\n\nMammal.as(animals, \"Dog\");\nWolf.as(animals, \"Wolf\");\nDog.as(animals, \"Dog\");\nBreed.as(animals, \"Breed\");\n\nvar myDog = new animals.Dog();\n\n```\n\nOr in node\n\n```javascript\nMammal.as(exports, \"Dog\");\nWolf.as(exports, \"Wolf\");\nDog.as(exports, \"Dog\");\nBreed.as(exports, \"Breed\");\n\n```\n\nTo export a class as the `module` in node\n\n```javascript\nMammal.as(module);\n```\n\n\n\n\n\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/declare.js/issues"},"homepage":"https://github.com/doug-martin/declare.js","_id":"declare.js@0.0.8","_shasum":"0478adff9564c004f51df73d8bc134019d28dcde","_from":"declare.js@~0.0.4","_resolved":"https://registry.npmjs.org/declare.js/-/declare.js-0.0.8.tgz"},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/node_modules/declare.js/test/browserling.js","id":"declare.js/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","declare.js/test/declare.test.js"],"mtime":1358807995000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/node_modules/declare.js/test/declare.test.js","id":"declare.js/test/declare.test.js","options":{},"isModule":true,"requiredModules":["it","assert","declare.js/declare.js"],"mtime":1359143679000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/package.json","data":{"name":"extender","version":"0.0.10","description":"Easily create object decorators!","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/extender.git"},"keywords":["decorator","extend","extender","chain","wrap"],"author":{"name":"Doug Martin","url":"blog.dougamartin.com"},"license":"MIT","testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"dependencies":{"declare.js":"~0.0.4"},"devDependencies":{"grunt":"~0.4.1","it":"~0.2.0","grunt-it":"~0.3.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.4.3"},"readme":"<a name=\"top\"></a>\n\n\n[![build status](https://secure.travis-ci.org/doug-martin/extender.png)](https://travis-ci.org/doug-martin/extender)\n\n[![browser support](https://ci.testling.com/doug-martin/extender.png)](https://ci.testling.com/doug-martin/extender)\n\n# Extender\n\n`extender` is a library that helps in making chainable APIs, by creating a function that accepts different values and returns an object decorated with functions based on the type.\n\n## Why Is Extender Different?\n\nExtender is different than normal chaining because is does more than return `this`. It decorates your values in a type safe manner.\n\nFor example if you return an array from a string based method then the returned value will be decorated with array methods and not the string methods. This allow you as the developer to focus on your API and not worrying about how to properly build and connect your API.\n\n\n## Installation\n\n```\nnpm install extender\n```\n\nOr [download the source](https://raw.github.com/doug-martin/extender/master/extender.js) ([minified](https://raw.github.com/doug-martin/extender/master/extender-min.js))\n\n**Note** `extender` depends on [`declare.js`](http://doug-martin.github.com/declare.js/).\n\n### Requirejs\n\nTo use with requirejs place the `extend` source in the root scripts directory\n\n```javascript\n\ndefine([\"extender\"], function(extender){\n});\n\n```\n\n\n## Usage\n\n**`extender.define(tester, decorations)`**\n\nTo create your own extender call the `extender.define` function.\n\nThis function accepts an optional tester which is used to determine a value should be decorated with the specified `decorations`\n\n```javascript\nfunction isString(obj) {\n    return !isUndefinedOrNull(obj) && (typeof obj === \"string\" || obj instanceof String);\n}\n\n\nvar myExtender = extender.define(isString, {\n\tmultiply: function (str, times) {\n\t\tvar ret = str;\n\t\tfor (var i = 1; i < times; i++) {\n\t\t\tret += str;\n\t\t}\n\t\treturn ret;\n\t},\n\ttoArray: function (str, delim) {\n\t\tdelim = delim || \"\";\n\t\treturn str.split(delim);\n\t}\n});\n\nmyExtender(\"hello\").multiply(2).value(); //hellohello\n\n```\n\nIf you do not specify a tester function and just pass in an object of `functions` then all values passed in will be decorated with methods.\n\n```javascript\n\nfunction isUndefined(obj) {\n    var undef;\n    return obj === undef;\n}\n\nfunction isUndefinedOrNull(obj) {\nvar undef;\n    return obj === undef || obj === null;\n}\n\nfunction isArray(obj) {\n    return Object.prototype.toString.call(obj) === \"[object Array]\";\n}\n\nfunction isBoolean(obj) {\n    var undef, type = typeof obj;\n    return !isUndefinedOrNull(obj) && type === \"boolean\" || type === \"Boolean\";\n}\n\nfunction isString(obj) {\n    return !isUndefinedOrNull(obj) && (typeof obj === \"string\" || obj instanceof String);\n}\n\nvar myExtender = extender.define({\nisUndefined : isUndefined,\nisUndefinedOrNull : isUndefinedOrNull,\nisArray : isArray,\nisBoolean : isBoolean,\nisString : isString\n});\n\n```\n\nTo use\n\n```\nvar undef;\nmyExtender(\"hello\").isUndefined().value(); //false\nmyExtender(undef).isUndefined().value(); //true\n```\n\nYou can also chain extenders so that they accept multiple types and decorates accordingly.\n\n```javascript\nmyExtender\n    .define(isArray, {\n\tpluck: function (arr, m) {\n\t\tvar ret = [];\n\t\tfor (var i = 0, l = arr.length; i < l; i++) {\n\t\t\tret.push(arr[i][m]);\n\t\t}\n\t\treturn ret;\n\t}\n})\n    .define(isBoolean, {\n\tinvert: function (val) {\n\t\treturn !val;\n\t}\n});\n\nmyExtender([{a: \"a\"},{a: \"b\"},{a: \"c\"}]).pluck(\"a\").value(); //[\"a\", \"b\", \"c\"]\nmyExtender(\"I love javascript!\").toArray(/\\s+/).pluck(\"0\"); //[\"I\", \"l\", \"j\"]\n\n```\n\nNotice that we reuse the same extender as defined above.\n\n**Return Values**\n\nWhen creating an extender if you return a value from one of the decoration functions then that value will also be decorated. If you do not return any values then the extender will be returned.\n\n**Default decoration methods**\n\nBy default every value passed into an extender is decorated with the following methods.\n\n* `value` : The value this extender represents.\n* `eq(otherValue)` : Tests strict equality of the currently represented value to the `otherValue`\n* `neq(oterValue)` : Tests strict inequality of the currently represented value.\n* `print` : logs the current value to the console.\n\n**Extender initialization**\n\nWhen creating an extender you can also specify a constructor which will be invoked with the current value.\n\n```javascript\nmyExtender.define(isString, {\nconstructor : function(val){\n    //set our value to the string trimmed\n\tthis._value = val.trimRight().trimLeft();\n}\n});\n```\n\n**`noWrap`**\n\n`extender` also allows you to specify methods that should not have the value wrapped providing a cleaner exit function other than `value()`.\n\nFor example suppose you have an API that allows you to build a validator, rather than forcing the user to invoke the `value` method you could add a method called `validator` which makes more syntactic sense.\n\n```\n\nvar myValidator = extender.define({\n    //chainable validation methods\n    //...\n    //end chainable validation methods\n\n    noWrap : {\n        validator : function(){\n            //return your validator\n        }\n    }\n});\n\nmyValidator().isNotNull().isEmailAddress().validator(); //now you dont need to call .value()\n\n\n```\n**`extender.extend(extendr)`**\n\nYou may also compose extenders through the use of `extender.extend(extender)`, which will return an entirely new extender that is the composition of extenders.\n\nSuppose you have the following two extenders.\n\n```javascript\nvar myExtender = extender\n       .define({\n           isFunction: is.function,\n           isNumber: is.number,\n           isString: is.string,\n           isDate: is.date,\n           isArray: is.array,\n           isBoolean: is.boolean,\n           isUndefined: is.undefined,\n           isDefined: is.defined,\n           isUndefinedOrNull: is.undefinedOrNull,\n           isNull: is.null,\n           isArguments: is.arguments,\n           isInstanceOf: is.instanceOf,\n           isRegExp: is.regExp\n       });\nvar myExtender2 = extender.define(is.array, {\n    pluck: function (arr, m) {\n        var ret = [];\n        for (var i = 0, l = arr.length; i < l; i++) {\n            ret.push(arr[i][m]);\n        }\n        return ret;\n    },\n\n    noWrap: {\n        pluckPlain: function (arr, m) {\n            var ret = [];\n            for (var i = 0, l = arr.length; i < l; i++) {\n                ret.push(arr[i][m]);\n            }\n            return ret;\n        }\n    }\n});\n\n\n```\n\nAnd you do not want to alter either of them but instead what to create a third that is the union of the two.\n\n\n```javascript\nvar composed = extender.extend(myExtender).extend(myExtender2);\n```\nSo now you can use the new extender with the joined functionality if `myExtender` and `myExtender2`.\n\n```javascript\nvar extended = composed([\n     {a: \"a\"},\n     {a: \"b\"},\n     {a: \"c\"}\n]);\nextended.isArray().value(); //true\nextended.pluck(\"a\").value(); // [\"a\", \"b\", \"c\"]);\n\n```\n\n**Note** `myExtender` and `myExtender2` will **NOT** be altered.\n\n**`extender.expose(methods)`**\n\nThe `expose` method allows you to add methods to your extender that are not wrapped or automatically chained by exposing them on the extender directly.\n\n```\nvar isMethods = {\n     isFunction: is.function,\n     isNumber: is.number,\n     isString: is.string,\n     isDate: is.date,\n     isArray: is.array,\n     isBoolean: is.boolean,\n     isUndefined: is.undefined,\n     isDefined: is.defined,\n     isUndefinedOrNull: is.undefinedOrNull,\n     isNull: is.null,\n     isArguments: is.arguments,\n     isInstanceOf: is.instanceOf,\n     isRegExp: is.regExp\n};\n\nvar myExtender = extender.define(isMethods).expose(isMethods);\n\nmyExtender.isArray([]); //true\nmyExtender([]).isArray([]).value(); //true\n\n```\n\n\n**Using `instanceof`**\n\nWhen using extenders you can test if a value is an `instanceof` of an extender by using the instanceof operator.\n\n```javascript\nvar str = myExtender(\"hello\");\n\nstr instanceof myExtender; //true\n```\n\n## Examples\n\nTo see more examples click [here](https://github.com/doug-martin/extender/tree/master/examples)\n\n\n\n\n\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/extender/issues"},"homepage":"https://github.com/doug-martin/extender","_id":"extender@0.0.10","_shasum":"589c07482be61a1460b6d81f9c24aa67e8f324cd","_from":"extender@~0.0.5","_resolved":"https://registry.npmjs.org/extender/-/extender-0.0.10.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/test/browserling.js","id":"extender/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","extender/test/extender.test.js"],"mtime":1358810549000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/test/extender.test.js","id":"extender/test/extender.test.js","options":{},"isModule":true,"requiredModules":["it","assert","extender/index.js","extender/test/is.js"],"mtime":1358835047000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/package.json","data":{"name":"extended","version":"0.0.6","description":"Library for combining multiple libraries into one","main":"index.js","scripts":{"test":"it -r dot"},"repository":{"type":"git","url":"git:git@github.com:doug-martin/extended.git"},"keywords":["String","extender","utilities"],"testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extender":"~0.0.5"},"devDependencies":{"it":"~0.2.0","grunt":"~0.4.1","grunt-it":"~0.3.0","is-extended":"0.0.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.4.3"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/extended.png?branch=master)](https://travis-ci.org/doug-martin/extended)\n\n[![browser support](https://ci.testling.com/doug-martin/extended.png)](https://ci.testling.com/doug-martin/extended)\n\n# extended\n\n`extended` is a wrapper than sits on top of [`extender`](https://github.com/doug-martin/extender) than allows you to combine multiple libraries into a single API.\n\nThis allows you create a feature rich API that only includes the functionality that you wish to have.\n\nExtended is also browser friendly so you can create a utility library that is reusable on both in node and the browser.\n\n## Why?\n\nOften times I end up using quite a few libraries in a single node project, `extended` allows you to seamlessly integrate libraries into a single interface.\n\nYou also get the added benefit of replacing libraries without having to change you code every place that they were required.\n\n\n## Installation\n\n```\nnpm install extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/extended/master/index.js) ([minified](https://raw.github.com/doug-martin/extended/master/extended.min.js))\n\n## Usage\n\n\n**`register`**\n\nThe register method allows you to register a library with extended.\n\nThe following example makes use of\n\n* [`array-extended`](https://github.com/doug-martin/array-extended)\n* [`string-extended`](https://github.com/doug-martin/string-extended)\n* [`date-extended`](https://github.com/doug-martin/date-extended)\n* [`function-extended`](https://github.com/doug-martin/function-extended)\n* [`is-extended`](https://github.com/doug-martin/is-extended)\n* [`object-extended`](https://github.com/doug-martin/object-extended)\n* [`promise-extended`](https://github.com/doug-martin/promise-extended)\n\n\n**Notice** how all the APIs are completely integrated together, so you can use the chaining API from each registered library in a single unified interface.\n\n```javascript\n\nvar _ = extended()\n            .register(require(\"array-extended\"))\n            .register(require(\"string-extended\"))\n            .register(require(\"date-extended\"))\n            .register(require(\"function-extended\"))\n            .register(require(\"is-extended\"))\n            .register(require(\"object-extended\"))\n            .register(require(\"promise-extended\"));\n\n//now use your API!\n\n//from is-extended\n_.isArray([]); //true\n\n//from string-extended\n_.format(\"{first} {last}\", {first : \"Bob\", last : \"yukon\"});\n\n//combination of object-extended, array-extended, and string-extended\n_({hello : \"hello\", world: \"world\"}).keys().map(function(key, index){\n    return _.format(\"%d key is %s\", index + 1, key);\n}).value().join(\";\"); //\"1 key is hello; 2 key is world\"\n\n\n```\n\nIf you want to namespace you API you can provide an alias.\n\n\n\n```javascript\n\nvar _ = extended()\n            .register(\"array\", require(\"array-extended\"))\n            .register(\"string\", require(\"string-extended\"))\n            .register(\"date\", require(\"date-extended\"))\n            .register(\"fn\", require(\"function-extended\"))\n            .register(\"is\", require(\"is-extended\"))\n            .register(\"obj\", require(\"object-extended\"))\n            .register(\"promise\", require(\"promise-extended\"));\n\n//now use your API!\n\n//from is-extended\n_.is.isArray([]); //true\n\n//from string-extended\n_.string.format(\"{first} {last}\", {first : \"Bob\", last : \"yukon\"});\n\n```\n\n### Integration with other libraries.\n\nYou can also integrate other libraries by just mixing in their functions.\n\nSuppose you dont want to use `promise-extended` but instead `Q`.\n\n```javascript\nvar _ = extended()\n            .register(require(\"array-extended\"))\n            .register(require(\"string-extended\"))\n            .register(require(\"date-extended\"))\n            .register(require(\"function-extended\"))\n            .register(require(\"is-extended\"))\n            .register(require(\"object-extended\"))\n            .register(require(\"q\"));\n\n_.resolve(\"hello\").then(function(hello){\n    console.log(\"hello\");\n})\n```\n\nOr maybe you want to continue to use `underscore` with added functionality.\n\n```javascript\n\n//lets create a library with _, promises and an inheritance library.\nvar _ = extended()\n            .register(require(\"_\"))\n            .register(require(\"is-extended\"))\n            .register(require(\"promise-extended\"))\n            .register(require(\"declare.js\"));\n\nvar Person = _.declare({\n    constructor: function(firstName, lastName){\n        this.firstName = firstName;\n        this.lastName = lastName;\n    }\n});\n\nvar\n\n```\n\n\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/extended/issues"},"homepage":"https://github.com/doug-martin/extended","_id":"extended@0.0.6","_shasum":"7fb8bf7b9dae397586e48570acfd642c78e50669","_from":"extended@0.0.6","_resolved":"https://registry.npmjs.org/extended/-/extended-0.0.6.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/node_modules/extender/test/is.js","id":"extender/test/is.js","options":{},"isModule":true,"mtime":1358811371000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/test/extended.test.js","id":"extended/test/extended.test.js","options":{},"isModule":true,"requiredModules":["it","assert","extended/index.js","extended/test/extenders/extended1.js","extended/test/extenders/extended2.js"],"mtime":1358804090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/test/browserling.js","id":"extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","extended/test/extended.test.js"],"mtime":1358804081000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/test/extenders/extended1.js","id":"extended/test/extenders/extended1.js","options":{},"isModule":true,"requiredModules":["extender/index.js","is-extended/index.js"],"mtime":1358201614000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/extended/test/extenders/extended2.js","id":"extended/test/extenders/extended2.js","options":{},"isModule":true,"requiredModules":["extender/index.js","is-extended/index.js"],"mtime":1358201723000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/is-extended/Gruntfile.js","id":"is-extended/Gruntfile.js","options":{},"isModule":true,"mtime":1364866686000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/is-extended/index.js","id":"is-extended/index.js","options":{},"isModule":true,"requiredModules":["extended/index.js"],"mtime":1370554264000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/is-extended/is-extended.min.js","id":"is-extended/is-extended.min.js","options":{},"isModule":true,"requiredModules":["extended/index.js"],"mtime":1370554279000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/is-extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/is-extended/package.json","data":{"name":"is-extended","version":"0.0.10","description":"Module for type detection","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/is-extended.git"},"keywords":["type","is","detection","instanceof"],"testling":{"files":"test/browserling.js","browsers":["ie/6..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/is-extended.png?branch=master)](undefined)\n\n[![browser support](https://ci.testling.com/doug-martin/is-extended.png)](http://ci.testling.com/doug-martin/is-extended)\n\n# is-extended\n\n`is-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar is = require(\"is-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"is-extended\"));\n```\n\n## Installation\n\n```\nnpm install is-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/is-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/is-extended/master/is-extended.min.js))\n\n## Usage\n\n`is-extended` includes the following type coercion methods.\n\n* `isFunction` : Test if something is a function\n* `isObject` : Test if something is an object.\n* `isEmpty` : Test if something is empty.\n* `isHash` : Test if something is a hash.\n\n```javascript\nis.isHash({}); //true\nis.isHash(new Number(1)); //false\n\nis.isObject({}); //true\nis.isObject(new Number(1)); //true\n```\n\n* `isNumber` : Test if something is a number.\n* `isString` : Test if something is a string.\n* `isDate` : Test if something is a `Date`.\n* `isArray` : Test if something is an `Object`\n* `isBoolean` : Test if something is a boolean value.\n* `isUndefined` : Test if something is strictly equal to `undefined`.\n* `isDefined` : Test if something is strictly not equal to `undefined`.\n* `isUndefinedOrNull` : Test if something is strictly equal to `null` or `undefined`.\n* `isNull` : Test if something is strictly equal to `null`.\n* `isArguments` : Test if something is an `Object`\n* `instanceOf` : Test if something is an `Object`\n* `isRegExp` : Test if something is a `RegExp`\n* `isTrue` : Test if something is strictly equal to `true`\n* `isFalse` : Test if something is strictly equal to `false`\n* `isNotNull` : Test if something is strictly not equal to `null`.\n\n**`deepEqual`**\n\nTests if two object are deep equal.\n\n```javascript\n\nis.deepEqual([1,2,3], [1,2,3]); //true\nis([1,2,3]).deepEqual([1,2,3]); //true\n\n\nis.deepEqual({ a: { b: \"c\"}}, {a : false}); //false\nis({ a: { b: \"c\"}}).deepEqual({ a: { b: \"c\"}}); //true\n\n```\n\n\n**`isEq`**\n\nTest if two objects are `==`\n\n**`isNeq`**\n\nTest if two objects are `!=`\n\n**`isSeq`**\n\nTest if two objects are `===`\n\n**`isSneq`**\n\nTest if two objects are `!==`\n\n**`isIn`**\n\nTest if an object is in a array.\n\n```javascript\nis.isIn('a', ['a', 'b', 'c']); //true\n\nis('a').isIn(['a', 'b', 'c']); //true\n```\n\n**`isNotIn`**\n\nTest if something is not in an array.\n\n```javascript\nis.isIn('d', ['a', 'b', 'c']); //true\n\nis('d').isIn(['a', 'b', 'c']); //true\n```\n\n**`isLt`**\n\nCheck if a value is `<` a given value.\n\n```javascript\nis.isLt(1, 2); //true\nis(\"a\").isLt(\"b\"); //true\n```\n\n**`isLte`**\n\nCheck if a value is `<=` a given value.\n\n```javascript\nis.isLte(2, 2); //true\nis(\"a\").isLte(\"b\"); //true\n```\n\n**`isGt`**\n\nCheck if a value is `>` a given value.\n\n```javascript\nis.isGt(2, 1); //true\nis(\"b\").isGt(\"a\"); //true\n```\n\n**`isGte`**\n\nCheck if a value is `>=` a given value.\n\n```javascript\nis.isGte(2, 2); //true\nis(\"b\").isLt(\"a\"); //true\n```\n\n**`isLike`**\n\nCheck if a value is like a given regexp.\n\n```javascript\nis.isLike(\"a\", /a/); //true\nis.isLike(\"a\", \"a\"); //true\nis(1).isLike(/\\d/); //true\nis.isLike(1, \"\\\\d\"); //true\n```\n\n**`isNotLike`**\n\nCheck if a value is not like a given regexp.\n\n```javascript\nis.isNotLike(\"a\", /\\d/); //true\nis(\"a\").isNotLike(\"b\"); //true\n```\n\n**`contains`**\n\nChecks if an array contains a given value.\n\n```javascript\nis.contains([1,2,3], 2); //true\nis([1,2,3]).contains(2); //true\n```\n\n**`notContains`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notContains([1,2,3], 2); //true\nis([1,2,3]).notContains(2); //true\n```\n\n**`containsAt`**\n\nChecks if an array contains a given value at the specified index\n\n```javascript\nis.contains([1,2,3], 2, 1); //true\nis([1,2,3]).containsAt(2, 1); //true\n```\n\n**`notContainsAt`**\n\nChecks if an array does not contain a given value at the specified index\n\n```javascript\nis.notContains([1,2,3], 2, 0); //true\nis([1,2,3]).notContains(2, 0); //true\n```\n\n**`has`**\n\nChecks if a value has the specified property.\n\n```javascript\nis.has([1,2,3], \"length\"); //true\nis.has({a: \"a\"}, \"a\"); //true\nis([1,2,3]).has(\"length\"); //true\nis({a: \"a\"}).has(\"a\"); //true\n```\n\n**`notHas`**\n\nChecks if an array does not contain a given value.\n\n```javascript\nis.notHas([1,2,3], \"someProperty\"); //true\nis.notHas({a: \"a\"}, \"b\"); //true\nis([1,2,3]).notHas(\"someProperty\"); //true\nis({a: \"a\"}).notHas(\"b\"); //true\n```\n\n**`isLength`**\n\nChecks if a value has the specified length;\n\n```javascript\nis.isLength([1,2,3], 3); //true\nis.isLength(\"abc\", 3); //true\nis.isLength(function(a, b, c){}, 3); //true\n\nis([1,2,3]).isLength(3); //true\nis(\"abc\").isLength(3); //true\nis(function(a, b, c){}).isLength(3); //true\n```\n\n**`isNotLength`**\n\nChecks if an value does not have the specified length.\n\n```javascript\nis.isNotLength([1,2,3], 3); //false\nis.isNotLength(\"abc\", 3); //false\nis.isNotLength(function(a, b, c){}, 3); //false\n\nis([1,2,3]).isNotLength(3); //false\nis(\"abc\").isNotLength(3); //false\nis(function(a, b, c){}).isNotLength(3); //false\n```\n\n\n## Creating a custom tester.\n\nTo create a custom type tester you can use the `tester` method.\n\n```javascript\nvar tester = is.tester().isArray().isDate().isBoolean().tester();\ntester([]); //true\ntester(new Array()); //true\ntester(new Date()); //true\ntester(true); //true\ntester(false); //true\ntester(new Boolean()); //true\n\ntester(\"hello\"); //false\ntester(); //false\ntester(new String()); //false\ntester({}); //false\ntester(new Object()); //false\n```\n\n## `switcher`\n\nThe `is-exteded` `switcher` method allows you to create a structure that executes certain code when a value passes a test.\n\n```javascript\nvar mySwitcher = is.switcher()\n    .isLt(0, function (num) {\n        return num + \" is lt 0\";\n    })\n    .isLte(5, function (num) {\n        return num + \" is gte 0 lte 5\";\n    })\n    .isLte(10, function (num) {\n        return num + \" is gt 5 lte 10\";\n    })\n    .isGt(10, function (num) {\n        return num + \" is gt 10\";\n    })\n    .def(function (num) {\n        return num + \" is unknown value\";\n    })\n    .switcher();\n\nfor (var i = -1; i < 12; i++) {\n    console.log(mySwitcher(i));\n}\n```\n\n\nOutputs the following\n\n```\n-1 is lt 0\n0 is gte 0 lte 5\n1 is gte 0 lte 5\n2 is gte 0 lte 5\n3 is gte 0 lte 5\n4 is gte 0 lte 5\n5 is gte 0 lte 5\n6 is gt 5 lte 10\n7 is gt 5 lte 10\n8 is gt 5 lte 10\n9 is gt 5 lte 10\n10 is gt 5 lte 10\n11 is gt 10\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/is-extended/issues"},"homepage":"https://github.com/doug-martin/is-extended","_id":"is-extended@0.0.10","_shasum":"244e140df75bb1c9a3106f412ff182fb534a6d62","_from":"is-extended@0.0.10","_resolved":"https://registry.npmjs.org/is-extended/-/is-extended-0.0.10.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/is-extended/test/browserling.js","id":"is-extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","is-extended/test/is-extended.test.js"],"mtime":1358804493000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/is-extended/test/is-extended.test.js","id":"is-extended/test/is-extended.test.js","options":{},"isModule":true,"requiredModules":["it","assert","is-extended/index.js"],"mtime":1365527431000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/Gruntfile.js","id":"object-extended/Gruntfile.js","options":{},"isModule":true,"mtime":1365299079000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/index.js","id":"object-extended/index.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","array-extended/index.js"],"mtime":1370409140000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/array-extended.min.js","id":"array-extended/array-extended.min.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","arguments-extended/index.js"],"mtime":1396384782000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/Gruntfile.js","id":"array-extended/Gruntfile.js","options":{},"isModule":true,"mtime":1366125654000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/index.js","id":"array-extended/index.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","arguments-extended/index.js"],"mtime":1384541553000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/node_modules/arguments-extended/arguments-extended.min.js","id":"arguments-extended/arguments-extended.min.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js"],"mtime":1370553600000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/node_modules/arguments-extended/Gruntfile.js","id":"arguments-extended/Gruntfile.js","options":{},"isModule":true,"mtime":1368203119000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/node_modules/arguments-extended/index.js","id":"arguments-extended/index.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js"],"mtime":1370552922000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/node_modules/arguments-extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/node_modules/arguments-extended/package.json","data":{"name":"arguments-extended","version":"0.0.3","description":"Utilities for working with arguments object","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/arguments-extended.git"},"keywords":["arguments","utils","extended","extender","monad","monads"],"testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3","is-extended":"~0.0.8"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/arguments-extended.png?branch=master)](https://travis-ci.org/doug-martin/arguments-extended)\n\n[![browser support](https://ci.testling.com/doug-martin/arguments-extended.png)](http://ci.testling.com/doug-martin/arguments-extended)\n\n# arguments-extended\n\n`arguments-extended` is a Javascript library that provides utilities for working with the arguments object. `arguments-extended` can be used as a monad library or each function can be used standalone.\n\n`arguments-extended` can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar args = require(\"arguments-extended\");\n```\n\nOr\n\n```javascript\nvar args = require(\"extended\")\n\t.register(require(\"arguments-extended\"));\n```\n\n## Installation\n\n```\nnpm install arguments-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/arguments-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/arguments-extended/master/arguments-extended.min.js))\n\n## Usage\n\n**`toArray() argsToArray()`**\n\nFunction to convert arguments to an array. If you are using `arguments-extended` as a monad use the `toArray` method, if your using the standalone method use `argsToArray`\n\nTo use as a monad.\n\n```javascript\n\nfunction argsToArray(){\n    return args(arguments).toArray().value();\n}\n\nargsToArray(\"a\", \"b\", \"c\"); //[\"a\", \"b\", \"c\"];\n\n```\n\nTo use a a function\n\n```javascript\n\nfunction argsToArray(){\n    return args.argsToArray(arguments);\n}\n\nargsToArray(\"a\", \"b\", \"c\"); //[\"a\", \"b\", \"c\"];\n\n```\n\nYou may also specify a `slice` argument to slice a number of arguments off of the front of returned array\n\n\n```javascript\n\nfunction argsToArray(){\n    return args(arguments).toArray(1).value();\n}\n\nargsToArray(\"a\", \"b\", \"c\"); //[\"b\", \"c\"];\n\n```\n\n```javascript\n\nfunction argsToArray(){\n    return args.argsToArray(arguments, 1);\n}\n\nargsToArray(\"a\", \"b\", \"c\"); //[\"b\", \"c\"];\n\n```","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/arguments-extended/issues"},"homepage":"https://github.com/doug-martin/arguments-extended","_id":"arguments-extended@0.0.3","_shasum":"6107e4917d0eb6f0a4dd66320fc15afc72ef4946","_from":"arguments-extended@~0.0.3","_resolved":"https://registry.npmjs.org/arguments-extended/-/arguments-extended-0.0.3.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/node_modules/arguments-extended/test/arguments-extended.test.js","id":"arguments-extended/test/arguments-extended.test.js","options":{},"isModule":true,"requiredModules":["it","assert","arguments-extended/index.js"],"mtime":1368203714000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/node_modules/arguments-extended/test/browserling.js","id":"arguments-extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","arguments-extended/test/arguments-extended.test.js"],"mtime":1368203727000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/package.json","data":{"name":"array-extended","version":"0.0.11","description":"Additional array extensions with a chainable api","main":"index.js","scripts":{"test":"it -r dot"},"repository":{"type":"git","url":"git:git@github.com:doug-martin/array-extended.git"},"keywords":["Array","extender","utilities"],"testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3","is-extended":"~0.0.3","arguments-extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt":"~0.4.1","grunt-contrib-jshint":"~0.4.3","grunt-it":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/array-extended.png?branch=master)](https://travis-ci.org/doug-martin/array-extended)\n\n[![browser support](https://ci.testling.com/doug-martin/array-extended.png)](https://ci.testling.com/doug-martin/array-extended)\n\n# array-extended\n\n`array-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar array = require(\"array-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"array-extended\"));\n```\n\n## Installation\n\n```\nnpm install array-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/array-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/array-extended/master/array-extended.min.js))\n\n## Usage\n\n`array-extended` includes many useful methods that for array. All of the functions can be chained together using `array-exteded` as a function or you can use the functions directly as shown in the examples.\n\n The following native `ES5` methods are included for completeness.\n\n * `forEach`\n * `map`\n * `filter`\n * `reduce`\n * `reduceRight`\n * `some`\n * `every`\n * `indexOf`\n * `lastIndexOf`\n\n**Note** `forEach` returns the original array for chaining purposes.\n\n**`sum`**\n\nSums the values of an array.\n\n```javascript\n\narray.sum([1,2,3]); //6\n\narray([1,2,3]).sum().value(); //6\n\n```\n\n**`avg`**\n\nFinds the average of an array of numbers.\n\n```javascript\n\narray.avg([1,2,3]); //2\n\narray([1,2,3]).avg().value(); //2\n\n```\n\n**`sort`**\n\nSorts an array based on a property, by natural ordering, or by a custom comparator.\n\n**Note** this does not change the original array.\n\n```javascript\n\narray.sort([{a: 1},{a: 2},{a: -2}], \"a\"); //[{a: -2},{a: 1},{a: 2}];\n\narray([{a: 1},{a: 2},{a: -2}]).sort(\"a\"); //[{a: -2},{a: 1},{a: 2}];\n\n\n```\n\n**`min`**\n\nFinds the minimum value in an array based on a property, by natural ordering, or by a custom comparator.\n\n```javascript\n\narray.min([ 3, -3, -2, -1, 1, 2]); //-3\n\narray.min([{a: 1},{a: 2},{a: -2}], \"a\"); //{a : -2}\n\narray([ 3, -3, -2, -1, 1, 2]).min(); //-3\n\narray([{a: 1},{a: 2},{a: -2}]).min(\"a\"); //{a : -2}\n\n```\n\n**`max`**\n\nFinds the maximum value in an array based on a property, by natural ordering, or by a custom comparator.\n\n```javascript\n\narray.max([ 3, -3, -2, -1, 1, 2]); //2\n\narray.max([{a: 1},{a: 2},{a: -2}], \"a\"); //{a : 2}\n\narray([ 3, -3, -2, -1, 1, 2]).max(); //2\n\narray([{a: 1},{a: 2},{a: -2}]).max(\"a\"); //{a : 2}\n\n```\n\n**`difference`**\n\nFinds the difference between two arrays.\n\n```javascript\narray.difference([1, 2, 3], [2]); //[1, 3]\narray.difference([true, false], [false]); //[true]\narray.difference([\"a\", \"b\", 3], [3]); //[\"a\", \"b\"]\n\nvar a = , b = , c = ;\narray.difference([{a: 1}, {a: 2}, {a: 3}], [{a: 2}, {a: 3}]); //[{a: 1}]\n\narray([true, false]).difference([false]).value()// [true]\narray([1, 2, 3]).difference([2]).value()// [1, 3]\narray([1, 2, 3]).difference([2], [3]).value(); //[1]\narray([\"a\", \"b\", 3]).difference([3]).value(); [\"a\", \"b\"]\narray([{a: 1}, {a: 2}, {a: 3}]).difference([{a: 2}, {a: 3}]).value(); [{a: 1}]\n```\n\n**`unique`**\n\nRemoved duplicate values from an array.\n\n```javascript\n\narray.unique([1, 2, 2, 3, 3, 3, 4, 4, 4]); //[1, 2, 3, 4]\narray([1, 2, 2, 3, 3, 3, 4, 4, 4]).unique().value();  //[1, 2, 3, 4]\n\narray([\"a\", \"b\", \"b\"]).unique().value(); //[\"a\", \"b\"]\narray.unique([\"a\", \"b\", \"b\"]); //[\"a\", \"b\"]\n\n```\n\n**`rotate`**\n\nRotates an array by the number of places for 1 position by default.\n\n```javascript\n\nvar arr = array([\"a\", \"b\", \"c\", \"d\"])\narr.rotate().value();   //[\"b\", \"c\", \"d\", \"a\"]\narr.rotate(2).value();  //[\"c\", \"d\", \"a\", \"b\"]\narr.rotate(3).value();  //[\"d\", \"a\", \"b\", \"c\"]\narr.rotate(4).value();  //[\"a\", \"b\", \"c\", \"d\"]\narr.rotate(-1).value(); //[\"d\", \"a\", \"b\", \"c\"]\narr.rotate(-2).value(); //[\"c\", \"d\", \"a\", \"b\"]\narr.rotate(-3).value(); //[\"b\", \"c\", \"d\", \"a\"]\narr.rotate(-4).value(); //[\"a\", \"b\", \"c\", \"d\"]\n\nvar arr = [\"a\", \"b\", \"c\", \"d\"];\narray.rotate(arr);     //[\"b\", \"c\", \"d\", \"a\"]\narray.rotate(arr, 2);  //[\"c\", \"d\", \"a\", \"b\"]\narray.rotate(arr, 3);  //[\"d\", \"a\", \"b\", \"c\"]\narray.rotate(arr, 4);  //[\"a\", \"b\", \"c\", \"d\"]\narray.rotate(arr, -1)  //[\"d\", \"a\", \"b\", \"c\"]\narray.rotate(arr, -2); //[\"c\", \"d\", \"a\", \"b\"]\narray.rotate(arr, -3); //[\"b\", \"c\", \"d\", \"a\"]\narray.rotate(arr, -4); //[\"a\", \"b\", \"c\", \"d\"]\n\n```\n\n**`permutations`**\n\nFinds all permutations of an array.\n\n```javascript\n\narray([1, 2, 3]).permutations(); //[\n                                 //   [ 1, 2, 3 ],\n                                 //   [ 1, 3, 2 ],\n                                 //   [ 2, 3, 1 ],\n                                 //   [ 2, 1, 3 ],\n                                 //   [ 3, 1, 2 ],\n                                 //   [ 3, 2, 1 ]\n                                 //]\n\narray([1, 2, 3]).permutations(2);//[\n                                 //   [ 1, 2],\n                                 //   [ 1, 3],\n                                 //   [ 2, 3],\n                                 //   [ 2, 1],\n                                 //   [ 3, 1],\n                                 //   [ 3, 2]\n                                 //]\n\narray.permutations([1, 2, 3]);   //[\n                                 //   [ 1, 2, 3 ],\n                                 //   [ 1, 3, 2 ],\n                                 //   [ 2, 3, 1 ],\n                                 //   [ 2, 1, 3 ],\n                                 //   [ 3, 1, 2 ],\n                                 //   [ 3, 2, 1 ]\n                                 //]\n\narray.permutations(([1, 2, 3], 2);//[\n                                 //   [ 1, 2],\n                                 //   [ 1, 3],\n                                 //   [ 2, 3],\n                                 //   [ 2, 1],\n                                 //   [ 3, 1],\n                                 //   [ 3, 2]\n                                 //]\n\n```\n\n**`zip`**\n\nZips the values of multiple arrays into a single array.\n\n```javascript\n\narray([1]).zip([2], [3]).value();                    //[\n                                                     //  [ 1, 2, 3 ]\n                                                     //];\n\narray([1, 2]).zip([2], [3]).value();                 //[\n                                                     //  [ 1, 2, 3 ],\n                                                     //  [2, null, null]\n                                                     //]\n\narray([1, 2, 3]).zip([ 4, 5, 6 ], b).value();        //[\n                                                     //  [1, 4, 7],\n                                                     //  [2, 5, 8],\n                                                     //  [3, 6, 9]\n                                                     //]\n\narray([1, 2]).zip([ 4, 5, 6 ],  [7, 8, 9 ]).value(); //[\n                                                     //  [1, 4, 7],\n                                                     //  [2, 5, 8]\n                                                     //]\n\narray([ 4, 5, 6 ]).zip([1, 2], [8]).value(),         //[\n                                                     //  [4, 1, 8],\n                                                     //  [5, 2, null],\n                                                     //  [6, null, null]\n                                                     //]\n\n\narray.zip([1], [2], [3]);                   //[\n                                            //  [ 1, 2, 3 ]\n                                            //]\n\narray.zip([1, 2], [2], [3]);                //[\n                                            //  [ 1, 2, 3 ],\n                                            //  [2, null, null]\n                                            //]\n\narray.zip([1, 2, 3], [4,5,6],  [7, 8, 9 ]); //[\n                                            //  [1, 4, 7],\n                                            //  [2, 5, 8],\n                                            //  [3, 6, 9]\n                                            //]\n\narray.zip([1, 2], [4,5,6],  [7, 8, 9 ]);    //[\n                                            //  [1, 4, 7],\n                                            //  [2, 5, 8]\n                                            //]\n\narray.zip([ 4, 5, 6 ], [1, 2], [8]);        //[\n                                            //  [4, 1, 8],\n                                            //  [5, 2, null],\n                                            //  [6, null, null]\n                                            //]\n\n```\n\n**`transpose`**\n\nTranspose a multi dimensional array.\n\n```javascript\narray([[1, 2, 3],[4, 5, 6]]).transpose().value();   //[ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ]\narray([[1, 2],[3, 4],[5, 6]]).transpose().value();  //[ [ 1, 3, 5 ], [ 2, 4, 6 ] ]\narray([[1],[3, 4],[5, 6]]).transpose().value();     //[ [1] ]\n\n\narray.transpose([[1, 2, 3],[4, 5, 6]]);             //[ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ]\narray.transpose([[1, 2],[3, 4],[5, 6]]);            //[ [ 1, 3, 5 ], [ 2, 4, 6 ] ]\narray.transpose([[1],[3, 4],[5, 6]]);               //[ [1] ]\n```\n\n**`valuesAt`**\n\nGathers values and the specified indexes.\n\n```javascript\n\nvar arr = array([\"a\", \"b\", \"c\", \"d\"]);\narr.valuesAt(1, 2, 3).value();      //[\"b\", \"c\", \"d\"]\narr.valuesAt(1, 2, 3, 4).value();   //[\"b\", \"c\", \"d\", null]\narr.valuesAt(0, 3).value();         //[\"a\", \"d\"]\n\narr = [\"a\", \"b\", \"c\", \"d\"];\narray.valuesAt(arr, 1, 2, 3);       //[\"b\", \"c\", \"d\"]\narray.valuesAt(arr, 1, 2, 3, 4);    //[\"b\", \"c\", \"d\", null]\narray.valuesAt(arr, 0, 3);          //[\"a\", \"d\"]\n```\n\n**`union`**\n\nFinds the union of two arrays.\n\n```javascript\narray([\"a\", \"b\", \"c\"]).union([\"b\", \"c\", \"d\"]).value();  //[\"a\", \"b\", \"c\", \"d\"]);\narray([\"a\"]).union([\"b\"], [\"c\"], [\"d\"], [\"c\"]).value(); //[\"a\", \"b\", \"c\", \"d\"]);\n\narray.union([\"a\", \"b\", \"c\"], [\"b\", \"c\", \"d\"]);          //[\"a\", \"b\", \"c\", \"d\"]);\narray.union([\"a\"], [\"b\"], [\"c\"], [\"d\"], [\"c\"]);         //[\"a\", \"b\", \"c\", \"d\"]);\n```\n\n**`intersect`**\n\nFinds the intersection of two arrays.\n\n```javascript\narray([1, 2]).intersect([2, 3], [2, 3, 5]).value();                     //[2]);\narray([1, 2, 3]).intersect([2, 3, 4, 5], [2, 3, 5]).value();            //[2, 3]);\narray([1, 2, 3, 4]).intersect([2, 3, 4, 5], [2, 3, 4, 5]).value();      //[2, 3, 4]);\narray([1, 2, 3, 4, 5]).intersect([1, 2, 3, 4, 5], [1, 2, 3]).value();   //[1, 2, 3]);\narray([[1, 2, 3, 4, 5],[1, 2, 3, 4, 5],[1, 2, 3]]).intersect().value(); //[1, 2, 3]);\n\narray.intersect([1, 2], [2, 3], [2, 3, 5]);                             //[2]\narray.intersect([1, 2, 3], [2, 3, 4, 5], [2, 3, 5]);                    //[2, 3]\narray.intersect([1, 2, 3, 4], [2, 3, 4, 5], [2, 3, 4, 5]);              //[2, 3, 4]\narray.intersect([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3]);           //[1, 2, 3]);\narray.intersect([[1, 2, 3, 4, 5],[1, 2, 3, 4, 5], [1, 2, 3]]);          //[1, 2, 3]);\n```\n\n**`powerSet`**\n\nFinds the powerset of a given array.\n\n```javascript\narray([1, 2, 3]).powerSet().value();\narray.powerSet([1, 2, 3]);\n//[\n//  [],\n//  [ 1 ],\n//  [ 2 ],\n//  [ 1, 2 ],\n//  [ 3 ],\n//  [ 1, 3 ],\n//  [ 2, 3 ],\n//  [ 1, 2, 3 ]\n//]\n```\n\n**`cartesian`**\n\nFinds the cartesian product of arrays.\n\n```javascript\narray([1, 2]).cartesian([2, 3]).value();\narray.cartesian([1, 2], [2, 3]);\n//[\n//  [1, 2],\n//  [1, 3],\n//  [2, 2],\n//  [2, 3]\n//]\n```\n\n**`compact`**\n\nCompacts the values of an array.\n\n```javascript\narray([1, null, null, x, 2]).compact().value(); //[1, 2]\n\narray([1, 2]).compact().value();  //[1, 2]\n\n\narray.compact([1, null, null, x, 2]); //[1, 2]\narray.compact([1, 2]); //[1, 2]\n```\n\n**`multiply`**\n\nRepoduces the values in an array the given number of times.\n\n```javascript\narray([1, 2]).multiply(2).value(); //[1, 2, 1, 2, 1, 2]\n\narray.multiply([1, 2, 3], 2); //[1, 2, 3, 1, 2, 3]\n```\n\n**`flatten`**\n\nFlatten multiple arrays into a single array.\n\n```javascript\n\narray([ [1], [2], [3] ]).flatten().value(); //[1, 2, 3]\n\narray.flatten([1, 2], [2, 3], [3, 4]); //[1, 2, 2, 3, 3, 4]\n\n```\n\n**`pluck`**\n\nPluck properties from values in an array.\n\n```javascript\nvar arr = [\n    {name: {first: \"Fred\", last: \"Jones\"}, age: 50, roles: [\"a\", \"b\", \"c\"]},\n    {name: {first: \"Bob\", last: \"Yukon\"}, age: 40, roles: [\"b\", \"c\"]},\n    {name: {first: \"Alice\", last: \"Palace\"}, age: 35, roles: [\"c\"]},\n    {name: {first: \"Johnny\", last: \"P.\"}, age: 56, roles: []}\n];\n\narray.pluck(arr, \"name.first\"); //[\"Fred\", \"Bob\", \"Alice\", \"Johnny\"]\narray(arr).pluck(\"age\"); //[50, 40, 35, 56]\n\n```\n\n**`invoke`**\n\nInvokes the specified method on each value in an array.\n\n```javascript\n\nfunction person(name, age) {\n    return {\n        getName: function () {\n            return name;\n        },\n\n        getOlder: function () {\n            age++;\n            return this;\n        },\n\n        getAge: function () {\n            return age;\n        }\n    };\n};\n\nvar arr = [person(\"Bob\", 40), person(\"Alice\", 35), person(\"Fred\", 50), person(\"Johnny\", 56)];\n\narray.invoke(arr, \"getName\"); //[\"Bob\", \"Alice\", \"Fred\", \"Johnny\"];\narray(arr).invoke(\"getName\").value(); //[\"Bob\", \"Alice\", \"Fred\", \"Johnny\"];\n\narray(arr).invoke(\"getOlder\").invoke(\"getAge\").value(); //[41, 36, 51, 57];\n```\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/array-extended/issues"},"homepage":"https://github.com/doug-martin/array-extended","_id":"array-extended@0.0.11","_shasum":"d7144ae748de93ca726f121009dbff1626d164bd","_from":"array-extended@~0.0.5","_resolved":"https://registry.npmjs.org/array-extended/-/array-extended-0.0.11.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/test/array-extended.test.js","id":"array-extended/test/array-extended.test.js","options":{},"isModule":true,"requiredModules":["array-extended/index.js","it","assert"],"mtime":1396375044000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/node_modules/array-extended/test/browserling.js","id":"array-extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","array-extended/test/array-extended.test.js"],"mtime":1358804619000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/object-extended.min.js","id":"object-extended/object-extended.min.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","array-extended/index.js"],"mtime":1370555610000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/package.json","data":{"name":"object-extended","version":"0.0.7","description":"Additional object extensions with a chainable api","main":"index.js","scripts":{"test":"it -r dot"},"repository":{"type":"git","url":"git:git@github.com:doug-martin/object-extended.git"},"keywords":["Object","extender","utilities"],"testling":{"files":"test/browserling.js","browsers":["ie/6..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3","is-extended":"~0.0.3","array-extended":"~0.0.4"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.1","grunt-contrib-uglify":"~0.2.0","grunt":"~0.4.1","grunt-contrib-jshint":"~0.4.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/object-extended.png?branch=master)](https://travis-ci.org/doug-martin/object-extended)\n\n[![browser support](https://ci.testling.com/doug-martin/object-extended.png)](https://ci.testling.com/doug-martin/object-extended)\n\n# object-extended\n\n`object-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar obj = require(\"object-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"object-extended\"));\n```\n\n## Installation\n\n```\nnpm install object-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/object-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/object-extended/master/object-extended.min.js))\n\n## Usage\n\n**`merge`**\n\nmerges the properties of one object into another.\n\n**Note** This method changes the original object.\n\n```javascript\n\nobj.merge({}, {a : \"a\"}, {b : \"b\"}, {c : \"c\"}); //{a : \"a\", b : \"b\", c : \"c\"});\n\n```\n\n**`extend`**\n\nMerges properties into a function prototype or delegates to `merge`.\n\n```\nvar MyObj = function () {\n};\nMyObj.prototype.test = true;\nobject.extend(MyObj, {test2: false, test3: \"hello\", test4: \"world\"});\n\nvar myOjb = new MyObj();\nmyObj.test2; //false\nmyObj.test3; //\"hello\"\nmyObj.test4; //\"world\"\n```\n\n**`deepMerge`**\n\nMerges objects together only overriding properties that are different.\n\n**Note**: this function takes a variable number of objects to merge\n\n```javascript\nvar myObj = {my : {cool : {property1 : 1, property2 : 2}}};\nobj.deepMerge(myObj, {my : {cool : {property3 : 3}}});\n\nmyObj.my.cool.property1; // 1\nmyObj.my.cool.property2; // 2\nmyObj.my.cool.property3; // 3\n\n```\n\nOr\n\n```javacript\nvar myObj = {my : {cool : {property1 : 1, property2 : 2}}};\nobj(myObj).deepMerge({my : {cool : {property3 : 3}}});\n\nmyObj.my.cool.property1; // 1\nmyObj.my.cool.property2; // 2\nmyObj.my.cool.property3; // 3\n```\n\n\n**`hash.forEach`**\n\nLoops through each k/v in a hash.\n\n```javascript\nvar myObj = {a : \"b\", c : \"d\", e : \"f\"};\nobj(myObj).forEach(function(value, key){\n    console.log(value, key);\n});\n\nobj.hash.forEach(myObj, function(value, key){\n   console.log(value, key);\n});\n```\n\n**`hash.filter`**\n\n\nFilters out key/value pairs in an object.\nFilters out key/value pairs that return a falsey value from the iterator.\n\n```javascript\nvar myObj = {a : \"b\", c : \"d\", e : \"f\"};\nobj(myObj).filter(function(value, key){\n    return value == \"b\" || key === \"e\";\n}); //{a : \"b\", e : \"f\"};\n\nobj.hash.filter(myObj, function(value, key){\n   return value == \"b\" || key === \"e\";\n}); //{a : \"b\", e : \"f\"};\n\n```\n\n\n**`hash.values`**\n\nReturns the values of a hash.\n\n```javascript\nvar myObj = {a : \"b\", c : \"d\", e : \"f\"};\nobj(myObj).values(); //[\"b\", \"d\", \"f\"]\n\nobj.values(myObj); //[\"b\", \"d\", \"f\"]\n\n```\n\n**`hash.keys`**\nReturns the keys of a hash.\n\n```javascript\nvar myObj = {a : \"b\", c : \"d\", e : \"f\"};\nobj(myObj).keys(); //[\"a\", \"c\", \"e\"]\n\nobj.keys(myObj); //[\"b\", \"d\", \"f\"]\n\n```\n\n**`hash.invert`**\n\n\nReturns a new hash that is the invert of the hash.\n\n```javascript\nvar myObj = {a : \"b\", c : \"d\", e : \"f\"};\nobj(myObj).invert(); //{b : \"a\", d : \"c\", f : \"e\"}\n\nobj.hash.invert(myObj); //{b : \"a\", d : \"c\", f : \"e\"}\n```\n\n**`hash.omit`**\n\n\nReturns a new hash that is the with the given keys omitted.\n\n```javascript\nvar myObj = {a : \"b\", c : \"d\", e : \"f\"};\nobj(myObj).omit(\"e\"); //{a : \"b\", c : \"d\"}\nobj(myObj).omit([\"c\", \"e\"]); //{a : \"b\"}\n\nobj.hash.omit(myObj, \"e\"); //{a : \"b\", c : \"d\"}\nobj.hash.omit(myObj, [\"c\", \"e\"]); //{a : \"b\"}\n```\n\n\n**`hash.toArray`**\n\nConverts a hash to an array.\n\n```javascript\nvar myObj = {a : \"b\", c : \"d\", e : \"f\"};\nobj(myObj).toArray(); //[[\"a\", \"b\"], [\"c\", \"d\"], [\"e\", \"f\"]]\n\nobj.hash.toArray(myObj); //[[\"a\", \"b\"], [\"c\", \"d\"], [\"e\", \"f\"]]\n```","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/object-extended/issues"},"homepage":"https://github.com/doug-martin/object-extended","_id":"object-extended@0.0.7","_shasum":"84fd23f56b15582aeb3e88b05cb55d2432d68a33","_from":"object-extended@0.0.7","_resolved":"https://registry.npmjs.org/object-extended/-/object-extended-0.0.7.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/test/browserling.js","id":"object-extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","object-extended/test/object-extended.test.js"],"mtime":1358804659000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/object-extended/test/object-extended.test.js","id":"object-extended/test/object-extended.test.js","options":{},"isModule":true,"requiredModules":["object-extended/index.js","it","assert"],"mtime":1365305810000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/Gruntfile.js","id":"string-extended/Gruntfile.js","options":{},"isModule":true,"mtime":1366128660000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/index.js","id":"string-extended/index.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","date-extended/index.js","array-extended/index.js"],"mtime":1370409407000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/array-extended.min.js","id":"array-extended/array-extended.min.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","arguments-extended/index.js"],"mtime":1396384782000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/Gruntfile.js","id":"array-extended/Gruntfile.js","options":{},"isModule":true,"mtime":1366125654000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/index.js","id":"array-extended/index.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","arguments-extended/index.js"],"mtime":1384541553000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/node_modules/arguments-extended/arguments-extended.min.js","id":"arguments-extended/arguments-extended.min.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js"],"mtime":1370553600000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/node_modules/arguments-extended/Gruntfile.js","id":"arguments-extended/Gruntfile.js","options":{},"isModule":true,"mtime":1368203119000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/node_modules/arguments-extended/index.js","id":"arguments-extended/index.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js"],"mtime":1370552922000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/node_modules/arguments-extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/node_modules/arguments-extended/package.json","data":{"name":"arguments-extended","version":"0.0.3","description":"Utilities for working with arguments object","main":"index.js","scripts":{"test":"it -r dotmatrix"},"repository":{"type":"git","url":"git@github.com:doug-martin/arguments-extended.git"},"keywords":["arguments","utils","extended","extender","monad","monads"],"testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3","is-extended":"~0.0.8"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt":"~0.4.1","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/arguments-extended.png?branch=master)](https://travis-ci.org/doug-martin/arguments-extended)\n\n[![browser support](https://ci.testling.com/doug-martin/arguments-extended.png)](http://ci.testling.com/doug-martin/arguments-extended)\n\n# arguments-extended\n\n`arguments-extended` is a Javascript library that provides utilities for working with the arguments object. `arguments-extended` can be used as a monad library or each function can be used standalone.\n\n`arguments-extended` can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar args = require(\"arguments-extended\");\n```\n\nOr\n\n```javascript\nvar args = require(\"extended\")\n\t.register(require(\"arguments-extended\"));\n```\n\n## Installation\n\n```\nnpm install arguments-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/arguments-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/arguments-extended/master/arguments-extended.min.js))\n\n## Usage\n\n**`toArray() argsToArray()`**\n\nFunction to convert arguments to an array. If you are using `arguments-extended` as a monad use the `toArray` method, if your using the standalone method use `argsToArray`\n\nTo use as a monad.\n\n```javascript\n\nfunction argsToArray(){\n    return args(arguments).toArray().value();\n}\n\nargsToArray(\"a\", \"b\", \"c\"); //[\"a\", \"b\", \"c\"];\n\n```\n\nTo use a a function\n\n```javascript\n\nfunction argsToArray(){\n    return args.argsToArray(arguments);\n}\n\nargsToArray(\"a\", \"b\", \"c\"); //[\"a\", \"b\", \"c\"];\n\n```\n\nYou may also specify a `slice` argument to slice a number of arguments off of the front of returned array\n\n\n```javascript\n\nfunction argsToArray(){\n    return args(arguments).toArray(1).value();\n}\n\nargsToArray(\"a\", \"b\", \"c\"); //[\"b\", \"c\"];\n\n```\n\n```javascript\n\nfunction argsToArray(){\n    return args.argsToArray(arguments, 1);\n}\n\nargsToArray(\"a\", \"b\", \"c\"); //[\"b\", \"c\"];\n\n```","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/arguments-extended/issues"},"homepage":"https://github.com/doug-martin/arguments-extended","_id":"arguments-extended@0.0.3","_shasum":"6107e4917d0eb6f0a4dd66320fc15afc72ef4946","_from":"arguments-extended@~0.0.3","_resolved":"https://registry.npmjs.org/arguments-extended/-/arguments-extended-0.0.3.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/node_modules/arguments-extended/test/arguments-extended.test.js","id":"arguments-extended/test/arguments-extended.test.js","options":{},"isModule":true,"requiredModules":["it","assert","arguments-extended/index.js"],"mtime":1368203714000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/node_modules/arguments-extended/test/browserling.js","id":"arguments-extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","arguments-extended/test/arguments-extended.test.js"],"mtime":1368203727000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/package.json","data":{"name":"array-extended","version":"0.0.11","description":"Additional array extensions with a chainable api","main":"index.js","scripts":{"test":"it -r dot"},"repository":{"type":"git","url":"git:git@github.com:doug-martin/array-extended.git"},"keywords":["Array","extender","utilities"],"testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3","is-extended":"~0.0.3","arguments-extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-contrib-uglify":"~0.2.0","grunt":"~0.4.1","grunt-contrib-jshint":"~0.4.3","grunt-it":"~0.3.0"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/array-extended.png?branch=master)](https://travis-ci.org/doug-martin/array-extended)\n\n[![browser support](https://ci.testling.com/doug-martin/array-extended.png)](https://ci.testling.com/doug-martin/array-extended)\n\n# array-extended\n\n`array-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar array = require(\"array-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"array-extended\"));\n```\n\n## Installation\n\n```\nnpm install array-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/array-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/array-extended/master/array-extended.min.js))\n\n## Usage\n\n`array-extended` includes many useful methods that for array. All of the functions can be chained together using `array-exteded` as a function or you can use the functions directly as shown in the examples.\n\n The following native `ES5` methods are included for completeness.\n\n * `forEach`\n * `map`\n * `filter`\n * `reduce`\n * `reduceRight`\n * `some`\n * `every`\n * `indexOf`\n * `lastIndexOf`\n\n**Note** `forEach` returns the original array for chaining purposes.\n\n**`sum`**\n\nSums the values of an array.\n\n```javascript\n\narray.sum([1,2,3]); //6\n\narray([1,2,3]).sum().value(); //6\n\n```\n\n**`avg`**\n\nFinds the average of an array of numbers.\n\n```javascript\n\narray.avg([1,2,3]); //2\n\narray([1,2,3]).avg().value(); //2\n\n```\n\n**`sort`**\n\nSorts an array based on a property, by natural ordering, or by a custom comparator.\n\n**Note** this does not change the original array.\n\n```javascript\n\narray.sort([{a: 1},{a: 2},{a: -2}], \"a\"); //[{a: -2},{a: 1},{a: 2}];\n\narray([{a: 1},{a: 2},{a: -2}]).sort(\"a\"); //[{a: -2},{a: 1},{a: 2}];\n\n\n```\n\n**`min`**\n\nFinds the minimum value in an array based on a property, by natural ordering, or by a custom comparator.\n\n```javascript\n\narray.min([ 3, -3, -2, -1, 1, 2]); //-3\n\narray.min([{a: 1},{a: 2},{a: -2}], \"a\"); //{a : -2}\n\narray([ 3, -3, -2, -1, 1, 2]).min(); //-3\n\narray([{a: 1},{a: 2},{a: -2}]).min(\"a\"); //{a : -2}\n\n```\n\n**`max`**\n\nFinds the maximum value in an array based on a property, by natural ordering, or by a custom comparator.\n\n```javascript\n\narray.max([ 3, -3, -2, -1, 1, 2]); //2\n\narray.max([{a: 1},{a: 2},{a: -2}], \"a\"); //{a : 2}\n\narray([ 3, -3, -2, -1, 1, 2]).max(); //2\n\narray([{a: 1},{a: 2},{a: -2}]).max(\"a\"); //{a : 2}\n\n```\n\n**`difference`**\n\nFinds the difference between two arrays.\n\n```javascript\narray.difference([1, 2, 3], [2]); //[1, 3]\narray.difference([true, false], [false]); //[true]\narray.difference([\"a\", \"b\", 3], [3]); //[\"a\", \"b\"]\n\nvar a = , b = , c = ;\narray.difference([{a: 1}, {a: 2}, {a: 3}], [{a: 2}, {a: 3}]); //[{a: 1}]\n\narray([true, false]).difference([false]).value()// [true]\narray([1, 2, 3]).difference([2]).value()// [1, 3]\narray([1, 2, 3]).difference([2], [3]).value(); //[1]\narray([\"a\", \"b\", 3]).difference([3]).value(); [\"a\", \"b\"]\narray([{a: 1}, {a: 2}, {a: 3}]).difference([{a: 2}, {a: 3}]).value(); [{a: 1}]\n```\n\n**`unique`**\n\nRemoved duplicate values from an array.\n\n```javascript\n\narray.unique([1, 2, 2, 3, 3, 3, 4, 4, 4]); //[1, 2, 3, 4]\narray([1, 2, 2, 3, 3, 3, 4, 4, 4]).unique().value();  //[1, 2, 3, 4]\n\narray([\"a\", \"b\", \"b\"]).unique().value(); //[\"a\", \"b\"]\narray.unique([\"a\", \"b\", \"b\"]); //[\"a\", \"b\"]\n\n```\n\n**`rotate`**\n\nRotates an array by the number of places for 1 position by default.\n\n```javascript\n\nvar arr = array([\"a\", \"b\", \"c\", \"d\"])\narr.rotate().value();   //[\"b\", \"c\", \"d\", \"a\"]\narr.rotate(2).value();  //[\"c\", \"d\", \"a\", \"b\"]\narr.rotate(3).value();  //[\"d\", \"a\", \"b\", \"c\"]\narr.rotate(4).value();  //[\"a\", \"b\", \"c\", \"d\"]\narr.rotate(-1).value(); //[\"d\", \"a\", \"b\", \"c\"]\narr.rotate(-2).value(); //[\"c\", \"d\", \"a\", \"b\"]\narr.rotate(-3).value(); //[\"b\", \"c\", \"d\", \"a\"]\narr.rotate(-4).value(); //[\"a\", \"b\", \"c\", \"d\"]\n\nvar arr = [\"a\", \"b\", \"c\", \"d\"];\narray.rotate(arr);     //[\"b\", \"c\", \"d\", \"a\"]\narray.rotate(arr, 2);  //[\"c\", \"d\", \"a\", \"b\"]\narray.rotate(arr, 3);  //[\"d\", \"a\", \"b\", \"c\"]\narray.rotate(arr, 4);  //[\"a\", \"b\", \"c\", \"d\"]\narray.rotate(arr, -1)  //[\"d\", \"a\", \"b\", \"c\"]\narray.rotate(arr, -2); //[\"c\", \"d\", \"a\", \"b\"]\narray.rotate(arr, -3); //[\"b\", \"c\", \"d\", \"a\"]\narray.rotate(arr, -4); //[\"a\", \"b\", \"c\", \"d\"]\n\n```\n\n**`permutations`**\n\nFinds all permutations of an array.\n\n```javascript\n\narray([1, 2, 3]).permutations(); //[\n                                 //   [ 1, 2, 3 ],\n                                 //   [ 1, 3, 2 ],\n                                 //   [ 2, 3, 1 ],\n                                 //   [ 2, 1, 3 ],\n                                 //   [ 3, 1, 2 ],\n                                 //   [ 3, 2, 1 ]\n                                 //]\n\narray([1, 2, 3]).permutations(2);//[\n                                 //   [ 1, 2],\n                                 //   [ 1, 3],\n                                 //   [ 2, 3],\n                                 //   [ 2, 1],\n                                 //   [ 3, 1],\n                                 //   [ 3, 2]\n                                 //]\n\narray.permutations([1, 2, 3]);   //[\n                                 //   [ 1, 2, 3 ],\n                                 //   [ 1, 3, 2 ],\n                                 //   [ 2, 3, 1 ],\n                                 //   [ 2, 1, 3 ],\n                                 //   [ 3, 1, 2 ],\n                                 //   [ 3, 2, 1 ]\n                                 //]\n\narray.permutations(([1, 2, 3], 2);//[\n                                 //   [ 1, 2],\n                                 //   [ 1, 3],\n                                 //   [ 2, 3],\n                                 //   [ 2, 1],\n                                 //   [ 3, 1],\n                                 //   [ 3, 2]\n                                 //]\n\n```\n\n**`zip`**\n\nZips the values of multiple arrays into a single array.\n\n```javascript\n\narray([1]).zip([2], [3]).value();                    //[\n                                                     //  [ 1, 2, 3 ]\n                                                     //];\n\narray([1, 2]).zip([2], [3]).value();                 //[\n                                                     //  [ 1, 2, 3 ],\n                                                     //  [2, null, null]\n                                                     //]\n\narray([1, 2, 3]).zip([ 4, 5, 6 ], b).value();        //[\n                                                     //  [1, 4, 7],\n                                                     //  [2, 5, 8],\n                                                     //  [3, 6, 9]\n                                                     //]\n\narray([1, 2]).zip([ 4, 5, 6 ],  [7, 8, 9 ]).value(); //[\n                                                     //  [1, 4, 7],\n                                                     //  [2, 5, 8]\n                                                     //]\n\narray([ 4, 5, 6 ]).zip([1, 2], [8]).value(),         //[\n                                                     //  [4, 1, 8],\n                                                     //  [5, 2, null],\n                                                     //  [6, null, null]\n                                                     //]\n\n\narray.zip([1], [2], [3]);                   //[\n                                            //  [ 1, 2, 3 ]\n                                            //]\n\narray.zip([1, 2], [2], [3]);                //[\n                                            //  [ 1, 2, 3 ],\n                                            //  [2, null, null]\n                                            //]\n\narray.zip([1, 2, 3], [4,5,6],  [7, 8, 9 ]); //[\n                                            //  [1, 4, 7],\n                                            //  [2, 5, 8],\n                                            //  [3, 6, 9]\n                                            //]\n\narray.zip([1, 2], [4,5,6],  [7, 8, 9 ]);    //[\n                                            //  [1, 4, 7],\n                                            //  [2, 5, 8]\n                                            //]\n\narray.zip([ 4, 5, 6 ], [1, 2], [8]);        //[\n                                            //  [4, 1, 8],\n                                            //  [5, 2, null],\n                                            //  [6, null, null]\n                                            //]\n\n```\n\n**`transpose`**\n\nTranspose a multi dimensional array.\n\n```javascript\narray([[1, 2, 3],[4, 5, 6]]).transpose().value();   //[ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ]\narray([[1, 2],[3, 4],[5, 6]]).transpose().value();  //[ [ 1, 3, 5 ], [ 2, 4, 6 ] ]\narray([[1],[3, 4],[5, 6]]).transpose().value();     //[ [1] ]\n\n\narray.transpose([[1, 2, 3],[4, 5, 6]]);             //[ [ 1, 4 ], [ 2, 5 ], [ 3, 6 ] ]\narray.transpose([[1, 2],[3, 4],[5, 6]]);            //[ [ 1, 3, 5 ], [ 2, 4, 6 ] ]\narray.transpose([[1],[3, 4],[5, 6]]);               //[ [1] ]\n```\n\n**`valuesAt`**\n\nGathers values and the specified indexes.\n\n```javascript\n\nvar arr = array([\"a\", \"b\", \"c\", \"d\"]);\narr.valuesAt(1, 2, 3).value();      //[\"b\", \"c\", \"d\"]\narr.valuesAt(1, 2, 3, 4).value();   //[\"b\", \"c\", \"d\", null]\narr.valuesAt(0, 3).value();         //[\"a\", \"d\"]\n\narr = [\"a\", \"b\", \"c\", \"d\"];\narray.valuesAt(arr, 1, 2, 3);       //[\"b\", \"c\", \"d\"]\narray.valuesAt(arr, 1, 2, 3, 4);    //[\"b\", \"c\", \"d\", null]\narray.valuesAt(arr, 0, 3);          //[\"a\", \"d\"]\n```\n\n**`union`**\n\nFinds the union of two arrays.\n\n```javascript\narray([\"a\", \"b\", \"c\"]).union([\"b\", \"c\", \"d\"]).value();  //[\"a\", \"b\", \"c\", \"d\"]);\narray([\"a\"]).union([\"b\"], [\"c\"], [\"d\"], [\"c\"]).value(); //[\"a\", \"b\", \"c\", \"d\"]);\n\narray.union([\"a\", \"b\", \"c\"], [\"b\", \"c\", \"d\"]);          //[\"a\", \"b\", \"c\", \"d\"]);\narray.union([\"a\"], [\"b\"], [\"c\"], [\"d\"], [\"c\"]);         //[\"a\", \"b\", \"c\", \"d\"]);\n```\n\n**`intersect`**\n\nFinds the intersection of two arrays.\n\n```javascript\narray([1, 2]).intersect([2, 3], [2, 3, 5]).value();                     //[2]);\narray([1, 2, 3]).intersect([2, 3, 4, 5], [2, 3, 5]).value();            //[2, 3]);\narray([1, 2, 3, 4]).intersect([2, 3, 4, 5], [2, 3, 4, 5]).value();      //[2, 3, 4]);\narray([1, 2, 3, 4, 5]).intersect([1, 2, 3, 4, 5], [1, 2, 3]).value();   //[1, 2, 3]);\narray([[1, 2, 3, 4, 5],[1, 2, 3, 4, 5],[1, 2, 3]]).intersect().value(); //[1, 2, 3]);\n\narray.intersect([1, 2], [2, 3], [2, 3, 5]);                             //[2]\narray.intersect([1, 2, 3], [2, 3, 4, 5], [2, 3, 5]);                    //[2, 3]\narray.intersect([1, 2, 3, 4], [2, 3, 4, 5], [2, 3, 4, 5]);              //[2, 3, 4]\narray.intersect([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3]);           //[1, 2, 3]);\narray.intersect([[1, 2, 3, 4, 5],[1, 2, 3, 4, 5], [1, 2, 3]]);          //[1, 2, 3]);\n```\n\n**`powerSet`**\n\nFinds the powerset of a given array.\n\n```javascript\narray([1, 2, 3]).powerSet().value();\narray.powerSet([1, 2, 3]);\n//[\n//  [],\n//  [ 1 ],\n//  [ 2 ],\n//  [ 1, 2 ],\n//  [ 3 ],\n//  [ 1, 3 ],\n//  [ 2, 3 ],\n//  [ 1, 2, 3 ]\n//]\n```\n\n**`cartesian`**\n\nFinds the cartesian product of arrays.\n\n```javascript\narray([1, 2]).cartesian([2, 3]).value();\narray.cartesian([1, 2], [2, 3]);\n//[\n//  [1, 2],\n//  [1, 3],\n//  [2, 2],\n//  [2, 3]\n//]\n```\n\n**`compact`**\n\nCompacts the values of an array.\n\n```javascript\narray([1, null, null, x, 2]).compact().value(); //[1, 2]\n\narray([1, 2]).compact().value();  //[1, 2]\n\n\narray.compact([1, null, null, x, 2]); //[1, 2]\narray.compact([1, 2]); //[1, 2]\n```\n\n**`multiply`**\n\nRepoduces the values in an array the given number of times.\n\n```javascript\narray([1, 2]).multiply(2).value(); //[1, 2, 1, 2, 1, 2]\n\narray.multiply([1, 2, 3], 2); //[1, 2, 3, 1, 2, 3]\n```\n\n**`flatten`**\n\nFlatten multiple arrays into a single array.\n\n```javascript\n\narray([ [1], [2], [3] ]).flatten().value(); //[1, 2, 3]\n\narray.flatten([1, 2], [2, 3], [3, 4]); //[1, 2, 2, 3, 3, 4]\n\n```\n\n**`pluck`**\n\nPluck properties from values in an array.\n\n```javascript\nvar arr = [\n    {name: {first: \"Fred\", last: \"Jones\"}, age: 50, roles: [\"a\", \"b\", \"c\"]},\n    {name: {first: \"Bob\", last: \"Yukon\"}, age: 40, roles: [\"b\", \"c\"]},\n    {name: {first: \"Alice\", last: \"Palace\"}, age: 35, roles: [\"c\"]},\n    {name: {first: \"Johnny\", last: \"P.\"}, age: 56, roles: []}\n];\n\narray.pluck(arr, \"name.first\"); //[\"Fred\", \"Bob\", \"Alice\", \"Johnny\"]\narray(arr).pluck(\"age\"); //[50, 40, 35, 56]\n\n```\n\n**`invoke`**\n\nInvokes the specified method on each value in an array.\n\n```javascript\n\nfunction person(name, age) {\n    return {\n        getName: function () {\n            return name;\n        },\n\n        getOlder: function () {\n            age++;\n            return this;\n        },\n\n        getAge: function () {\n            return age;\n        }\n    };\n};\n\nvar arr = [person(\"Bob\", 40), person(\"Alice\", 35), person(\"Fred\", 50), person(\"Johnny\", 56)];\n\narray.invoke(arr, \"getName\"); //[\"Bob\", \"Alice\", \"Fred\", \"Johnny\"];\narray(arr).invoke(\"getName\").value(); //[\"Bob\", \"Alice\", \"Fred\", \"Johnny\"];\n\narray(arr).invoke(\"getOlder\").invoke(\"getAge\").value(); //[41, 36, 51, 57];\n```\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/array-extended/issues"},"homepage":"https://github.com/doug-martin/array-extended","_id":"array-extended@0.0.11","_shasum":"d7144ae748de93ca726f121009dbff1626d164bd","_from":"array-extended@~0.0.5","_resolved":"https://registry.npmjs.org/array-extended/-/array-extended-0.0.11.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/test/array-extended.test.js","id":"array-extended/test/array-extended.test.js","options":{},"isModule":true,"requiredModules":["array-extended/index.js","it","assert"],"mtime":1396375044000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/array-extended/test/browserling.js","id":"array-extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","array-extended/test/array-extended.test.js"],"mtime":1358804619000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/date-extended/date-extended.min.js","id":"date-extended/date-extended.min.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","array-extended/index.js"],"mtime":1396375110000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/date-extended/Gruntfile.js","id":"date-extended/Gruntfile.js","options":{},"isModule":true,"mtime":1366125814000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/date-extended/index.js","id":"date-extended/index.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","array-extended/index.js"],"mtime":1370408748000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/date-extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/date-extended/package.json","data":{"name":"date-extended","version":"0.0.6","description":"Additional date extensions with a chainable api","main":"index.js","scripts":{"test":"it -r dot"},"repository":{"type":"git","url":"git:git@github.com:doug-martin/date-extended.git"},"keywords":["Date","extender","utilities"],"testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3","is-extended":"~0.0.3","array-extended":"~0.0.3"},"devDependencies":{"it":"~0.2.0","grunt-it":"~0.3.0","grunt-contrib-uglify":"~0.2.0","grunt":"~0.4.1","grunt-contrib-jshint":"~0.4.3"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/date-extended.png?branch=master)]((https://travis-ci.org/doug-martin/date-extended)\n\n[![browser support](https://ci.testling.com/doug-martin/date-extended.png)](https://ci.testling.com/doug-martin/date-extended)\n\n# date-extended\n\n`date-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar date = require(\"date-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"date-extended\"));\n```\n\n## Installation\n\n```\nnpm install date-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/date-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/date-extended/master/date-extended.min.js))\n\n## Usage\n\n\n**`getDaysInMonth`**\n\nReturns the number of days in the month of a date\n\n```javascript\n\n date.getDaysInMonth(new Date(2006, 1, 1)); //28\n date.getDaysInMonth(new Date(2004, 1, 1)); //29\n date.getDaysInMonth(new Date(2006, 2, 1)); //31\n date.getDaysInMonth(new Date(2006, 3, 1)); //30\n\n\n date(new Date(2006, 4, 1)).getDaysInMonth().value(); //31\n date(new Date(2006, 5, 1)).getDaysInMonth().value(); //30\n date(new Date(2006, 6, 1)).getDaysInMonth(); //31\n```\n\n**`isLeapYear`**\n\nDetermines if a date is a leap year\n\n```javascript\n\n date.isLeapYear(new Date(1600, 0, 1)); //true\n date.isLeapYear(new Date(2006, 0, 1)); //false\n date.isLeapYear(new Date(2004, 0, 1)); //true\n\n date(new Date(1900, 0, 1)).isLeapYear(); //false\n date(new Date(2000, 0, 1)).isLeapYear(); //true\n date(new Date(1800, 0, 1)).isLeapYear(); //false\n```\n\n**`isWeekend`**\n\nDetermines if a date is on a weekend\n\n```javascript\n\nvar thursday = new Date(2006, 8, 21);\ndate.isWeekend(thursday)); //false\n\nvar saturday = new Date(2006, 8, 23);\ndate(saturday).isWeekend(); //true\n\nvar sunday = new Date(2006, 8, 24);\ndate.isWeekend(sunday); //true\n\nvar monday = new Date(2006, 8, 25);\ndate(monday).isWeekend()); //false\n```\n\n**`getTimezoneName`**\nGet the timezone of a date\n\n**`compare`**\nCompares two dates\n\n```javascript\n\nvar d1 = new Date();\nd1.setHours(0);\ndate.compare(d1, d1); // 0\n\nvar d1 = new Date(), d2 = new Date();\nd1.setHours(0);\nd2.setFullYear(2005);\nd2.setHours(12);\n\ndate.compare(d1, d2, \"date\"); // 1\ndate(d1).compare(d2, \"datetime\"); // 1\n\nvar d1 = new Date(), d2 = new Date();\nd1.setHours(0);\nd2.setFullYear(2005);\nd2.setHours(12);\n\ndate(d2).compare(d1, \"date\"); // -1\ndate(d1).compare(d2, \"time\"); //-1\n```\n\n**`add`**\n\nAdds a specified interval and amount to a date\n\n * day | days\n * weekday | weekdays\n * year | years\n * week | weeks\n * quarter | quarters\n * months | months\n * hour | hours\n * minute | minutes\n * second | seconds\n * millisecond | milliseconds\n\n```javascript\nvar dtA = new Date(2005, 11, 27);\ndate.add(dtA, \"year\", 1); //new Date(2006, 11, 27);\ndate(dtA).add(\"years\", 1).value(); //new Date(2006, 11, 27);\n\ndtA = new Date(2000, 0, 1);\ndate.add(dtA, \"quarter\", 1); //new Date(2000, 3, 1);\ndate(dtA).add(\"quarters\", 1).value(); //new Date(2000, 3, 1);\n\ndtA = new Date(2000, 0, 1);\ndate.add(dtA, \"month\", 1); //new Date(2000, 1, 1);\ndate(dtA).add(\"months\", 1).value(); //new Date(2000, 1, 1);\n\ndtA = new Date(2000, 0, 31);\ndate.add(dtA, \"month\", 1); //new Date(2000, 1, 29);\ndate(dtA).add(\"months\", 1).value(); //new Date(2000, 1, 29);\n\ndtA = new Date(2000, 0, 1);\ndate.add(dtA, \"week\", 1); //new Date(2000, 0, 8);\ndate(dtA).add(\"weeks\", 1).value(); //new Date(2000, 0, 8);\n\ndtA = new Date(2000, 0, 1);\ndate(dtA).add(\"day\", 1).value(); //new Date(2000, 0, 2);\n\ndtA = new Date(2000, 0, 1);\ndate(dtA).add(\"weekday\", 1); //new Date(2000, 0, 3);\n\ndtA = new Date(2000, 0, 1, 11);\ndate(dtA).add(\"hour\", 1).value(); //new Date(2000, 0, 1, 12);\n\ndtA = new Date(2000, 11, 31, 23, 59);\ndate.add(dtA, \"minute\", 1); //new Date(2001, 0, 1, 0, 0);\n\ndtA = new Date(2000, 11, 31, 23, 59, 59);\ndate.add(dtA, \"second\", 1); //new Date(2001, 0, 1, 0, 0, 0);\n\ndtA = new Date(2000, 11, 31, 23, 59, 59, 999);\ndate.add(dtA, \"millisecond\", 1); //new Date(2001, 0, 1, 0, 0, 0, 0);\n```\n\n**`difference`**\n\nFinds the difference between two dates based on the specified interval\n\n * day | days\n * weekday | weekdays\n * year | years\n * week | weeks\n * quarter | quarters\n * months | months\n * hour | hours\n * minute | minutes\n * second | seconds\n * millisecond | milliseconds\n\n```javascript\n\nvar dtA, dtB;\n\ndtA = new Date(2005, 11, 27);\ndtB = new Date(2006, 11, 27);\ndate.difference(dtA, dtB, \"year\"); //1\n\ndtA = new Date(2000, 1, 29);\ndtB = new Date(2001, 2, 1);\ndate.difference(dtA, dtB, \"quarter\"); //4\ndate(dtA).difference(dtB, \"month\").value(); //13\n\ndtA = new Date(2000, 1, 1);\ndtB = new Date(2000, 1, 8);\ndate.difference(dtA, dtB, \"week\"); //1\n\ndtA = new Date(2000, 1, 29);\ndtB = new Date(2000, 2, 1);\ndate(dtA).difference(dtB, \"day\").value(); //1\n\ndtA = new Date(2006, 7, 3);\ndtB = new Date(2006, 7, 11);\ndate.difference(dtA, dtB, \"weekday\"); //6\n\ndtA = new Date(2000, 11, 31, 23);\ndtB = new Date(2001, 0, 1, 0);\ndate(dtA).difference(dtB, \"hour\").value(); //1\n\ndtA = new Date(2000, 11, 31, 23, 59);\ndtB = new Date(2001, 0, 1, 0, 0);\ndate.difference(dtA, dtB, \"minute\"); //1\n\ndtA = new Date(2000, 11, 31, 23, 59, 59);\ndtB = new Date(2001, 0, 1, 0, 0, 0);\ndate(dtA).difference(dtB, \"second\").value(); //1\n\ndtA = new Date(2000, 11, 31, 23, 59, 59, 999);\ndtB = new Date(2001, 0, 1, 0, 0, 0, 0);\ndate.difference(dtA, dtB, \"millisecond\"); //1\n````\n\n\n**`format`**\n\nFormats a date to the specified format string\n\n * `G`    Era designator    Text    AD\n * `y`    Year    Year    1996; 96\n * `M`    Month in year    Month    July; Jul; 07\n * `w`    Week in year    Number    27\n * `W`    Week in month    Number    2\n * `D`    Day in year    Number    189\n * `d`    Day in month    Number    10\n * `E`    Day in week    Text    Tuesday; Tue\n * `a`    Am/pm marker    Text    PM\n * `H`    Hour in day (0-23)    Number    0\n * `k`    Hour in day (1-24)    Number    24\n * `K`    Hour in am/pm (0-11)    Number    0\n * `h`    Hour in am/pm (1-12)    Number    12\n * `m`    Minute in hour    Number    30\n * `s`    Second in minute    Number    55\n * `S`    Millisecond    Number    978\n * `z`    Time zone    General time zone    Pacific Standard Time; PST; GMT-08:00\n * `Z`    Time zone    RFC 822 time zone    -0800 \n\n```javascript\nvar date = new Date(2006, 7, 11, 0, 55, 12, 345);\ndate.format(date, \"EEEE, MMMM dd, yyyy\"); //\"Friday, August 11, 2006\"\ndate(date).format(\"M/dd/yy\").value(); //\"8/11/06\"\ndate.format(date, \"E\"); //\"6\"\ndate(date).format(\"h:m a\").value(); //\"12:55 AM\"\ndate.format(date, 'h:m:s'); //\"12:55:12\"\ndate(date).format('h:m:s.SS').value(); //\"12:55:12.35\"\ndate.format(date, 'k:m:s.SS'); //\"24:55:12.35\"\ndate(date).format('H:m:s.SS').value(); //\"0:55:12.35\"\ndate.format(date, \"ddMMyyyy\"); //\"11082006\"\n```\n\n**`parseDate`**\n\nParses a date string into a date object\n\n * `G`    Era designator    Text    AD\n * `y`    Year    Year    1996; 96\n * `M`    Month in year    Month    July; Jul; 07\n * `w`    Week in year    Number    27\n * `W`    Week in month    Number    2\n * `D`    Day in year    Number    189\n * `d`    Day in month    Number    10\n * `E`    Day in week    Text    Tuesday; Tue\n * `a`    Am/pm marker    Text    PM\n * `H`    Hour in day (0-23)    Number    0\n * `k`    Hour in day (1-24)    Number    24\n * `K`    Hour in am/pm (0-11)    Number    0\n * `h`    Hour in am/pm (1-12)    Number    12\n * `m`    Minute in hour    Number    30\n * `s`    Second in minute    Number    55\n * `S`    Millisecond    Number    978\n * `z`    Time zone    General time zone    Pacific Standard Time; PST; GMT-08:00\n * `Z`    Time zone    RFC 822 time zone    -0800\n\n```javascript\n var aug_11_2006 = new Date(2006, 7, 11, 0);\n date.parse(\"08/11/06\", \"MM/dd/yy\"); //aug_11_2006\n date.parse(\"11Aug2006\", 'ddMMMyyyy'); //aug_11_2006\n date.parse(\"Aug2006\", 'MMMyyyy'); //new Date(2006, 7, 1)\n date.parse(\"Aug 11, 2006\", \"MMM dd, yyyy\"); //aug_11_2006\n date.parse(\"August 11, 2006\", \"MMMM dd, yyyy\"); //aug_11_2006\n date.parse(\"Friday, August 11, 2006\", \"EEEE, MMMM dd, yyyy\"); //aug_11_2006\n```\n\n\n\n**FromNow and Ago**\n\nThe following are convenience methods for adding ad subtracting intervals from the current date.\n\n* `yearsFromNow` \n* `yearsAgo`\n* `monthsFromNow`\n* `monthsAgo`\n* `daysFromNow`\n* `daysAgo`\n* `hoursFromNow`\n* `hoursAgo`\n* `minutesFromNow`\n* `minutesAgo`\n* `secondsFromNow`\n* `secondsAgo`\n\n```javascript\n//two years ago\ndate(2).yearsAgo();\ndate.yearsAgo(2)\n\n//five hours from now\ndate(5).hoursFromNow();\ndate.hoursFromNow(5);\n\n//two seconds ago\ndate(2).secondsAgo();\ndate.secondsAgo(2)\n```","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/date-extended/issues"},"homepage":"https://github.com/doug-martin/date-extended","_id":"date-extended@0.0.6","_shasum":"23802d57dd1bf7818813fe0c32e851a86da267c9","_from":"date-extended@~0.0.3","_resolved":"https://registry.npmjs.org/date-extended/-/date-extended-0.0.6.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/date-extended/test/browserling.js","id":"date-extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","date-extended/test/date-extended.test.js"],"mtime":1358804629000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/node_modules/date-extended/test/date-extended.test.js","id":"date-extended/test/date-extended.test.js","options":{},"isModule":true,"requiredModules":["it","assert","date-extended/index.js"],"mtime":1366126657000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/package.json","data":{"name":"string-extended","version":"0.0.8","description":"Additional string extensions with a chainable api","main":"index.js","scripts":{"test":"it -r dot"},"repository":{"type":"git","url":"git:git@github.com:doug-martin/string-extended.git"},"keywords":["String","extender","utilities"],"testling":{"files":"test/browserling.js","browsers":["ie/8..latest","chrome/20..latest","firefox/14..latest","safari/latest","iphone/6","ipad/6"]},"author":{"name":"Doug Martin"},"license":"MIT","dependencies":{"extended":"~0.0.3","is-extended":"~0.0.3","date-extended":"~0.0.3","array-extended":"~0.0.5"},"devDependencies":{"it":"~0.2.0","grunt":"~0.4.1","grunt-it":"~0.3.0","grunt-contrib-uglify":"~0.2.0","grunt-contrib-jshint":"~0.4.3"},"readme":"[![Build Status](https://travis-ci.org/doug-martin/string-extended.png?branch=master)](https://travis-ci.org/doug-martin/string-extended)\n\n[![browser support](https://ci.testling.com/doug-martin/string-extended.png)](http://ci.testling.com/doug-martin/string-extended)\n\n# string-extended\n\n`string-extended` is a Javascript library that can be used standalone or incorporated into [`extended`](https://github.com/doug-martin/extended)\n\n```javascript\nvar string = require(\"string-extended\");\n```\n\nOr\n\n```javascript\nvar myextended = require(\"extended\")\n\t.register(require(\"string-extended\"));\n```\n\n## Installation\n\n```\nnpm install string-extended\n```\n\nOr [download the source](https://raw.github.com/doug-martin/string-extended/master/index.js) ([minified](https://raw.github.com/doug-martin/string-extended/master/string-extended.min.js))\n\n## Usage\n\n**`toArray`**\n\n Converts a string to an array\n\n```javascript\n\nstring.toArray(\"a|b|c|d\", \"|\") => [\"a\",\"b\",\"c\",\"d\"]\nstring.toArray(\"a\", \"|\") => [\"a\"]\nstring.toArray(\"\", \"|\") => []\n```\n\n**`pad`**\n\nPads a string\n\n```javascript\n\n//pad at the end\nstring.pad(\"STR\", 5, \" \", true) => \"STR  \"\n\n//pad at the beginning\nstring.pad(\"STR\", 5, \"$\") => \"$$STR\"\n```\n\n**`truncate`**\n\nTruncates a string to the specified length.\n\n```javascript\n//from the beginning\nstring.truncate(\"abcdefg\", 3) => \"abc\";\n//from the end\nstring.truncate(\"abcdefg\", 3,true) => \"efg\"\n//omit the length\nstring.truncate(\"abcdefg\") => \"abcdefg\"\n```\n\n**`multiply`**\n\nReturns a string duplicated n times\n\n```javascript\nstring.multiply(\"HELLO\", 5) => \"HELLOHELLOHELLOHELLOHELLO\"\n```\n\n\n**`escape`**\n\nEscapes a string so that it can safely be used in a RegExp.\n\n```javascript\nstringExtended.escape(\".$?*|{}()[]\\/+^\"); \"//\\.\\$\\?\\*\\|\\{\\}\\(\\)\\[\\]\\/\\+\\^\"\n\nstringExtended(\".$?*|{}()[]\\/+^\").escape().value(); \"//\\.\\$\\?\\*\\|\\{\\}\\(\\)\\[\\]\\/\\+\\^\"\n```\n\nYou can also specify an optional array of characters to ignore when escaping.\n\n```javascript\nstringExtended.escape(\".$?*|{}()[]\\/+^\", [\".\", \"?\", \"{\", \"[\"]); //\".\\$?\\*\\|{\\}\\(\\)[\\]\\/\\+\\^\"\nstringExtended(\".$?*|{}()[]\\/+^\").escape([\".\", \"?\", \"{\", \"[\"]).value(); //\".\\$?\\*\\|{\\}\\(\\)[\\]\\/\\+\\^\"\n```\n\n**`trim`**\nTrims white space characters from the beginning and end of a string.\n\n```javascript\nstringExtended.trim(\"   Hello World   \"); //\"Hello World\"\n\nstringExtended(\"   Hello World   \").trim().value(); //\"Hello World\"\n```\n\n**`trimLeft`**\n\nTrims white space characters from the beginning of a string.\n\n```javascript\nstringExtended.trimLeft(\"   Hello World   \"); //\"Hello World   \"\n\nstringExtended(\"   Hello World   \").trimLeft().value(); //\"Hello World   \"\n```\n\n**`trimRight`**\n\nTrims white space characters from the end of a string.\n\n```javascript\nstringExtended.trimLeft(\"   Hello World   \"); //\"   Hello World\"\n\nstringExtended(\"   Hello World   \").trimLeft().value(); //\"   Hello World\"\n```\n\n**`format`**\n\nFormats a string with the specified format.\n\n \n1. String Formats %[options]s\n   * - : left justified\n   * Char : padding character **Excludes d,j,s**\n   * Number : width\n         \n2. Number Formats %[options]d\n   * - : left justified\n   * + : signed number\n   * Char : padding character **Excludes d,j,s**\n   * Number : width         \n3. Object Formats %[options]j\n   * Number : spacing for object properties.     \n\n```javascript\nvar format = string.format;\n\nformat(\"%s, %s\", [\"Hello\", \"World\"]) => \"Hello, World\";\n\nformat(\"%[ 10]s, %[- 10]s\", [\"Hello\", \"World\"]); //\"     Hello, World     \";\n\nformat(\"%-!10s, %#10s, %10s and %-10s\", \"apple\", \"orange\", \"bananas\", \"watermelons\")\n     //\"apple!!!!!, ####orange,    bananas and watermelon\"\n\nformat(\"%+d, %+d, %10d, %-10d, %-+#10d, %10d\", 1,-2, 1, 2, 3, 100000000000)\n     //\"+1, -2, 0000000001, 2000000000, +3########, 1000000000\"\n\nformat(\"%[h:mm a]D\", [date]) => 7:32 PM - local -\n\nformat(\"%[h:mm a]Z\", [date]) => 12:32 PM - UTC\n\n //When using object formats they must be in an array otherwise\n //format will try to interpolate the properties into the string.\nformat(\"%j\", [{a : \"b\"}]); //'{\"a\":\"b\"}'\n\nformat(\"%1j, %4j\", [{a : \"b\"}, {a : \"b\"}]); //'{\\n \"a\": \"b\"\\n},\\n{\\n    \"a\": \"b\"\\n}'\n\nformat(\"{hello}, {world}\", {hello : \"Hello\", world : \"World\"); //\"Hello, World\";\n\nformat({[-s10]apple}, {[%#10]orange}, {[10]banana} and {[-10]watermelons}\",{\n    apple : \"apple\",\n    orange : \"orange\",\n    banana : \"bananas\",\n    watermelons : \"watermelons\"\n}); //\"applesssss, ####orange,    bananas and watermelon\"\n```     \n\n\n\n\n**`style`**\n\nStyles a string according to the specified styles.\n\n* bold\n* bright\n* italic\n* underline\n* inverse\n* crossedOut\n* blink\n* red\n* green\n* yellow\n* blue\n* magenta\n* cyan\n* white\n* redBackground\n* greenBackground\n* yellowBackground\n* blueBackground\n* magentaBackground\n* cyanBackground\n* whiteBackground\n* grey\n* black\n\n\n```javascript\n//style a string red\nstring.style('myStr', 'red');\n//style a string red and bold\nstring.style('myStr', ['red', bold]);\n```\n\n\n**`characters`**\n\n* `SMILEY` : `☺`\n* `SOLID_SMILEY` : `☻`\n* `HEART` : `♥`\n* `DIAMOND` : `♦`\n* `CLOVE` : `♣`\n* `SPADE` : `♠`\n* `DOT` : `•`\n* `SQUARE_CIRCLE` : `◘`\n* `CIRCLE` : `○`\n* `FILLED_SQUARE_CIRCLE` : `◙`\n* `MALE` : `♂`\n* `FEMALE` : `♀`\n* `EIGHT_NOTE` : `♪`\n* `DOUBLE_EIGHTH_NOTE` : `♫`\n* `SUN` : `☼`\n* `PLAY` : `►`\n* `REWIND` : `◄`\n* `UP_DOWN` : `↕`\n* `PILCROW` : `¶`\n* `SECTION` : `§`\n* `THICK_MINUS` : `▬`\n* `SMALL_UP_DOWN` : `↨`\n* `UP_ARROW` : `↑`\n* `DOWN_ARROW` : `↓`\n* `RIGHT_ARROW` : `→`\n* `LEFT_ARROW` : `←`\n* `RIGHT_ANGLE` : `∟`\n* `LEFT_RIGHT_ARROW` : `↔`\n* `TRIANGLE` : `▲`\n* `DOWN_TRIANGLE` : `▼`\n* `HOUSE` : `⌂`\n* `C_CEDILLA` : `Ç`\n* `U_UMLAUT` : `ü`\n* `E_ACCENT` : `é`\n* `A_LOWER_CIRCUMFLEX` : `â`\n* `A_LOWER_UMLAUT` : `ä`\n* `A_LOWER_GRAVE_ACCENT` : `à`\n* `A_LOWER_CIRCLE_OVER` : `å`\n* `C_LOWER_CIRCUMFLEX` : `ç`\n* `E_LOWER_CIRCUMFLEX` : `ê`\n* `E_LOWER_UMLAUT` : `ë`\n* `E_LOWER_GRAVE_ACCENT` : `è`\n* `I_LOWER_UMLAUT` : `ï`\n* `I_LOWER_CIRCUMFLEX` : `î`\n* `I_LOWER_GRAVE_ACCENT` : `ì`\n* `A_UPPER_UMLAUT` : `Ä`\n* `A_UPPER_CIRCLE` : `Å`\n* `E_UPPER_ACCENT` : `É`\n* `A_E_LOWER` : `æ`\n* `A_E_UPPER` : `Æ`\n* `O_LOWER_CIRCUMFLEX` : `ô`\n* `O_LOWER_UMLAUT` : `ö`\n* `O_LOWER_GRAVE_ACCENT` : `ò`\n* `U_LOWER_CIRCUMFLEX` : `û`\n* `U_LOWER_GRAVE_ACCENT` : `ù`\n* `Y_LOWER_UMLAUT` : `ÿ`\n* `O_UPPER_UMLAUT` : `Ö`\n* `U_UPPER_UMLAUT` : `Ü`\n* `CENTS` : `¢`\n* `POUND` : `£`\n* `YEN` : `¥`\n* `CURRENCY` : `¤`\n* `PTS` : `₧`\n* `FUNCTION` : `ƒ`\n* `A_LOWER_ACCENT` : `á`\n* `I_LOWER_ACCENT` : `í`\n* `O_LOWER_ACCENT` : `ó`\n* `U_LOWER_ACCENT` : `ú`\n* `N_LOWER_TILDE` : `ñ`\n* `N_UPPER_TILDE` : `Ñ`\n* `A_SUPER` : `ª`\n* `O_SUPER` : `º`\n* `UPSIDEDOWN_QUESTION` : `¿`\n* `SIDEWAYS_L` : `⌐`\n* `NEGATION` : `¬`\n* `ONE_HALF` : `½`\n* `ONE_FOURTH` : `¼`\n* `UPSIDEDOWN_EXCLAMATION` : `¡`\n* `DOUBLE_LEFT` : `«`\n* `DOUBLE_RIGHT` : `»`\n* `LIGHT_SHADED_BOX` : `░`\n* `MEDIUM_SHADED_BOX` : `▒`\n* `DARK_SHADED_BOX` : `▓`\n* `VERTICAL_LINE` : `│`\n* `MAZE__SINGLE_RIGHT_T` : `┤`\n* `MAZE_SINGLE_RIGHT_TOP` : `┐`\n* `MAZE_SINGLE_RIGHT_BOTTOM_SMALL` : `┘`\n* `MAZE_SINGLE_LEFT_TOP_SMALL` : `┌`\n* `MAZE_SINGLE_LEFT_BOTTOM_SMALL` : `└`\n* `MAZE_SINGLE_LEFT_T` : `├`\n* `MAZE_SINGLE_BOTTOM_T` : `┴`\n* `MAZE_SINGLE_TOP_T` : `┬`\n* `MAZE_SINGLE_CENTER` : `┼`\n* `MAZE_SINGLE_HORIZONTAL_LINE` : `─`\n* `MAZE_SINGLE_RIGHT_DOUBLECENTER_T` : `╡`\n* `MAZE_SINGLE_RIGHT_DOUBLE_BL` : `╛`\n* `MAZE_SINGLE_RIGHT_DOUBLE_T` : `╢`\n* `MAZE_SINGLE_RIGHT_DOUBLEBOTTOM_TOP` : `╖`\n* `MAZE_SINGLE_RIGHT_DOUBLELEFT_TOP` : `╕`\n* `MAZE_SINGLE_LEFT_DOUBLE_T` : `╞`\n* `MAZE_SINGLE_BOTTOM_DOUBLE_T` : `╧`\n* `MAZE_SINGLE_TOP_DOUBLE_T` : `╤`\n* `MAZE_SINGLE_TOP_DOUBLECENTER_T` : `╥`\n* `MAZE_SINGLE_BOTTOM_DOUBLECENTER_T` : `╨`\n* `MAZE_SINGLE_LEFT_DOUBLERIGHT_BOTTOM` : `╘`\n* `MAZE_SINGLE_LEFT_DOUBLERIGHT_TOP` : `╒`\n* `MAZE_SINGLE_LEFT_DOUBLEBOTTOM_TOP` : `╓`\n* `MAZE_SINGLE_LEFT_DOUBLETOP_BOTTOM` : `╙`\n* `MAZE_SINGLE_LEFT_TOP` : `Γ`\n* `MAZE_SINGLE_RIGHT_BOTTOM` : `╜`\n* `MAZE_SINGLE_LEFT_CENTER` : `╟`\n* `MAZE_SINGLE_DOUBLECENTER_CENTER` : `╫`\n* `MAZE_SINGLE_DOUBLECROSS_CENTER` : `╪`\n* `MAZE_DOUBLE_LEFT_CENTER` : `╣`\n* `MAZE_DOUBLE_VERTICAL` : `║`\n* `MAZE_DOUBLE_RIGHT_TOP` : `╗`\n* `MAZE_DOUBLE_RIGHT_BOTTOM` : `╝`\n* `MAZE_DOUBLE_LEFT_BOTTOM` : `╚`\n* `MAZE_DOUBLE_LEFT_TOP` : `╔`\n* `MAZE_DOUBLE_BOTTOM_T` : `╩`\n* `MAZE_DOUBLE_TOP_T` : `╦`\n* `MAZE_DOUBLE_LEFT_T` : `╠`\n* `MAZE_DOUBLE_HORIZONTAL` : `═`\n* `MAZE_DOUBLE_CROSS` : `╬`\n* `SOLID_RECTANGLE` : `█`\n* `THICK_LEFT_VERTICAL` : `▌`\n* `THICK_RIGHT_VERTICAL` : `▐`\n* `SOLID_SMALL_RECTANGLE_BOTTOM` : `▄`\n* `SOLID_SMALL_RECTANGLE_TOP` : `▀`\n* `PHI_UPPER` : `Φ`\n* `INFINITY` : `∞`\n* `INTERSECTION` : `∩`\n* `DEFINITION` : `≡`\n* `PLUS_MINUS` : `±`\n* `GT_EQ` : `≥`\n* `LT_EQ` : `≤`\n* `THEREFORE` : `⌠`\n* `SINCE` : `∵`\n* `DOESNOT_EXIST` : `∄`\n* `EXISTS` : `∃`\n* `FOR_ALL` : `∀`\n* `EXCLUSIVE_OR` : `⊕`\n* `BECAUSE` : `⌡`\n* `DIVIDE` : `÷`\n* `APPROX` : `≈`\n* `DEGREE` : `°`\n* `BOLD_DOT` : `∙`\n* `DOT_SMALL` : `·`\n* `CHECK` : `√`\n* `ITALIC_X` : `✗`\n* `SUPER_N` : `ⁿ`\n* `SQUARED` : `²`\n* `CUBED` : `³`\n* `SOLID_BOX` : `■`\n* `PERMILE` : `‰`\n* `REGISTERED_TM` : `®`\n* `COPYRIGHT` : `©`\n* `TRADEMARK` : `™`\n* `BETA` : `β`\n* `GAMMA` : `γ`\n* `ZETA` : `ζ`\n* `ETA` : `η`\n* `IOTA` : `ι`\n* `KAPPA` : `κ`\n* `LAMBDA` : `λ`\n* `NU` : `ν`\n* `XI` : `ξ`\n* `OMICRON` : `ο`\n* `RHO` : `ρ`\n* `UPSILON` : `υ`\n* `CHI_LOWER` : `φ`\n* `CHI_UPPER` : `χ`\n* `PSI` : `ψ`\n* `ALPHA` : `α`\n* `ESZETT` : `ß`\n* `PI` : `π`\n* `SIGMA_UPPER` : `Σ`\n* `SIGMA_LOWER` : `σ`\n* `MU` : `µ`\n* `TAU` : `τ`\n* `THETA` : `Θ`\n* `OMEGA` : `Ω`\n* `DELTA` : `δ`\n* `PHI_LOWER` : `φ`\n* `EPSILON` : \"ε\"","readmeFilename":"README.md","bugs":{"url":"https://github.com/doug-martin/string-extended/issues"},"homepage":"https://github.com/doug-martin/string-extended","_id":"string-extended@0.0.8","_shasum":"741957dff487b0272a79eec5a44f239ee6f17ccd","_from":"string-extended@0.0.8","_resolved":"https://registry.npmjs.org/string-extended/-/string-extended-0.0.8.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/string-extended.min.js","id":"string-extended/string-extended.min.js","options":{},"isModule":true,"requiredModules":["extended/index.js","is-extended/index.js","date-extended/index.js","array-extended/index.js"],"mtime":1396038270000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/test/browserling.js","id":"string-extended/test/browserling.js","options":{},"isModule":true,"requiredModules":["it","string-extended/test/string-extended.test.js"],"mtime":1358804681000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/node_modules/string-extended/test/string-extended.test.js","id":"string-extended/test/string-extended.test.js","options":{},"isModule":true,"requiredModules":["it","assert","string-extended/index.js","array-extended/index.js","date-extended/index.js"],"mtime":1368947134000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fast-csv/package.json","data":{"name":"fast-csv","version":"0.4.4","description":"CSV parser and writer","main":"index.js","scripts":{"test":"grunt jshint it"},"repository":{"type":"git","url":"git@github.com:C2FO/fast-csv.git"},"keywords":["csv","parser","fast","writer","csv writer","CSV"],"homepage":"http://c2fo.github.com/fast-csv/index.html","author":{"name":"Doug Martin"},"license":"MIT","devDependencies":{"it":"~0.2.6","grunt-it":"~0.3.1","grunt":"~0.4.1","grunt-contrib-jshint":"~0.10.0","grunt-exec":"^0.4.5"},"engines":{"node":">=0.10"},"dependencies":{"is-extended":"0.0.10","object-extended":"0.0.7","extended":"0.0.6","string-extended":"0.0.8"},"readme":"[![build status](https://secure.travis-ci.org/C2FO/fast-csv.png)](http://travis-ci.org/C2FO/fast-csv)\n# Fast-csv\n\nThis is a library that provides CSV parsing and formatting.\n\n**NOTE** As of v0.2.0 `fast-csv` supports multi-line values.\n\n## Installation\n\n`npm install fast-csv`\n\n## Usage\n\n### Parsing\n\nAll methods accept the following `options`\n\n* `objectMode=true`: Ensure that `data` events have an object emitted rather than the stringified version set to false to have a stringified buffer.\n* `headers=false`: Ste to true if you expect the first line of your `CSV` to contain headers, alternatly you can specify an array of headers to use.\n* `ignoreEmpty=false`: If you wish to ignore empty rows.\n* `discardUnmappedColumns=false`: If you want to discard columns that do not map to a header.\n* `delimiter=','`: If your data uses an alternate delimiter such as `;` or `\\t`.\n   * **NOTE** When specifying an alternate `delimiter` you may only pass in a single character delimiter\n* `quote='\"'`: The character to use to escape values that contain a delimiter.\n* `escape='\"'`: The character to use when escaping a value that is `quoted` and contains a `quote` character.\n    * `i.e`: 'First,\"Name\"' => '\"First,\"\"name\"\"\"'\n* The following are options for parsing only.\n  * `trim=false`: If you want to trim all values parsed set to true.\n  * `rtrim=false`: If you want to right trim all values parsed set to true.\n  * `ltrim=false`: If you want to left trim all values parsed set to true.\n  * `comment=null`: If your CSV contains comments you can use this option to ignore lines that begin with the specified character (e.g. `#`).\n\n\n**events**\n\n* `record`: Emitted when a record is parsed.\n* `data-invalid`: Emitted if there was invalid row encounted, **only emitted if the `validate` function is used**.\n* `data`: Emitted with the object or `stringified` version if the `objectMode` is set to `false`.\n\n**([options])**\n\nIf you use `fast-csv` as a function it returns a transform stream that can be piped into.\n\n```javascript\nvar stream = fs.createReadStream(\"my.csv\");\n\nvar csvStream = csv()\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n\nstream.pipe(csvStream);\n```\n\n**`.fromPath(path[, options])`**\n\nThis method parses a file from the specified path.\n\n```javascript\nvar csv = require(\"fast-csv\");\n\ncsv\n .fromPath(\"my.csv\")\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n```\n\n**`.fromString(string[, options])`**\n\nThis method parses a string\n\n```javascript\nvar csv = require(\"fast-csv\");\n\nvar CSV_STRING = 'a,b\\n' +\n                 'a1,b1\\n' +\n                 'a2,b2\\n';\n\ncsv\n .fromString(CSV_STRING, {headers: true})\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n```\n\n**`.fromStream(stream[, options])`**\n\nThis accepted a readable stream to parse data from.\n\n```javascript\nvar stream = fs.createReadStream(\"my.csv\");\n\ncsv()\n .fromStream(stream)\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n```\n\nIf you expect the first line your csv to headers you may pass a headers option in. Setting the headers option will\ncause change each row to an object rather than an array.\n\n```javascript\nvar stream = fs.createReadStream(\"my.csv\");\n\ncsv()\n .fromStream(stream, {headers : true})\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n\n```\n\nYou may alternatively pass an array of header names which must match the order of each column in the csv, otherwise\nthe data columns will not match.\n\n```javascript\nvar stream = fs.createReadStream(\"my.csv\");\n\ncsv\n .fromStream(stream, {headers : [\"firstName\", \"lastName\", \"address\"]})\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n\n```\n\nIf your data may include empty rows, the sort Excel might include at the end of the file for instance, you can ignore\nthese by including the `ignoreEmpty` option.\n\nAny rows consisting of nothing but empty strings and/or commas will be skipped, without emitting a 'data' or 'error' event.\n\n```javascript\nvar stream = fs.createReadStream(\"my.csv\");\n\ncsv\n .fromStream(stream, {ignoreEmpty: true})\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n\n```\n\n### Validating\n\nYou can validate each row in the csv by providing a validate handler. If a row is invalid then a `data-invalid` event\nwill be emitted with the row and the index.\n\n```javascript\nvar stream = fs.createReadStream(\"my.csv\");\n\ncsv(\n .fromStream(stream, {headers : true})\n .validate(function(data){\n     return data.age < 50; //all persons must be under the age of 50\n })\n .on(\"data-invalid\", function(data){\n     //do something with invalid row\n })\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n\n```\n\n### Transforming\n\nYou can transform data by providing in a transform function. What is returned from the transform function will\nbe provided to validate and emitted as a row.\n\n```javascript\nvar stream = fs.createReadStream(\"my.csv\");\n\ncsv\n .fromStream(stream)\n .transform(function(data){\n     return data.reverse(); //reverse each row.\n })\n .on(\"record\", function(data){\n     console.log(data);\n })\n .on(\"end\", function(){\n     console.log(\"done\");\n });\n\n```\n\n### Formatting\n\n`fast-csv` also allows to you to create create a `CSV` from data.\n\nFormatting accepts the same options as parsing with an additional `transform` option.\n\n* `transform(row)`: A function that accepts a row and returns a transformed one to be written.\n* `rowDelimiter='\\n'`: Specify an alternate row delimiter (i.e `\\r\\n`)\n* `includeEndRowDelimiter=false`: Set to `true` to include a row delimiter at the end of the csv.\n\n**`createWriteStream(options)`**\n\nThis is the lowest level of the write methods, it creates a stream that can be used to create a csv of unknown size and pipe to an output csv.\n\n```javascript\nvar csvStream = csv.createWriteStream({headers: true}),\n    writableStream = fs.createWriteStream(\"my.csv\");\n\nwritableStream.on(\"finish\", function(){\n  console.log(\"DONE!\");\n});\n\ncsvSream.pipe(writableStream);\ncsvStream.write({a: \"a0\", b: \"b0\"});\ncsvStream.write({a: \"a1\", b: \"b1\"});\ncsvStream.write({a: \"a2\", b: \"b2\"});\ncsvStream.write({a: \"a3\", b: \"b4\"});\ncsvStream.write({a: \"a3\", b: \"b4\"});\ncsvStream.write(null);\n```\n\nIf you wish to transform rows as writing then you can use the `.transform` method.\n\n```javascript\nvar csvStream = csv\n    .createWriteStream({headers: true})\n    .transform(function(row){\n        return {\n           A: row.a,\n           B: row.b\n        };\n    }),\n    writableStream = fs.createWriteStream(\"my.csv\");\n\nwritableStream.on(\"finish\", function(){\n  console.log(\"DONE!\");\n});\n\ncsvSream.pipe(writableStream);\ncsvStream.write({a: \"a0\", b: \"b0\"});\ncsvStream.write({a: \"a1\", b: \"b1\"});\ncsvStream.write({a: \"a2\", b: \"b2\"});\ncsvStream.write({a: \"a3\", b: \"b4\"});\ncsvStream.write({a: \"a3\", b: \"b4\"});\ncsvStream.write(null);\n```\n\n**Writing Data**\n\nEach of the following methods accept an array of values to be written, however each value must be an `array` of `array`s or `object`s.\n\n**`write(arr[, options])`**\n\nCreate a readable stream to read data from.\n\n```javascript\nvar ws = fs.createWriteStream(\"my.csv\");\ncsv\n   .write([\n       [\"a\", \"b\"],\n       [\"a1\", \"b1\"],\n       [\"a2\", \"b2\"]\n   ], {headers: true})\n   .pipe(ws);\n```\n\n```javascript\nvar ws = fs.createWriteStream(\"my.csv\");\ncsv\n   .write([\n       {a: \"a1\", b: \"b1\"},\n       {a: \"a2\", b: \"b2\"}\n   ], {headers: true})\n   .pipe(ws);\n```\n\n```javascript\nvar ws = fs.createWriteStream(\"my.csv\");\ncsv\n   .write([\n       {a: \"a1\", b: \"b1\"},\n       {a: \"a2\", b: \"b2\"}\n   ], {\n        headers: true\n        transform: function(row){\n            return {\n                A: row.a,\n                B: row.b\n            };\n        }\n   })\n   .pipe(ws);\n```\n\n\n\n**`writeToStream(stream,arr[, options])`**\n\nWrite an array of values to a `WritableStream`\n\n```javascript\ncsv\n   .writeToStream(fs.createWriteStream(\"my.csv\"), [\n       [\"a\", \"b\"],\n       [\"a1\", \"b1\"],\n       [\"a2\", \"b2\"]\n   ], {headers: true});\n```\n\n```javascript\ncsv\n   .writeToStream(fs.createWriteStream(\"my.csv\"), [\n       {a: \"a1\", b: \"b1\"},\n       {a: \"a2\", b: \"b2\"}\n   ], {headers: true})\n   .pipe(ws);\n```\n\n```javascript\ncsv\n   .writeToStream(fs.createWriteStream(\"my.csv\"), [\n       {a: \"a1\", b: \"b1\"},\n       {a: \"a2\", b: \"b2\"}\n   ], {\n        headers: true,\n        transform: function(row){\n            return {\n                A: row.a,\n                B: row.b\n            };\n        }\n   })\n   .pipe(ws);\n```\n\n**`writeToPath(arr[, options])`**\n\nWrite an array of values to the specified path\n\n```javascript\ncsv\n   .writeToPath(\"my.csv\", [\n       [\"a\", \"b\"],\n       [\"a1\", \"b1\"],\n       [\"a2\", \"b2\"]\n   ], {headers: true})\n   .on(\"finish\", function(){\n       console.log(\"done!\");\n   });\n```\n\n```javascript\ncsv\n   .writeToStream(\"my.csv\", [\n       {a: \"a1\", b: \"b1\"},\n       {a: \"a2\", b: \"b2\"}\n   ], {headers: true})\n   .on(\"finish\", function(){\n      console.log(\"done!\");\n   });\n```\n\n```javascript\ncsv\n   .writeToStream(\"my.csv\", [\n       {a: \"a1\", b: \"b1\"},\n       {a: \"a2\", b: \"b2\"}\n   ], {\n        headers: true,\n        transform: function(row){\n            return {\n                A: row.a,\n                B: row.b\n            };\n        }\n   })\n   .on(\"finish\", function(){\n      console.log(\"done!\");\n   });\n```\n\n**`writeToString(arr[, options])`**\n\n```javascript\ncsv.writeToString([\n   [\"a\", \"b\"],\n   [\"a1\", \"b1\"],\n   [\"a2\", \"b2\"]\n], {headers: true}); //\"a,b\\na1,b1\\na2,b2\\n\"\n```\n\n```javascript\ncsv.writeToString([\n   {a: \"a1\", b: \"b1\"},\n   {a: \"a2\", b: \"b2\"}\n], {headers: true}); //\"a,b\\na1,b1\\na2,b2\\n\"\n```\n\n```javascript\ncsv.writeToString([\n   {a: \"a1\", b: \"b1\"},\n   {a: \"a2\", b: \"b2\"}\n], {\n        headers: true,\n        transform: function(row){\n            return {\n                A: row.a,\n                B: row.b\n            };\n        }\n   }); //\"a,b\\na1,b1\\na2,b2\\n\"\n```\n\n## Piping from Parser to Writer\n\nYou can use `fast-csv` to pipe the output from a parsed CSV to a transformed CSV by setting the parser to `objectMode` and using `createWriteStream`.\n\n```javascript\ncsv\n   .fromPath(\"in.csv\", {headers: true})\n   .pipe(csv.createWriteStream({headers: true}))\n   .pipe(fs.createWriteStream(\"out.csv\", {encoding: \"utf8\"}));\n```\n\nWhen piping from a parser to a formatter the transforms are maintained also.\n\n\n```javascript\ncsv\n   .fromPath(\"in.csv\", {headers: true})\n   .transform(function(obj){\n        return {\n            name: obj.Name,\n            address: obj.Address,\n            emailAddress: obj.Email_Address,\n            verified: obj.Verified\n        };\n   })\n   .pipe(csv.createWriteStream({headers: true}))\n   .pipe(fs.createWriteStream(\"out.csv\", {encoding: \"utf8\"}));\n```\n\nThe output will contain formatted result from the transform function.\n\nIf you want to tranform on the formatting side\n\n\n```javascript\nvar formatStream = csv\n        .createWriteStream({headers: true})\n        .transform(function(){\n            return {\n                name: obj.Name,\n                address: obj.Address,\n                emailAddress: obj.Email_Address,\n                verified: obj.Verified\n            };\n        });\ncsv\n   .fromPath(\"in.csv\", {headers: true})\n   .pipe(formatStream)\n   .pipe(fs.createWriteStream(\"out.csv\", {encoding: \"utf8\"}));\n```\n\n\n## Benchmarks\n\n`Parsing 20000 records AVG over 3 runs`\n\n```\nfast-csv: 198.67ms\ncsv:      525.33ms\n```\n\n`Parsing 50000 records AVG over 3 runs`\n\n```\nfast-csv: 441.33ms\ncsv:      1291ms\n```\n\n`Parsing 100000 records AVG over 3 runs`\n\n```\nfast-csv: 866ms\ncsv:      2773.33ms\n```\n\n`Parsing 1000000 records AVG over 3 runs`\n\n```\nfast-csv: 8562.67ms\ncsv:      30030.67ms\n```\n\n## License\n\nMIT <https://github.com/C2FO/fast-csv/raw/master/LICENSE>\n\n##Meta\n* Code: `git clone git://github.com/C2FO/fast-csv.git`\n* Website: <http://c2fo.com>\n* Twitter: [http://twitter.com/c2fo](http://twitter.com/c2fo) - 877.465.4045\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/C2FO/fast-csv/issues"},"_id":"fast-csv@0.4.4","_shasum":"24d41a611455b31d0b075d26fad8caa6df9f3f4b","_from":"fast-csv@^0.4.4","_resolved":"https://registry.npmjs.org/fast-csv/-/fast-csv-0.4.4.tgz"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/_copy.js","id":"fs-extra/lib/_copy.js","options":{},"isModule":true,"requiredModules":["graceful-fs/graceful-fs.js","path"],"mtime":1422474370000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/copy.js","id":"fs-extra/lib/copy.js","options":{},"isModule":true,"requiredModules":["graceful-fs/graceful-fs.js","path","fs-extra/lib/_copy.js","fs-extra/lib/mkdir.js","fs-extra/lib/create.js"],"mtime":1421838846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/create.js","id":"fs-extra/lib/create.js","options":{},"isModule":true,"requiredModules":["path","graceful-fs/graceful-fs.js","fs-extra/lib/mkdir.js"],"mtime":1421838853000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/index.js","id":"fs-extra/lib/index.js","options":{},"isModule":true,"requiredModules":["jsonfile/index.js","fs-extra/lib/json.js","graceful-fs/graceful-fs.js","fs-extra/lib/copy.js","fs-extra/lib/remove.js","fs-extra/lib/mkdir.js","fs-extra/lib/create.js","fs-extra/lib/move.js","fs-extra/lib/output.js"],"mtime":1421838873000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/json.js","id":"fs-extra/lib/json.js","options":{},"isModule":true,"requiredModules":["graceful-fs/graceful-fs.js","path","jsonfile/index.js","fs-extra/lib/mkdir.js"],"mtime":1421838883000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/mkdir.js","id":"fs-extra/lib/mkdir.js","options":{},"isModule":true,"requiredModules":["graceful-fs/graceful-fs.js","path"],"mtime":1425341703000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/move.js","id":"fs-extra/lib/move.js","options":{},"isModule":true,"requiredModules":["graceful-fs/graceful-fs.js","fs-extra/lib/_copy.js","path","rimraf/rimraf.js","fs-extra/lib/mkdir.js"],"mtime":1422478759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/output.js","id":"fs-extra/lib/output.js","options":{},"isModule":true,"requiredModules":["path","graceful-fs/graceful-fs.js","fs-extra/lib/mkdir.js"],"mtime":1421838904000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/lib/remove.js","id":"fs-extra/lib/remove.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js"],"mtime":1421838914000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/fs.js","id":"graceful-fs/fs.js","options":{},"isModule":true,"requiredModules":["module","vm"],"mtime":1416354878000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js","id":"graceful-fs/graceful-fs.js","options":{},"isModule":true,"requiredModules":["graceful-fs/fs.js","assert","graceful-fs/polyfills.js","util/util.js"],"mtime":1433134992000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"graceful-fs","description":"A drop-in replacement for fs, making various improvements.","version":"3.0.8","repository":{"type":"git","url":"git://github.com/isaacs/node-graceful-fs.git"},"main":"graceful-fs.js","engines":{"node":">=0.4.0"},"directories":{"test":"test"},"scripts":{"test":"tap test/*.js"},"keywords":["fs","module","reading","retry","retries","queue","error","errors","handling","EMFILE","EAGAIN","EINVAL","EPERM","EACCESS"],"license":"ISC","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^1.2.0"},"gitHead":"45c57aa5e323c35a985a525de6f0c9a6ef59e1f8","bugs":{"url":"https://github.com/isaacs/node-graceful-fs/issues"},"homepage":"https://github.com/isaacs/node-graceful-fs#readme","_id":"graceful-fs@3.0.8","_shasum":"ce813e725fa82f7e6147d51c9a5ca68270551c22","_from":"graceful-fs@>=3.0.5 <4.0.0","_npmVersion":"2.10.1","_nodeVersion":"2.0.1","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"ce813e725fa82f7e6147d51c9a5ca68270551c22","tarball":"http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_resolved":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz","readme":"ERROR: No README data found!"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/polyfills.js","id":"graceful-fs/polyfills.js","options":{},"isModule":true,"requiredModules":["graceful-fs/fs.js","constants"],"mtime":1426109322000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/test/max-open.js","id":"graceful-fs/test/max-open.js","options":{},"isModule":true,"requiredModules":["tap","graceful-fs/graceful-fs.js"],"mtime":1433135171000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/test/open.js","id":"graceful-fs/test/open.js","options":{},"isModule":true,"requiredModules":["tap","graceful-fs/graceful-fs.js","graceful-fs/fs.js"],"mtime":1401669049000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/test/readdir-sort.js","id":"graceful-fs/test/readdir-sort.js","options":{},"isModule":true,"requiredModules":["tap","graceful-fs/fs.js","graceful-fs/graceful-fs.js"],"mtime":1416287842000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/graceful-fs/test/write-then-read.js","id":"graceful-fs/test/write-then-read.js","options":{},"isModule":true,"requiredModules":["graceful-fs/graceful-fs.js","rimraf/rimraf.js","mkdirp/index.js","tap","path"],"mtime":1433135176000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/jsonfile/index.js","id":"jsonfile/index.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1435269536000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/jsonfile/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/jsonfile/package.json","data":{"name":"jsonfile","version":"2.2.1","description":"Easily read/write JSON files.","repository":{"type":"git","url":"git+ssh://git@github.com/jprichardson/node-jsonfile.git"},"keywords":["read","write","file","json","fs","fs-extra"],"author":{"name":"JP Richardson","email":"jprichardson@gmail.com"},"license":"MIT","dependencies":{},"devDependencies":{"mocha":"2.x","rimraf":"^2.4.0","standard":"4.x"},"main":"index.js","scripts":{"test":"standard && mocha test"},"readme":"Node.js - jsonfile\n================\n\nEasily read/write JSON files.\n\n[![build status](https://secure.travis-ci.org/jprichardson/node-jsonfile.svg)](http://travis-ci.org/jprichardson/node-jsonfile)\n\n\nWhy?\n----\n\nWriting `JSON.stringify()` and then `fs.writeFile()` and `JSON.parse()` with `fs.readFile()` enclosed in `try/catch` blocks became annoying.\n\n\n\nInstallation\n------------\n\n    npm install jsonfile --save\n\n\n\nAPI\n---\n\n### readFile(filename, [options], callback)\n\n`options`: Pass in any `fs.readFile` options or set `reviver` for a [JSON reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse).\n\n\n```js\nvar jsonfile = require('jsonfile')\nvar util = require('util')\n\nvar file = '/tmp/data.json'\njsonfile.readFile(file, function(err, obj) {\n  console.dir(obj)\n})\n```\n\n\n### readFileSync(filename, [options])\n\n`options`: Pass in any `fs.readFileSync` options or set `reviver` for a [JSON reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse). Also `throws` set to `false` if you don't ever want this method\nto throw on invalid JSON. Will return `null` instead. Defaults to `true`.\n\n```js\nvar jsonfile = require('jsonfile')\nvar util = require('util')\n\nvar file = '/tmp/data.json'\n\nconsole.dir(jsonfile.readFileSync(file))\n```\n\n\n### writeFile(filename, [options], callback)\n\n`options`: Pass in any `fs.writeFile` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces`.\n\n\n```js\nvar jsonfile = require('jsonfile')\n\nvar file = '/tmp/data.json'\nvar obj = {name: 'JP'}\n\njsonfile.writeFile(file, obj, function (err) {\n  console.error(err)\n})\n```\n\n**formatting with spaces:**\n\n```js\nvar jsonfile = require('jsonfile')\n\nvar file = '/tmp/data.json'\nvar obj = {name: 'JP'}\n\njsonfile.writeFile(file, obj, {spaces: 2}, function(err) {\n  console.error(err)\n})\n```\n\n\n### writeFileSync(filename, [options])\n\n`options`: Pass in any `fs.writeFileSync` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces`.\n\n```js\nvar jsonfile = require('jsonfile')\n\nvar file = '/tmp/data.json'\nvar obj = {name: 'JP'}\n\njsonfile.writeFileSync(file, obj)\n```\n\n**formatting with spaces:**\n\n```js\nvar jsonfile = require('jsonfile')\n\nvar file = '/tmp/data.json'\nvar obj = {name: 'JP'}\n\njsonfile.writeFileSync(file, obj, {spaces: 2})\n```\n\n\n\n### spaces\n\nGlobal configuration to set spaces to indent JSON files.\n\n**default:** `null`\n\n```js\nvar jsonfile = require('jsonfile')\n\njsonfile.spaces = 4;\n\nvar file = '/tmp/data.json'\nvar obj = {name: 'JP'}\n\n// json file has four space indenting now\njsonfile.writeFile(file, obj, function (err) {\n  console.error(err)\n})\n```\n\nNote, it's bound to `this.spaces`. So, if you do this:\n\n```js\nvar myObj = {}\nmyObj.writeJsonSync = jsonfile.writeFileSync\n// => this.spaces = null\n```\n\nCould do the following:\n\n```js\nvar jsonfile = require('jsonfile')\njsonfile.spaces = 4\njsonfile.writeFileSync(file, obj) // will have 4 spaces indentation\n\nvar myCrazyObj = {spaces: 32}\nmyCrazyObj.writeJsonSync = jsonfile.writeFileSync\nmyCrazyObj.writeJsonSync(file, obj) // will have 32 space indentation\nmyCrazyObj.writeJsonSync(file, obj, {spaces: 2}) // will have only 2\n```\n\n\nLicense\n-------\n\n(MIT License)\n\nCopyright 2012-2015, JP Richardson  <jprichardson@gmail.com>\n\n\n\n\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jprichardson/node-jsonfile/issues"},"homepage":"https://github.com/jprichardson/node-jsonfile","_id":"jsonfile@2.2.1","_shasum":"659e429e199fbb7d64b662df74301fbeeb0cc80a","_from":"jsonfile@>=2.0.0 <3.0.0","_resolved":"https://registry.npmjs.org/jsonfile/-/jsonfile-2.2.1.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/jsonfile/test.js","id":"jsonfile/test.js","options":{},"isModule":true,"requiredModules":["assert","fs","os","path","rimraf/rimraf.js","jsonfile/index.js"],"mtime":1435269582000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/bin.js","id":"rimraf/bin.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js"],"mtime":1435687294000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/common.js","id":"glob/common.js","options":{},"isModule":true,"requiredModules":["path","minimatch/minimatch.js","path-is-absolute/index.js"],"mtime":1432226679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/glob.js","id":"glob/glob.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","inherits/inherits.js","events","path","assert","path-is-absolute/index.js","glob/sync.js","glob/common.js","inflight/inflight.js","util/util.js","once/once.js"],"mtime":1436923607000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js","id":"inflight/inflight.js","options":{},"isModule":true,"requiredModules":["wrappy/wrappy.js","once/once.js"],"mtime":1412318830000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json","data":{"name":"wrappy","version":"1.0.1","description":"Callback wrapping utility","main":"wrappy.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^0.4.12"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/npm/wrappy.git"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/wrappy/issues"},"homepage":"https://github.com/npm/wrappy","gitHead":"006a8cbac6b99988315834c207896eed71fd069a","_id":"wrappy@1.0.1","_shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","_from":"wrappy@>=1.0.0 <2.0.0","_npmVersion":"2.0.0","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","tarball":"http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"},"_resolved":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js","id":"wrappy/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","wrappy/wrappy.js"],"mtime":1411082093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js","id":"wrappy/wrappy.js","options":{},"isModule":true,"mtime":1411082022000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json","data":{"name":"inflight","version":"1.0.4","description":"Add callbacks to requests in flight to avoid async duplication","main":"inflight.js","dependencies":{"once":"^1.3.0","wrappy":"1"},"devDependencies":{"tap":"^0.4.10"},"scripts":{"test":"tap test.js"},"repository":{"type":"git","url":"git://github.com/isaacs/inflight.git"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/isaacs/inflight/issues"},"homepage":"https://github.com/isaacs/inflight","license":"ISC","gitHead":"c7b5531d572a867064d4a1da9e013e8910b7d1ba","_id":"inflight@1.0.4","_shasum":"6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a","_from":"inflight@>=1.0.4 <2.0.0","_npmVersion":"2.1.3","_nodeVersion":"0.10.32","_npmUser":{"name":"othiym23","email":"ogd@aoaioxxysz.net"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"othiym23","email":"ogd@aoaioxxysz.net"},{"name":"iarna","email":"me@re-becca.org"}],"dist":{"shasum":"6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a","tarball":"http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz","readme":"ERROR: No README data found!"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/test.js","id":"inflight/test.js","options":{},"isModule":true,"requiredModules":["tap","inflight/inflight.js"],"mtime":1412318795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.0 <3.0.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/browser.js","id":"minimatch/browser.js","options":{},"isModule":true,"requiredModules":["path","brace-expansion/index.js","concat-map/index.js","balanced-match/index.js"],"mtime":1437616294000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["path","brace-expansion/index.js"],"mtime":1437616284000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js","id":"brace-expansion/example.js","options":{},"isModule":true,"requiredModules":["brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js","id":"brace-expansion/index.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js","balanced-match/index.js"],"mtime":1417452674000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js","id":"balanced-match/example.js","options":{},"isModule":true,"requiredModules":["balanced-match/index.js"],"mtime":1398343162000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js","id":"balanced-match/index.js","options":{},"isModule":true,"mtime":1417340440000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json","data":{"name":"balanced-match","description":"Match balanced character pairs, like \"{\" and \"}\"","version":"0.2.0","repository":{"type":"git","url":"git://github.com/juliangruber/balanced-match.git"},"homepage":"https://github.com/juliangruber/balanced-match","main":"index.js","scripts":{"test":"make test"},"dependencies":{},"devDependencies":{"tape":"~1.1.1"},"keywords":["match","regexp","test","balanced","parse"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/20..latest","firefox/nightly","chrome/25..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"ba40ed78e7114a4a67c51da768a100184dead39c","bugs":{"url":"https://github.com/juliangruber/balanced-match/issues"},"_id":"balanced-match@0.2.0","_shasum":"38f6730c03aab6d5edbb52bd934885e756d71674","_from":"balanced-match@>=0.2.0 <0.3.0","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}],"dist":{"shasum":"38f6730c03aab6d5edbb52bd934885e756d71674","tarball":"http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js","id":"balanced-match/test/balanced.js","options":{},"isModule":true,"requiredModules":["tape","balanced-match/index.js"],"mtime":1417340440000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js","id":"concat-map/example/map.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js"],"mtime":1339124034000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js","id":"concat-map/index.js","options":{},"isModule":true,"mtime":1354939769000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json","data":{"name":"concat-map","description":"concatenative mapdashery","version":"0.0.1","repository":{"type":"git","url":"git://github.com/substack/node-concat-map.git"},"main":"index.js","keywords":["concat","concatMap","map","functional","higher-order"],"directories":{"example":"example","test":"test"},"scripts":{"test":"tape test/*.js"},"devDependencies":{"tape":"~2.4.0"},"license":"MIT","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"testling":{"files":"test/*.js","browsers":{"ie":[6,7,8,9],"ff":[3.5,10,15],"chrome":[10,22],"safari":[5.1],"opera":[12]}},"readme":"concat-map\n==========\n\nConcatenative mapdashery.\n\n[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map)\n\n[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map)\n\nexample\n=======\n\n``` js\nvar concatMap = require('concat-map');\nvar xs = [ 1, 2, 3, 4, 5, 6 ];\nvar ys = concatMap(xs, function (x) {\n    return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];\n});\nconsole.dir(ys);\n```\n\n***\n\n```\n[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]\n```\n\nmethods\n=======\n\n``` js\nvar concatMap = require('concat-map')\n```\n\nconcatMap(xs, fn)\n-----------------\n\nReturn an array of concatenated elements by calling `fn(x, i)` for each element\n`x` and each index `i` in the array `xs`.\n\nWhen `fn(x, i)` returns an array, its result will be concatenated with the\nresult array. If `fn(x, i)` returns anything else, that value will be pushed\nonto the end of the result array.\n\ninstall\n=======\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install concat-map\n```\n\nlicense\n=======\n\nMIT\n\nnotes\n=====\n\nThis module was written while sitting high above the ground in a tree.\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/substack/node-concat-map/issues"},"homepage":"https://github.com/substack/node-concat-map","_id":"concat-map@0.0.1","_shasum":"d8a96bd77fd68df7793a73036a3ba0d5405d477b","_from":"concat-map@0.0.1","_resolved":"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js","id":"concat-map/test/map.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js","tape"],"mtime":1354099176000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json","data":{"name":"brace-expansion","description":"Brace expansion as known from sh/bash","version":"1.1.0","repository":{"type":"git","url":"git://github.com/juliangruber/brace-expansion.git"},"homepage":"https://github.com/juliangruber/brace-expansion","main":"index.js","scripts":{"test":"tape test/*.js","gentest":"bash test/generate.sh"},"dependencies":{"balanced-match":"^0.2.0","concat-map":"0.0.1"},"devDependencies":{"tape":"^3.0.3"},"keywords":[],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/20..latest","firefox/nightly","chrome/25..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"b5fa3b1c74e5e2dba2d0efa19b28335641bc1164","bugs":{"url":"https://github.com/juliangruber/brace-expansion/issues"},"_id":"brace-expansion@1.1.0","_shasum":"c9b7d03c03f37bc704be100e522b40db8f6cfcd9","_from":"brace-expansion@>=1.0.0 <2.0.0","_npmVersion":"2.1.10","_nodeVersion":"0.10.32","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"isaacs","email":"isaacs@npmjs.com"}],"dist":{"shasum":"c9b7d03c03f37bc704be100e522b40db8f6cfcd9","tarball":"http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js","id":"brace-expansion/test/bash-comparison.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js","fs"],"mtime":1417452674000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js","id":"brace-expansion/test/dollar.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js","id":"brace-expansion/test/empty-option.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js","id":"brace-expansion/test/negative-increment.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js","id":"brace-expansion/test/nested.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js","id":"brace-expansion/test/order.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js","id":"brace-expansion/test/pad.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js","id":"brace-expansion/test/same-type.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js","id":"brace-expansion/test/sequence.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"2.0.10","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"posttest":"standard minimatch.js test/*.js","test":"tap test/*.js","prepublish":"browserify -o browser.js -e minimatch.js -s minimatch --bare"},"engines":{"node":"*"},"dependencies":{"brace-expansion":"^1.0.0"},"devDependencies":{"browserify":"^9.0.3","standard":"^3.7.2","tap":"^1.2.0"},"license":"ISC","files":["minimatch.js","browser.js"],"gitHead":"6afb85f0c324b321f76a38df81891e562693e257","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch#readme","_id":"minimatch@2.0.10","_shasum":"8d087c39c6b38c001b97fca7ce6d0e1e80afbac7","_from":"minimatch@>=2.0.1 <3.0.0","_npmVersion":"3.1.0","_nodeVersion":"2.2.1","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"8d087c39c6b38c001b97fca7ce6d0e1e80afbac7","tarball":"http://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json","data":{"name":"wrappy","version":"1.0.1","description":"Callback wrapping utility","main":"wrappy.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^0.4.12"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/npm/wrappy.git"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/wrappy/issues"},"homepage":"https://github.com/npm/wrappy","gitHead":"006a8cbac6b99988315834c207896eed71fd069a","_id":"wrappy@1.0.1","_shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","_from":"wrappy@>=1.0.0 <2.0.0","_npmVersion":"2.0.0","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","tarball":"http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"},"_resolved":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js","id":"wrappy/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","wrappy/wrappy.js"],"mtime":1411082093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js","id":"wrappy/wrappy.js","options":{},"isModule":true,"mtime":1411082022000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/once.js","id":"once/once.js","options":{},"isModule":true,"requiredModules":["wrappy/wrappy.js"],"mtime":1411081488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/test/once.js","id":"once/test/once.js","options":{},"isModule":true,"requiredModules":["tap","once/once.js"],"mtime":1411081564000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/package.json","data":{"name":"once","version":"1.3.2","description":"Run a function exactly one time","main":"once.js","directories":{"test":"test"},"dependencies":{"wrappy":"1"},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/once.git"},"keywords":["once","function","one","single"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","gitHead":"e35eed5a7867574e2bf2260a1ba23970958b22f2","bugs":{"url":"https://github.com/isaacs/once/issues"},"homepage":"https://github.com/isaacs/once#readme","_id":"once@1.3.2","_shasum":"d8feeca93b039ec1dcdee7741c92bdac5e28081b","_from":"once@>=1.3.0 <2.0.0","_npmVersion":"2.9.1","_nodeVersion":"2.0.0","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"d8feeca93b039ec1dcdee7741c92bdac5e28081b","tarball":"http://registry.npmjs.org/once/-/once-1.3.2.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_resolved":"https://registry.npmjs.org/once/-/once-1.3.2.tgz","readme":"ERROR: No README data found!"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/index.js","id":"path-is-absolute/index.js","options":{},"isModule":true,"mtime":1424141850000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/package.json","data":{"name":"path-is-absolute","version":"1.0.0","description":"Node.js 0.12 path.isAbsolute() ponyfill","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/path-is-absolute.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["path","paths","file","dir","absolute","isabsolute","is-absolute","built-in","util","utils","core","ponyfill","polyfill","shim","is","detect","check"],"gitHead":"7a76a0c9f2263192beedbe0a820e4d0baee5b7a1","bugs":{"url":"https://github.com/sindresorhus/path-is-absolute/issues"},"homepage":"https://github.com/sindresorhus/path-is-absolute","_id":"path-is-absolute@1.0.0","_shasum":"263dada66ab3f2fb10bf7f9d24dd8f3e570ef912","_from":"path-is-absolute@>=1.0.0 <2.0.0","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"263dada66ab3f2fb10bf7f9d24dd8f3e570ef912","tarball":"http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487646000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"glob","description":"a little globber","version":"5.0.14","repository":{"type":"git","url":"git://github.com/isaacs/node-glob.git"},"main":"glob.js","files":["glob.js","sync.js","common.js"],"engines":{"node":"*"},"dependencies":{"inflight":"^1.0.4","inherits":"2","minimatch":"^2.0.1","once":"^1.3.0","path-is-absolute":"^1.0.0"},"devDependencies":{"mkdirp":"0","rimraf":"^2.2.8","tap":"^1.1.4","tick":"0.0.6"},"scripts":{"prepublish":"npm run benchclean","profclean":"rm -f v8.log profile.txt","test":"tap test/*.js --cov","test-regen":"npm run profclean && TEST_REGEN=1 node test/00-setup.js","bench":"bash benchmark.sh","prof":"bash prof.sh && cat profile.txt","benchclean":"node benchclean.js"},"license":"ISC","gitHead":"c47d4514f8f93f23b589afa18947306116bfe40f","bugs":{"url":"https://github.com/isaacs/node-glob/issues"},"homepage":"https://github.com/isaacs/node-glob#readme","_id":"glob@5.0.14","_shasum":"a811d507acb605441edd6cd2622a3c6f06cc00e1","_from":"glob@>=5.0.14 <6.0.0","_npmVersion":"3.1.0","_nodeVersion":"2.2.1","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"a811d507acb605441edd6cd2622a3c6f06cc00e1","tarball":"http://registry.npmjs.org/glob/-/glob-5.0.14.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_resolved":"https://registry.npmjs.org/glob/-/glob-5.0.14.tgz","readme":"ERROR: No README data found!"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/sync.js","id":"glob/sync.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","glob/glob.js","util/util.js","path","assert","path-is-absolute/index.js","glob/common.js"],"mtime":1436923593000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/package.json","data":{"name":"rimraf","version":"2.4.2","main":"rimraf.js","description":"A deep deletion module for node (like `rm -rf`)","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","repository":{"type":"git","url":"git://github.com/isaacs/rimraf.git"},"scripts":{"test":"tap test/*.js"},"bin":{"rimraf":"./bin.js"},"dependencies":{"glob":"^5.0.14"},"files":["LICENSE","README.md","bin.js","rimraf.js"],"devDependencies":{"mkdirp":"^0.5.1","tap":"^1.3.1"},"readme":"[![Build Status](https://travis-ci.org/isaacs/rimraf.svg?branch=master)](https://travis-ci.org/isaacs/rimraf) [![Dependency Status](https://david-dm.org/isaacs/rimraf.svg)](https://david-dm.org/isaacs/rimraf) [![devDependency Status](https://david-dm.org/isaacs/rimraf/dev-status.svg)](https://david-dm.org/isaacs/rimraf#info=devDependencies)\n\nThe [UNIX command](http://en.wikipedia.org/wiki/Rm_(Unix)) `rm -rf` for node.  \n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one.  Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n  `opts.maxBusyTries` times before giving up, adding 100ms of wait\n  between each attempt.  The default `maxBusyTries` is 3.\n* `ENOENT` - If the file doesn't exist, rimraf will return\n  successfully, since your desired outcome is already the case.\n* `EMFILE` - Since `readdir` requires opening a file descriptor, it's\n  possible to hit `EMFILE` if too many file descriptors are in use.\n  In the sync case, there's nothing to be done for this.  But in the\n  async case, rimraf will gradually back off with timeouts up to\n  `opts.emfileWait` ms, which defaults to 1000.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too.  But that's not so good.  Use\nthe async API.  It's better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path> [<path> ...]` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/rimraf/issues"},"homepage":"https://github.com/isaacs/rimraf","_id":"rimraf@2.4.2","_shasum":"ab4f39b08b72eae07c3d9fe9f4831aebfc9f431d","_from":"rimraf@>=2.2.8 <3.0.0","_resolved":"https://registry.npmjs.org/rimraf/-/rimraf-2.4.2.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/node_modules/rimraf/rimraf.js","id":"rimraf/rimraf.js","options":{},"isModule":true,"requiredModules":["assert","path","fs","glob/glob.js"],"mtime":1437341741000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/fs-extra/package.json","data":{"name":"fs-extra","version":"0.16.4","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.","homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move"],"author":{"name":"JP Richardson","email":"jprichardson@gmail.com"},"licenses":[{"type":"MIT","url":"http://github.com/jprichardson/node-fs-extra/raw/master/LICENSE"}],"dependencies":{"graceful-fs":"^3.0.5","jsonfile":"^2.0.0","rimraf":"^2.2.8"},"devDependencies":{"coveralls":"^2.11.2","istanbul":"^0.3.5","mocha":"^2.1.0","read-dir-files":"^0.1.1","secure-random":"^1.1.1","testutil":"^0.7.0"},"main":"./lib/index","scripts":{"coverage":"istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js","coveralls":"npm run coverage && coveralls < coverage/lcov.info","test":"mocha test"},"gitHead":"98a0956e113feec0458c80939840d06b1d170a38","bugs":{"url":"https://github.com/jprichardson/node-fs-extra/issues"},"_id":"fs-extra@0.16.4","_shasum":"3e3d3cd6f388e2acbc0fc2e0202f0533ec0507b1","_from":"fs-extra@0.16.4","_npmVersion":"2.3.0","_nodeVersion":"0.10.32","_npmUser":{"name":"jprichardson","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jprichardson","email":"jprichardson@gmail.com"}],"dist":{"shasum":"3e3d3cd6f388e2acbc0fc2e0202f0533ec0507b1","tarball":"http://registry.npmjs.org/fs-extra/-/fs-extra-0.16.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/fs-extra/-/fs-extra-0.16.4.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/lib/connection.js","id":"ftp/lib/connection.js","options":{},"isModule":true,"requiredModules":["fs","tls","zlib","net","events","util/util.js","ftp/lib/parser.js","xregexp/xregexp-all.js"],"mtime":1415652224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/lib/parser.js","id":"ftp/lib/parser.js","options":{},"isModule":true,"requiredModules":["stream","readable-stream/readable.js","util/util.js","xregexp/xregexp-all.js"],"mtime":1415652224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1388359679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["isarray/index.js","buffer","events","stream","core-util-is/lib/util.js","inherits/inherits.js","util/util.js","readable-stream/lib/_stream_duplex.js","string_decoder/index.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["buffer","core-util-is/lib/util.js","inherits/inherits.js","stream","readable-stream/lib/_stream_duplex.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_from":"core-util-is@~1.0.0","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits"},"license":"ISC","scripts":{"test":"node test"},"readme":"Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n  superclass\n* new version overwrites current prototype while old one preserves any\n  existing fields on it\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/inherits/issues"},"homepage":"https://github.com/isaacs/inherits","_id":"inherits@2.0.1","_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_from":"inherits@~2.0.1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","readme":"**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@~0.10.x","_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"mtime":1415897191000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"1.1.13","description":"Streams3, a user-land copy of the stream library from Node.js v0.11.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","isarray":"0.0.1","string_decoder":"~0.10.x","inherits":"~2.0.1"},"devDependencies":{"tap":"~0.2.6"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/readable-stream"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","readme":"# readable-stream\n\n***Node-core streams for userland***\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png&months=6&height=3)](https://nodei.co/npm/readable-stream/)\n\nThis package is a mirror of the Streams2 and Streams3 implementations in Node-core.\n\nIf you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core.\n\n**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12.\n\n**readable-stream** uses proper patch-level versioning so if you pin to `\"~1.0.0\"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `\"~1.1.0\"`\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/readable-stream/issues"},"homepage":"https://github.com/isaacs/readable-stream","_id":"readable-stream@1.1.13","_shasum":"f6eef764f514c89e2b9e23146a75ba106756d23e","_from":"readable-stream@1.1.x","_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_readable.js","stream","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1408530520000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1388359680000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/xregexp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/xregexp/package.json","data":{"name":"xregexp","version":"2.0.0","homepage":"http://xregexp.com/","author":{"name":"Steven Levithan","email":"steves_list@hotmail.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/slevithan/XRegExp.git"},"description":"Extended JavaScript regular expressions","keywords":["regex","regexp"],"main":"./xregexp-all.js","scripts":{"test":"node tests/node-qunit.js"},"devDependencies":{"qunit":">= 0.2.x"},"readme":"﻿[XRegExp](http://xregexp.com/)\r\n==============================\r\n\r\nXRegExp provides augmented, extensible, cross-browser JavaScript regular expressions. You get new syntax and flags beyond what browsers support natively, along with a collection of utils to make your client-side grepping and parsing easier. XRegExp also frees you from worrying about pesky inconsistencies in cross-browser regex handling and the dubious `lastIndex` property.\r\n\r\nXRegExp supports all native ES5 regular expression syntax. It's about 3.5 KB when minified and gzipped. It works with Internet Explorer 5.5+, Firefox 1.5+, Chrome, Safari 3+, and Opera 9.5+.\r\n\r\n\r\n## Performance\r\n\r\nXRegExp regular expressions compile to native RegExp objects, thus there is no performance difference when using XRegExp objects with native methods. There is a small performance cost when *compiling* XRegExps. If you want, however, you can use `XRegExp.cache` to avoid ever incurring the compilation cost for a given pattern more than once. Doing so can even lead to XRegExp being faster than native regexes in synthetic tests that repeatedly compile the same regex.\r\n\r\n\r\n## Usage examples\r\n\r\n~~~ js\r\n// Using named capture and flag x (free-spacing and line comments)\r\nvar date = XRegExp('(?<year>  [0-9]{4}) -?  # year  \\n\\\r\n                    (?<month> [0-9]{2}) -?  # month \\n\\\r\n                    (?<day>   [0-9]{2})     # day   ', 'x');\r\n\r\n// XRegExp.exec gives you named backreferences on the match result\r\nvar match = XRegExp.exec('2012-02-22', date);\r\nmatch.day; // -> '22'\r\n\r\n// It also includes optional pos and sticky arguments\r\nvar pos = 3, result = [];\r\nwhile (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\\d+)>/, pos, 'sticky')) {\r\n    result.push(match[1]);\r\n    pos = match.index + match[0].length;\r\n} // result -> ['2', '3', '4']\r\n\r\n// XRegExp.replace allows named backreferences in replacements\r\nXRegExp.replace('2012-02-22', date, '${month}/${day}/${year}'); // -> '02/22/2012'\r\nXRegExp.replace('2012-02-22', date, function (match) {\r\n    return match.month + '/' + match.day + '/' + match.year;\r\n}); // -> '02/22/2012'\r\n\r\n// In fact, all XRegExps are RegExps and work perfectly with native methods\r\ndate.test('2012-02-22'); // -> true\r\n\r\n// The *only* caveat is that named captures must be referred to using numbered backreferences\r\n'2012-02-22'.replace(date, '$2/$3/$1'); // -> '02/22/2012'\r\n\r\n// If you want, you can extend native methods so you don't have to worry about this\r\n// Doing so also fixes numerous browser bugs in the native methods\r\nXRegExp.install('natives');\r\n'2012-02-22'.replace(date, '${month}/${day}/${year}'); // -> '02/22/2012'\r\n'2012-02-22'.replace(date, function (match) {\r\n    return match.month + '/' + match.day + '/' + match.year;\r\n}); // -> '02/22/2012'\r\ndate.exec('2012-02-22').day; // -> '22'\r\n\r\n// Extract every other digit from a string using XRegExp.forEach\r\nXRegExp.forEach('1a2345', /\\d/, function (match, i) {\r\n    if (i % 2) this.push(+match[0]);\r\n}, []); // -> [2, 4]\r\n\r\n// Get numbers within <b> tags using XRegExp.matchChain\r\nXRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [\r\n    XRegExp('(?is)<b>.*?</b>'),\r\n    /\\d+/\r\n]); // -> ['2', '4', '56']\r\n\r\n// You can also pass forward and return specific backreferences\r\nvar html = '<a href=\"http://xregexp.com/\">XRegExp</a>\\\r\n            <a href=\"http://www.google.com/\">Google</a>';\r\nXRegExp.matchChain(html, [\r\n    {regex: /<a href=\"([^\"]+)\">/i, backref: 1},\r\n    {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'}\r\n]); // -> ['xregexp.com', 'www.google.com']\r\n\r\n// XRegExp.union safely merges strings and regexes into a single pattern\r\nXRegExp.union(['a+b*c', /(dogs)\\1/, /(cats)\\1/], 'i');\r\n// -> /a\\+b\\*c|(dogs)\\1|(cats)\\2/i\r\n~~~\r\n\r\nThese examples should give you the flavor of what's possible, but XRegExp has more syntax, flags, utils, options, and browser fixes that aren't shown here. You can even augment XRegExp's regular expression syntax with addons (see below) or write your own. See [xregexp.com](http://xregexp.com/) for more details.\r\n\r\n\r\n## Addons\r\n\r\nIn browsers, you can either load addons individually, or bundle all addons together with XRegExp by loading `xregexp-all.js`. XRegExp's [npm](http://npmjs.org/) package uses `xregexp-all.js`, which means that the addons are always available when XRegExp is installed on the server using npm.\r\n\r\n\r\n### XRegExp Unicode Base\r\n\r\nIn browsers, first include the Unicode Base script:\r\n\r\n~~~ html\r\n<script src=\"xregexp.js\"></script>\r\n<script src=\"addons/unicode/unicode-base.js\"></script>\r\n~~~\r\n\r\nThen you can do this:\r\n\r\n~~~ js\r\nvar unicodeWord = XRegExp('^\\\\p{L}+$');\r\nunicodeWord.test('Русский'); // -> true\r\nunicodeWord.test('日本語'); // -> true\r\nunicodeWord.test('العربية'); // -> true\r\n~~~\r\n\r\nThe base script adds `\\p{Letter}` and its alias `\\p{L}`, but other Unicode categories, scripts, blocks, and properties require addon packages. Try these next examples after additionally including `unicode-scripts.js`:\r\n\r\n~~~ js\r\nXRegExp('^\\\\p{Hiragana}+$').test('ひらがな'); // -> true\r\nXRegExp('^[\\\\p{Latin}\\\\p{Common}]+$').test('Über Café.'); // -> true\r\n~~~\r\n\r\nXRegExp uses the Unicode 6.1 Basic Multilingual Plane.\r\n\r\n\r\n### XRegExp.build\r\n\r\nIn browsers, first include the script:\r\n\r\n~~~ html\r\n<script src=\"xregexp.js\"></script>\r\n<script src=\"addons/build.js\"></script>\r\n~~~\r\n\r\nYou can then build regular expressions using named subpatterns, for readability and pattern reuse:\r\n\r\n~~~ js\r\nvar time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', {\r\n    hours: XRegExp.build('{{h12}} : | {{h24}}', {\r\n        h12: /1[0-2]|0?[1-9]/,\r\n        h24: /2[0-3]|[01][0-9]/\r\n    }, 'x'),\r\n    minutes: /^[0-5][0-9]$/\r\n});\r\n\r\ntime.test('10:59'); // -> true\r\nXRegExp.exec('10:59', time).minutes; // -> '59'\r\n~~~\r\n\r\nNamed subpatterns can be provided as strings or regex objects. A leading `^` and trailing unescaped `$` are stripped from subpatterns if both are present, which allows embedding independently useful anchored patterns. `{{…}}` tokens can be quantified as a single unit. Backreferences in the outer pattern and provided subpatterns are automatically renumbered to work correctly within the larger combined pattern. The syntax `({{name}})` works as shorthand for named capture via `(?<name>{{name}})`. Named subpatterns cannot be embedded within character classes.\r\n\r\nSee also: *[Creating Grammatical Regexes Using XRegExp.build](http://blog.stevenlevithan.com/archives/grammatical-patterns-xregexp-build)*.\r\n\r\n\r\n### XRegExp.matchRecursive\r\n\r\nIn browsers, first include the script:\r\n\r\n~~~ html\r\n<script src=\"xregexp.js\"></script>\r\n<script src=\"addons/matchrecursive.js\"></script>\r\n~~~\r\n\r\nYou can then match recursive constructs using XRegExp pattern strings as left and right delimiters:\r\n\r\n~~~ js\r\nvar str = '(t((e))s)t()(ing)';\r\nXRegExp.matchRecursive(str, '\\\\(', '\\\\)', 'g');\r\n// -> ['t((e))s', '', 'ing']\r\n\r\n// Extended information mode with valueNames\r\nstr = 'Here is <div> <div>an</div></div> example';\r\nXRegExp.matchRecursive(str, '<div\\\\s*>', '</div>', 'gi', {\r\n    valueNames: ['between', 'left', 'match', 'right']\r\n});\r\n/* -> [\r\n{name: 'between', value: 'Here is ',       start: 0,  end: 8},\r\n{name: 'left',    value: '<div>',          start: 8,  end: 13},\r\n{name: 'match',   value: ' <div>an</div>', start: 13, end: 27},\r\n{name: 'right',   value: '</div>',         start: 27, end: 33},\r\n{name: 'between', value: ' example',       start: 33, end: 41}\r\n] */\r\n\r\n// Omitting unneeded parts with null valueNames, and using escapeChar\r\nstr = '...{1}\\\\{{function(x,y){return y+x;}}';\r\nXRegExp.matchRecursive(str, '{', '}', 'g', {\r\n    valueNames: ['literal', null, 'value', null],\r\n    escapeChar: '\\\\'\r\n});\r\n/* -> [\r\n{name: 'literal', value: '...', start: 0, end: 3},\r\n{name: 'value',   value: '1',   start: 4, end: 5},\r\n{name: 'literal', value: '\\\\{', start: 6, end: 8},\r\n{name: 'value',   value: 'function(x,y){return y+x;}', start: 9, end: 35}\r\n] */\r\n\r\n// Sticky mode via flag y\r\nstr = '<1><<<2>>><3>4<5>';\r\nXRegExp.matchRecursive(str, '<', '>', 'gy');\r\n// -> ['1', '<<2>>', '3']\r\n~~~\r\n\r\n`XRegExp.matchRecursive` throws an error if it sees an unbalanced delimiter in the target string.\r\n\r\n\r\n### XRegExp Prototype Methods\r\n\r\nIn browsers, first include the script:\r\n\r\n~~~ html\r\n<script src=\"xregexp.js\"></script>\r\n<script src=\"addons/prototypes.js\"></script>\r\n~~~\r\n\r\nNew XRegExp regexes then gain a collection of useful methods: `apply`, `call`, `forEach`, `globalize`, `xexec`, and `xtest`.\r\n\r\n~~~ js\r\n// To demonstrate the call method, let's first create the function we'll be using...\r\nfunction filter(array, fn) {\r\n    var res = [];\r\n    array.forEach(function (el) {if (fn.call(null, el)) res.push(el);});\r\n    return res;\r\n}\r\n// Now we can filter arrays using functions and regexes\r\nfilter(['a', 'ba', 'ab', 'b'], XRegExp('^a')); // -> ['a', 'ab']\r\n~~~\r\n\r\nNative `RegExp` objects copied by `XRegExp` are augmented with any `XRegExp.prototype` methods. The following lines therefore work equivalently:\r\n\r\n~~~ js\r\nXRegExp('[a-z]', 'ig').xexec('abc');\r\nXRegExp(/[a-z]/ig).xexec('abc');\r\nXRegExp.globalize(/[a-z]/i).xexec('abc');\r\n~~~\r\n\r\n\r\n## Installation and usage\r\n\r\nIn browsers:\r\n\r\n~~~ html\r\n<script src=\"xregexp-min.js\"></script>\r\n~~~\r\n\r\nOr, to bundle XRegExp with all of its addons:\r\n\r\n~~~ html\r\n<script src=\"xregexp-all-min.js\"></script>\r\n~~~\r\n\r\nUsing [npm](http://npmjs.org/):\r\n\r\n~~~ bash\r\nnpm install xregexp\r\n~~~\r\n\r\nIn [Node.js](http://nodejs.org/) and [CommonJS module](http://wiki.commonjs.org/wiki/Modules) loaders:\r\n\r\n~~~ js\r\nvar XRegExp = require('xregexp').XRegExp;\r\n~~~\r\n\r\n\r\n### Running tests on the server with npm\r\n\r\n~~~ bash\r\nnpm install -g qunit  # needed to run the tests\r\nnpm test  # in the xregexp root\r\n~~~\r\n\r\nIf XRegExp was not installed using npm, just open `tests/index.html` in your browser.\r\n\r\n\r\n## &c\r\n\r\n**Lookbehind:** A [collection of short functions](https://gist.github.com/2387872) is available that makes it easy to simulate infinite-length leading lookbehind.\r\n\r\n\r\n## Changelog\r\n\r\n* Releases: [Version history](http://xregexp.com/history/).\r\n* Upcoming: [Milestones](https://github.com/slevithan/XRegExp/issues/milestones), [Roadmap](https://github.com/slevithan/XRegExp/wiki/Roadmap).\r\n\r\n\r\n## About\r\n\r\nXRegExp and addons copyright 2007-2012 by [Steven Levithan](http://stevenlevithan.com/).\r\n\r\nTools: Unicode range generators by [Mathias Bynens](http://mathiasbynens.be/). Source file concatenator by [Bjarke Walling](http://twitter.com/walling).\r\n\r\nPrior art: `XRegExp.build` inspired by [Lea Verou](http://lea.verou.me/)'s [RegExp.create](http://lea.verou.me/2011/03/create-complex-regexps-more-easily/). `XRegExp.union` inspired by [Ruby](http://www.ruby-lang.org/). XRegExp's syntax extensions come from Perl, .NET, etc.\r\n\r\nAll code released under the [MIT License](http://mit-license.org/).\r\n\r\nFork me to show support, fix, and extend.\r\n\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/slevithan/XRegExp/issues"},"_id":"xregexp@2.0.0","_shasum":"52a63e56ca0b84a7f3a5f3d61872f126ad7a5943","_from":"xregexp@2.0.0","_resolved":"https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/xregexp/tests/node-qunit.js","id":"xregexp/tests/node-qunit.js","options":{},"isModule":true,"requiredModules":["qunit"],"mtime":1337982262000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/xregexp/tests/tests.js","id":"xregexp/tests/tests.js","options":{},"isModule":true,"mtime":1337982262000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/node_modules/xregexp/xregexp-all.js","id":"xregexp/xregexp-all.js","options":{},"isModule":true,"mtime":1337982262000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ftp/package.json","data":{"name":"ftp","version":"0.3.8","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"An FTP client module for node.js","main":"./lib/connection","engines":{"node":">=0.8.0"},"dependencies":{"xregexp":"2.0.0","readable-stream":"1.1.x"},"scripts":{"test":"node test/test.js"},"keywords":["ftp","client","transfer"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/node-ftp/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/node-ftp.git"},"readme":"Description\n===========\n\nnode-ftp is an FTP client module for [node.js](http://nodejs.org/) that provides an asynchronous interface for communicating with an FTP server.\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.8.0 or newer\n\n\nInstall\n=======\n\n    npm install ftp\n\n\nExamples\n========\n\n* Get a directory listing of the current (remote) working directory:\n\n```javascript\n  var Client = require('ftp');\n\n  var c = new Client();\n  c.on('ready', function() {\n    c.list(function(err, list) {\n      if (err) throw err;\n      console.dir(list);\n      c.end();\n    });\n  });\n  // connect to localhost:21 as anonymous\n  c.connect();\n```\n\n* Download remote file 'foo.txt' and save it to the local file system:\n\n```javascript\n  var Client = require('ftp');\n  var fs = require('fs');\n\n  var c = new Client();\n  c.on('ready', function() {\n    c.get('foo.txt', function(err, stream) {\n      if (err) throw err;\n      stream.once('close', function() { c.end(); });\n      stream.pipe(fs.createWriteStream('foo.local-copy.txt'));\n    });\n  });\n  // connect to localhost:21 as anonymous\n  c.connect();\n```\n\n* Upload local file 'foo.txt' to the server:\n\n```javascript\n  var Client = require('ftp');\n  var fs = require('fs');\n\n  var c = new Client();\n  c.on('ready', function() {\n    c.put('foo.txt', 'foo.remote-copy.txt', function(err) {\n      if (err) throw err;\n      c.end();\n    });\n  });\n  // connect to localhost:21 as anonymous\n  c.connect();\n```\n\n\nAPI\n===\n\nEvents\n------\n\n* **greeting**(< _string_ >msg) - Emitted after connection. `msg` is the text the server sent upon connection.\n\n* **ready**() - Emitted when connection and authentication were sucessful.\n\n* **close**(< _boolean_ >hadErr) - Emitted when the connection has fully closed.\n\n* **end**() - Emitted when the connection has ended.\n\n* **error**(< _Error_ >err) - Emitted when an error occurs. In case of protocol-level errors, `err` contains a 'code' property that references the related 3-digit FTP response code.\n\n\nMethods\n-------\n\n**\\* Note: As with the 'error' event, any error objects passed to callbacks will have a 'code' property for protocol-level errors.**\n\n* **(constructor)**() - Creates and returns a new FTP client instance.\n\n* **connect**(< _object_ >config) - _(void)_ - Connects to an FTP server. Valid config properties:\n\n    * host - _string_ - The hostname or IP address of the FTP server. **Default:** 'localhost'\n\n    * port - _integer_ - The port of the FTP server. **Default:** 21\n\n    * secure - _mixed_ - Set to true for both control and data connection encryption, 'control' for control connection encryption only, or 'implicit' for implicitly encrypted control connection (this mode is deprecated in modern times, but usually uses port 990) **Default:** false\n\n    * secureOptions - _object_ - Additional options to be passed to `tls.connect()`. **Default:** (none)\n\n    * user - _string_ - Username for authentication. **Default:** 'anonymous'\n\n    * password - _string_ - Password for authentication. **Default:** 'anonymous@'\n\n    * connTimeout - _integer_ - How long (in milliseconds) to wait for the control connection to be established. **Default:** 10000\n\n    * pasvTimeout - _integer_ - How long (in milliseconds) to wait for a PASV data connection to be established. **Default:** 10000\n\n    * keepalive - _integer_ - How often (in milliseconds) to send a 'dummy' (NOOP) command to keep the connection alive. **Default:** 10000\n\n* **end**() - _(void)_ - Closes the connection to the server after any/all enqueued commands have been executed.\n\n* **destroy**() - _(void)_ - Closes the connection to the server immediately.\n\n### Required \"standard\" commands (RFC 959)\n\n* **list**([< _string_ >path, ][< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Retrieves the directory listing of `path`. `path` defaults to the current working directory. `useCompression` defaults to false. `callback` has 2 parameters: < _Error_ >err, < _array_ >list. `list` is an array of objects with these properties:\n\n      * type - _string_ - A single character denoting the entry type: 'd' for directory, '-' for file (or 'l' for symlink on **\\*NIX only**).\n\n      * name - _string_ - The name of the entry.\n\n      * size - _string_ - The size of the entry in bytes.\n\n      * date - _Date_ - The last modified date of the entry.\n\n      * rights - _object_ - The various permissions for this entry **(*NIX only)**.\n\n          * user - _string_ - An empty string or any combination of 'r', 'w', 'x'.\n\n          * group - _string_ - An empty string or any combination of 'r', 'w', 'x'.\n\n          * other - _string_ - An empty string or any combination of 'r', 'w', 'x'.\n     \n      * owner - _string_ - The user name or ID that this entry belongs to **(*NIX only)**.\n\n      * group - _string_ - The group name or ID that this entry belongs to **(*NIX only)**.\n\n      * target - _string_ - For symlink entries, this is the symlink's target **(*NIX only)**.\n\n      * sticky - _boolean_ - True if the sticky bit is set for this entry **(*NIX only)**.\n\n* **get**(< _string_ >path, [< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Retrieves a file at `path` from the server. `useCompression` defaults to false. `callback` has 2 parameters: < _Error_ >err, < _ReadableStream_ >fileStream.\n\n* **put**(< _mixed_ >input, < _string_ >destPath, [< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Sends data to the server to be stored as `destPath`. `input` can be a ReadableStream, a Buffer, or a path to a local file. `useCompression` defaults to false. `callback` has 1 parameter: < _Error_ >err.\n\n* **append**(< _mixed_ >input, < _string_ >destPath, [< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Same as **put()**, except if `destPath` already exists, it will be appended to instead of overwritten.\n\n* **rename**(< _string_ >oldPath, < _string_ >newPath, < _function_ >callback) - _(void)_ - Renames `oldPath` to `newPath` on the server. `callback` has 1 parameter: < _Error_ >err.\n\n* **logout**(< _function_ >callback) - _(void)_ - Logout the user from the server. `callback` has 1 parameter: < _Error_ >err.\n\n* **delete**(< _string_ >path, < _function_ >callback) - _(void)_ - Deletes a file, `path`, on the server. `callback` has 1 parameter: < _Error_ >err.\n\n* **cwd**(< _string_ >path, < _function_ >callback) - _(void)_ - Changes the current working directory to `path`. `callback` has 2 parameters: < _Error_ >err, < _string_ >currentDir. Note: `currentDir` is only given if the server replies with the path in the response text.\n\n* **abort**(< _function_ >callback) - _(void)_ - Aborts the current data transfer (e.g. from get(), put(), or list()). `callback` has 1 parameter: < _Error_ >err.\n\n* **site**(< _string_ >command, < _function_ >callback) - _(void)_ - Sends `command` (e.g. 'CHMOD 755 foo', 'QUOTA') using SITE. `callback` has 3 parameters: < _Error_ >err, < _string >responseText, < _integer_ >responseCode.\n\n* **status**(< _function_ >callback) - _(void)_ - Retrieves human-readable information about the server's status. `callback` has 2 parameters: < _Error_ >err, < _string_ >status.\n\n* **ascii**(< _function_ >callback) - _(void)_ - Sets the transfer data type to ASCII. `callback` has 1 parameter: < _Error_ >err.\n\n* **binary**(< _function_ >callback) - _(void)_ - Sets the transfer data type to binary (default at time of connection). `callback` has 1 parameter: < _Error_ >err.\n\n### Optional \"standard\" commands (RFC 959)\n\n* **mkdir**(< _string_ >path, [< _boolean_ >recursive, ]< _function_ >callback) - _(void)_ - Creates a new directory, `path`, on the server. `recursive` is for enabling a 'mkdir -p' algorithm and defaults to false. `callback` has 1 parameter: < _Error_ >err.\n\n* **rmdir**(< _string_ >path, [< _boolean_ >recursive, ]< _function_ >callback) - _(void)_ - Removes a directory, `path`, on the server. If `recursive`, this call will delete the contents of the directory if it is not empty. `callback` has 1 parameter: < _Error_ >err.\n\n* **cdup**(< _function_ >callback) - _(void)_ - Changes the working directory to the parent of the current directory. `callback` has 1 parameter: < _Error_ >err.\n\n* **pwd**(< _function_ >callback) - _(void)_ - Retrieves the current working directory. `callback` has 2 parameters: < _Error_ >err, < _string_ >cwd.\n\n* **system**(< _function_ >callback) - _(void)_ - Retrieves the server's operating system. `callback` has 2 parameters: < _Error_ >err, < _string_ >OS.\n\n* **listSafe**([< _string_ >path, ][< _boolean_ >useCompression, ]< _function_ >callback) - _(void)_ - Similar to list(), except the directory is temporarily changed to `path` to retrieve the directory listing. This is useful for servers that do not handle characters like spaces and quotes in directory names well for the LIST command. This function is \"optional\" because it relies on pwd() being available.\n\n### Extended commands (RFC 3659)\n\n* **size**(< _string_ >path, < _function_ >callback) - _(void)_ - Retrieves the size of `path`. `callback` has 2 parameters: < _Error_ >err, < _integer_ >numBytes.\n\n* **lastMod**(< _string_ >path, < _function_ >callback) - _(void)_ - Retrieves the last modified date and time for `path`. `callback` has 2 parameters: < _Error_ >err, < _Date_ >lastModified.\n\n* **restart**(< _integer_ >byteOffset, < _function_ >callback) - _(void)_ - Sets the file byte offset for the next file transfer action (get/put) to `byteOffset`. `callback` has 1 parameter: < _Error_ >err.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mscdex/node-ftp/issues"},"homepage":"https://github.com/mscdex/node-ftp","_id":"ftp@0.3.8","_shasum":"d9764f8bb3eeffa3319429b88ecc4b8e75396632","_from":"ftp@^0.3.7","_resolved":"https://registry.npmjs.org/ftp/-/ftp-0.3.8.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/test/test-parser.js","id":"ftp/test/test-parser.js","options":{},"isModule":true,"requiredModules":["ftp/lib/parser.js","path","assert","util/util.js"],"mtime":1415652224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftp/test/test.js","id":"ftp/test/test.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1415652224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ftps/index.js","id":"ftps/index.js","options":{},"isModule":true,"requiredModules":["child_process","underscore/underscore.js"],"mtime":1415311462000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ftps/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ftps/package.json","data":{"name":"ftps","version":"0.2.8","author":{"name":"Sébastien Chopin","email":"atinux@gmail.com","url":"https://twitter.com/atinux"},"maintainers":[{"name":"atinux"}],"description":"FTP, FTPS and SFTP client for node.js, mainly a lftp wrapper.","keywords":["ftp","ftps","sftp","node-ftp","node-sftp","node-ftps"],"repository":{"type":"git","url":"https://github.com/Atinux/node-ftps.git"},"engines":{"node":">=0.4.0"},"dependencies":{"underscore":">=1.4.4"},"devDependencies":{},"scripts":{},"readme":"node-ftps\n=========\n\nFTP, FTPS and SFTP client for node.js, mainly a `lftp` wrapper.\n\nRequirements\n------------\n\nYou need to have the executable `lftp` installed on your computer.\n\nInstallation\n-----------\n\n``` sh\nnpm install ftps\n```\n\nUsage\n-----\n\n``` js\nvar FTPS = require('ftps');\nvar ftps = new FTPS({\n  host: 'domain.com', // required\n  username: 'Test', // required\n  password: 'Test', // required\n  protocol: 'sftp', // optional, values : 'ftp', 'sftp', 'ftps',... default is 'ftp'\n  // protocol is added on beginning of host, ex : sftp://domain.com in this case\n  port: 22 // optional\n  // port is added to the end of the host, ex: sftp://domain.com:22 in this case\n});\n// Do some amazing things\nftps.cd('myDir').addFile(__dirname + '/test.txt').exec(console.log);\n```\n\nSome documentation\n------------------\n\nHere are chainable fonctions :\n\n``` js\nftps.ls()\nftps.pwd()\nftps.cd(directory)\nftps.cat(pathToRemoteFiles)\nftps.put(pathToLocalFile, [pathToRemoteFile]) // alias: addFile\nftps.get(pathToRemoteFile, [pathToLocalFile]) // download remote file and save to local path (if not given, use same name as remote file), alias: getFile\nftps.mv(from, to) // alias move\nftps.rm(file1, file2, ...) // alias remove\n```\n\nExecute a command on the remote server:\n<pre>ftps.raw('ls -l')</pre>\nTo see all available commands -> http://lftp.yar.ru/lftp-man.html\n\nFor information, ls, pwd, ... rm are just some alias of raw() method.\n\nRun the commands !\n``` js\nftps.exec(function (err, res) {\n  // err will be null (to respect async convention)\n  // res is an hash with { error: stderr || null, data: stdout }\n});\n```\n\nAlso, take note that if a command fails it will not stop the next commands from executing, for example:\n``` js\nftps.cd('non-existing-dir/').affFile('./test.txt').exec(console.log);\n/*\nWill add file on ~/ and give:\n{\n  error: 'cd: non-existing-dir: No such file or directory\\n',\n  data: ''\n}\nSo...be cautious because ./test.txt has been added\n*/\n\n```\n\nWhy?\n----\n\nJust because I didn't found sftp and ftps module in node.js, it's pretty dirty to spawn `lftp` command, but sorry, it does the work for me, maybe for you too :)\nAh and sorry for tests, it's a hack, so I just do some manual tests.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/Atinux/node-ftps/issues"},"homepage":"https://github.com/Atinux/node-ftps","_id":"ftps@0.2.8","_shasum":"c84b18d6c79da92c66e276ffb8dbcf25390d4446","_from":"ftps@^0.2.6","_resolved":"https://registry.npmjs.org/ftps/-/ftps-0.2.8.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/gpg/examples/decrypt.js","id":"gpg/examples/decrypt.js","options":{},"isModule":true,"mtime":1403202843000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/gpg/examples/encrypt.js","id":"gpg/examples/encrypt.js","options":{},"isModule":true,"mtime":1403202843000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/gpg/index.js","id":"gpg/index.js","options":{},"isModule":true,"mtime":1403202843000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/gpg/lib/gpg.js","id":"gpg/lib/gpg.js","options":{},"isModule":true,"requiredModules":["child_process","fs","util/util.js","path"],"mtime":1403202843000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/gpg/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/gpg/package.json","data":{"author":{"name":"Nicholas Penree","email":"drudge@conceited.net","url":"http://penr.ee"},"name":"gpg","description":"GPG encryption and decryption in node.js by way of the gpg command-line tool","version":"0.3.4","repository":{"type":"git","url":"git://github.com/drudge/node-gpg.git"},"keywords":["gpg","encrypt","decrypt","pgp","gnupg"],"main":"./lib/gpg","engines":{"node":">= 0.8.0"},"dependencies":{},"devDependencies":{"mocha":"~1.20.1"},"scripts":{"test":"mocha","import-test-keys":"gpg --import test/mykey1.key","delete-test-keys":"gpg --delete-secret-and-public-key D5762441"},"readme":"#  GPG Encryption/Decryption in Node.js [![Build Status](https://travis-ci.org/drudge/node-gpg.svg?branch=master)](https://travis-ci.org/drudge/node-gpg)\n\n  This module adds methods for GPG encryption and decryption in node.js by way of the gpg command-line tool.\n\n## Requirements\n\nIn order to use the GPG encryption, you'll need to have the `gpg` binary in your $PATH.\n\n## Installation\n\n    npm install gpg\n\n## Contributors\n\nThe following are the major contributors of `node-gpg` (in no specific order).\n\n  * Nicholas Penree ([drudge](http://github.com/drudge))\n  * [freewil](http://github.com/freewil)\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2012 Nicholas Penree &lt;drudge@conceited.net&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/drudge/node-gpg/issues"},"homepage":"https://github.com/drudge/node-gpg","_id":"gpg@0.3.4","_shasum":"7c0d989cf1320f07e6014b8624e43de109726323","_from":"gpg@^0.3.4","_resolved":"https://registry.npmjs.org/gpg/-/gpg-0.3.4.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/gpg/test/index.js","id":"gpg/test/index.js","options":{},"isModule":true,"requiredModules":["assert","gpg/lib/gpg.js"],"mtime":1403202843000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/internal-tasks/bump.js","id":"grunt/internal-tasks/bump.js","options":{},"isModule":true,"requiredModules":["semver","shelljs/shell.js"],"mtime":1399389581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/internal-tasks/subgrunt.js","id":"grunt/internal-tasks/subgrunt.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1399389581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/cli.js","id":"grunt/lib/grunt/cli.js","options":{},"isModule":true,"requiredModules":["grunt/lib/grunt.js","path","nopt/lib/nopt.js"],"mtime":1399389581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/config.js","id":"grunt/lib/grunt/config.js","options":{},"isModule":true,"requiredModules":["grunt/lib/grunt.js"],"mtime":1399904725000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/event.js","id":"grunt/lib/grunt/event.js","options":{},"isModule":true,"requiredModules":["eventemitter2/lib/eventemitter2.js"],"mtime":1399389581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/fail.js","id":"grunt/lib/grunt/fail.js","options":{},"isModule":true,"requiredModules":["grunt/lib/grunt.js"],"mtime":1399389581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/file.js","id":"grunt/lib/grunt/file.js","options":{},"isModule":true,"requiredModules":["grunt/lib/grunt.js","fs","path","glob/glob.js","minimatch/minimatch.js","findup-sync/lib/findup-sync.js","js-yaml/index.js","rimraf/rimraf.js","iconv-lite/lib/index.js"],"mtime":1399664145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/help.js","id":"grunt/lib/grunt/help.js","options":{},"isModule":true,"requiredModules":["grunt/lib/grunt.js","path"],"mtime":1399389581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/option.js","id":"grunt/lib/grunt/option.js","options":{},"isModule":true,"mtime":1399389581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/task.js","id":"grunt/lib/grunt/task.js","options":{},"isModule":true,"requiredModules":["grunt/lib/grunt.js","path"],"mtime":1399664145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt/template.js","id":"grunt/lib/grunt/template.js","options":{},"isModule":true,"requiredModules":["grunt/lib/grunt.js","dateformat/lib/dateformat.js"],"mtime":1399389581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/grunt.js","id":"grunt/lib/grunt.js","options":{},"isModule":true,"requiredModules":["path","coffee-script/lib/coffee-script/coffee-script.js","grunt-legacy-util/index.js","grunt/lib/util/task.js","grunt-legacy-log/index.js","/Users/james/dev/maxwell-edi/node_modules/grunt/package.json"],"mtime":1399664190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/lib/util/task.js","id":"grunt/lib/util/task.js","options":{},"isModule":true,"mtime":1399664396000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/async/index.js","id":"async/index.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js"],"mtime":1330309380000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1338402273000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./index","author":{"name":"Caolan McMahon"},"version":"0.1.22","repository":{"type":"git","url":"http://github.com/caolan/async.git"},"bugs":{"url":"http://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"http://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"readme":"# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser.\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, forEach…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n    async.map(['file1','file2','file3'], fs.stat, function(err, results){\n        // results is now an array of stats for each file\n    });\n\n    async.filter(['file1','file2','file3'], path.exists, function(results){\n        // results now equals an array of the existing files\n    });\n\n    async.parallel([\n        function(){ ... },\n        function(){ ... }\n    ], callback);\n\n    async.series([\n        function(){ ... },\n        function(){ ... }\n    ]);\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n\n## Download\n\nReleases are available for download from\n[GitHub](http://github.com/caolan/async/downloads).\nAlternatively, you can install using Node Package Manager (npm):\n\n    npm install async\n\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed\n\n__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped\n\n\n## In the Browser\n\nSo far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n    <script type=\"text/javascript\" src=\"async.js\"></script>\n    <script type=\"text/javascript\">\n\n        async.map(data, asyncProcess, function(err, results){\n            alert(results);\n        });\n\n    </script>\n\n\n## Documentation\n\n### Collections\n\n* [forEach](#forEach)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [until](#until)\n* [waterfall](#waterfall)\n* [queue](#queue)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n### forEach(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the forEach function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n    // assuming openFiles is an array of file names and saveFile is a function\n    // to save the modified contents of that file:\n\n    async.forEach(openFiles, saveFile, function(err){\n        // if any of the saves produced an error, err would equal that error\n    });\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n### forEachSeries(arr, iterator, callback)\n\nThe same as forEach only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n### forEachLimit(arr, limit, iterator, callback)\n\nThe same as forEach only the iterator is applied to batches of items in the\narray, in series. The next batch of iterators is only called once the current\none has completed processing.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - How many items should be in each batch.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n    // Assume documents is an array of JSON objects and requestApi is a\n    // function that interacts with a rate-limited REST api.\n\n    async.forEachLimit(documents, 20, requestApi, function(err){\n        // if any of the saves produced an error, err would equal that error\n    });\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed\n  with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n    async.map(['file1','file2','file3'], fs.stat, function(err, results){\n        // results is now an array of stats for each file\n    });\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(results) - A callback which is called after all the iterator\n  functions have finished.\n\n__Example__\n\n    async.filter(['file1','file2','file3'], path.exists, function(results){\n        // results now equals an array of the existing files\n    });\n\n---------------------------------------\n\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as filter, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then its probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n  array to produce the next step in the reduction. The iterator is passed a\n  callback which accepts an optional error as its first argument, and the state\n  of the reduction as the second. If an error is passed to the callback, the\n  reduction is stopped and the main callback is immediately called with the\n  error.\n* callback(err, result) - A callback which is called after all the iterator\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n    async.reduce([1,2,3], 0, function(memo, item, callback){\n        // pointless async:\n        process.nextTick(function(){\n            callback(null, memo + item)\n        });\n    }, function(err, result){\n        // result is now equal to the last value of memo, which is 6\n    });\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value undefined if none passed.\n\n__Example__\n\n    async.detect(['file1','file2','file3'], path.exists, function(result){\n        // result now equals the first file in the list that exists\n    });\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed\n  with an error (which can be null) and a value to use as the sort criteria.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is the items from\n  the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n    async.sortBy(['file1','file2','file3'], function(file, callback){\n        fs.stat(file, function(err, stats){\n            callback(err, stats.mtime);\n        });\n    }, function(err, results){\n        // results is now the original array of files sorted by\n        // modified date\n    });\n\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  either true or false depending on the values of the async tests.\n\n__Example__\n\n    async.some(['file1','file2','file3'], path.exists, function(result){\n        // if result is true then at least one of the files exists\n    });\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called after all the iterator\n  functions have finished. Result will be either true or false depending on\n  the values of the async tests.\n\n__Example__\n\n    async.every(['file1','file2','file3'], path.exists, function(result){\n        // if result is true then every file exists\n    });\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed\n  with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array containing\n  the concatenated results of the iterator function.\n\n__Example__\n\n    async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n        // files is now a list of filenames that exist in the 3 directories\n    });\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n  a callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets an array of all the arguments passed to\n  the callbacks used in the array.\n\n__Example__\n\n    async.series([\n        function(callback){\n            // do some stuff ...\n            callback(null, 'one');\n        },\n        function(callback){\n            // do some more stuff ...\n            callback(null, 'two');\n        },\n    ],\n    // optional callback\n    function(err, results){\n        // results is now equal to ['one', 'two']\n    });\n\n\n    // an example using an object instead of an array\n    async.series({\n        one: function(callback){\n            setTimeout(function(){\n                callback(null, 1);\n            }, 200);\n        },\n        two: function(callback){\n            setTimeout(function(){\n                callback(null, 2);\n            }, 100);\n        },\n    },\n    function(err, results) {\n        // results is now equal to: {one: 1, two: 2}\n    });\n\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed a\n  callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets an array of all the arguments passed to\n  the callbacks used in the array.\n\n__Example__\n\n    async.parallel([\n        function(callback){\n            setTimeout(function(){\n                callback(null, 'one');\n            }, 200);\n        },\n        function(callback){\n            setTimeout(function(){\n                callback(null, 'two');\n            }, 100);\n        },\n    ],\n    // optional callback\n    function(err, results){\n        // the results array will equal ['one','two'] even though\n        // the second function had a shorter timeout.\n    });\n\n\n    // an example using an object instead of an array\n    async.parallel({\n        one: function(callback){\n            setTimeout(function(){\n                callback(null, 1);\n            }, 200);\n        },\n        two: function(callback){\n            setTimeout(function(){\n                callback(null, 2);\n            }, 100);\n        },\n    },\n    function(err, results) {\n        // results is now equals to: {one: 1, two: 2}\n    });\n\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n  passed a callback which must be called once it has completed with an optional\n  error as the first argument.\n* callback(err) - A callback which is called after the test fails and repeated\n  execution of fn has stopped.\n\n__Example__\n\n    var count = 0;\n\n    async.whilst(\n        function () { return count < 5; },\n        function (callback) {\n            count++;\n            setTimeout(callback, 1000);\n        },\n        function (err) {\n            // 5 seconds have passed\n        }\n    );\n\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n  must call on completion.\n* callback(err, [results]) - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n    async.waterfall([\n        function(callback){\n            callback(null, 'one', 'two');\n        },\n        function(arg1, arg2, callback){\n            callback(null, 'three');\n        },\n        function(arg1, callback){\n            // arg1 now equals 'three'\n            callback(null, 'done');\n        }\n    ], function (err, result) {\n       // result now equals 'done'    \n    });\n\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n  task.\n* concurrency - An integer for determining how many worker functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n  run in parallel. This property can be changed after a queue is created to\n  alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n    // create a queue object with concurrency 2\n\n    var q = async.queue(function (task, callback) {\n        console.log('hello ' + task.name);\n        callback();\n    }, 2);\n\n\n    // assign a callback\n    q.drain = function() {\n        console.log('all items have been processed');\n    }\n\n    // add some items to the queue\n\n    q.push({name: 'foo'}, function (err) {\n        console.log('finished processing foo');\n    });\n    q.push({name: 'bar'}, function (err) {\n        console.log('finished processing bar');\n    });\n\n    // add some items to the queue (batch-wise)\n\n    q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n        console.log('finished processing bar');\n    });\n\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n  requirements, with the function itself the last item in the array. The key\n  used for each function or array is used when specifying requirements. The\n  syntax is easier to understand by looking at the example.\n* callback(err, results) - An optional callback which is called when all the\n  tasks have been completed. The callback will receive an error as an argument\n  if any tasks pass an error to their callback. If all tasks complete\n  successfully, it will receive an object containing their results.\n\n__Example__\n\n    async.auto({\n        get_data: function(callback){\n            // async code to get some data\n        },\n        make_folder: function(callback){\n            // async code to create a directory to store a file in\n            // this is run at the same time as getting the data\n        },\n        write_file: ['get_data', 'make_folder', function(callback){\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n            callback(null, filename);\n        }],\n        email_link: ['write_file', function(callback, results){\n            // once the file is written let's email a link to it...\n            // results.write_file contains the filename returned by write_file.\n        }]\n    });\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n    async.parallel([\n        function(callback){\n            // async code to get some data\n        },\n        function(callback){\n            // async code to create a directory to store a file in\n            // this is run at the same time as getting the data\n        }\n    ],\n    function(results){\n        async.series([\n            function(callback){\n                // once there is some data and the directory exists,\n                // write the data to a file in the directory\n            },\n            email_link: function(callback){\n                // once the file is written let's email a link to it...\n            }\n        ]);\n    });\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. Its also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n  must call on completion.\n\n__Example__\n\n    var iterator = async.iterator([\n        function(){ sys.p('one'); },\n        function(){ sys.p('two'); },\n        function(){ sys.p('three'); }\n    ]);\n\n    node> var iterator2 = iterator();\n    'one'\n    node> var iterator3 = iterator2();\n    'two'\n    node> iterator3();\n    'three'\n    node> var nextfn = iterator2.next();\n    node> nextfn();\n    'three'\n\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n    // using apply\n\n    async.parallel([\n        async.apply(fs.writeFile, 'testfile1', 'test1'),\n        async.apply(fs.writeFile, 'testfile2', 'test2'),\n    ]);\n\n\n    // the same process without using apply\n\n    async.parallel([\n        function(callback){\n            fs.writeFile('testfile1', 'test1', callback);\n        },\n        function(callback){\n            fs.writeFile('testfile2', 'test2', callback);\n        },\n    ]);\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n    node> var fn = async.apply(sys.puts, 'one');\n    node> fn('two', 'three');\n    one\n    two\n    three\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setTimeout(callback, 0),\nwhich means other higher priority events may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n    var call_order = [];\n    async.nextTick(function(){\n        call_order.push('two');\n        // call_order now equals ['one','two]\n    });\n    call_order.push('one')\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n  results, it has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n    var slow_fn = function (name, callback) {\n        // do something\n        callback(null, result);\n    };\n    var fn = async.memoize(slow_fn);\n\n    // fn can now be used as if it were slow_fn\n    fn('some name', function () {\n        // callback\n    });\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n    var hello = function(name, callback){\n        setTimeout(function(){\n            callback(null, 'hello ' + name);\n        }, 1000);\n    };\n\n    node> async.log(hello, 'world');\n    'hello world'\n\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n    var hello = function(name, callback){\n        setTimeout(function(){\n            callback(null, {hello: name});\n        }, 1000);\n    };\n\n    node> async.dir(hello, 'world');\n    {hello: 'world'}\n\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.1.22","_from":"async@~0.1.22"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/browser.js","id":"coffee-script/lib/coffee-script/browser.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/cake.js","id":"coffee-script/lib/coffee-script/cake.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/optparse.js","coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/coffee-script.js","id":"coffee-script/lib/coffee-script/coffee-script.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/lexer.js","coffee-script/lib/coffee-script/parser.js","vm","coffee-script/lib/coffee-script/helpers.js","module","coffee-script/lib/coffee-script/nodes.js"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/command.js","id":"coffee-script/lib/coffee-script/command.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/optparse.js","coffee-script/lib/coffee-script/coffee-script.js","child_process","events","coffee-script/lib/coffee-script/repl.js"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/grammar.js","id":"coffee-script/lib/coffee-script/grammar.js","options":{},"isModule":true,"requiredModules":["jison"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/helpers.js","id":"coffee-script/lib/coffee-script/helpers.js","options":{},"isModule":true,"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/index.js","id":"coffee-script/lib/coffee-script/index.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/lexer.js","id":"coffee-script/lib/coffee-script/lexer.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/rewriter.js","coffee-script/lib/coffee-script/helpers.js"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/nodes.js","id":"coffee-script/lib/coffee-script/nodes.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/scope.js","coffee-script/lib/coffee-script/lexer.js","coffee-script/lib/coffee-script/helpers.js"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/optparse.js","id":"coffee-script/lib/coffee-script/optparse.js","options":{},"isModule":true,"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/parser.js","id":"coffee-script/lib/coffee-script/parser.js","options":{},"isModule":true,"requiredModules":["fs","path","file","system"],"mtime":1337021135000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/repl.js","id":"coffee-script/lib/coffee-script/repl.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js","readline","util/util.js","vm","module"],"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/rewriter.js","id":"coffee-script/lib/coffee-script/rewriter.js","options":{},"isModule":true,"mtime":1337099669000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/scope.js","id":"coffee-script/lib/coffee-script/scope.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/helpers.js"],"mtime":1337099669000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/coffee-script/package.json","data":{"name":"coffee-script","description":"Unfancy JavaScript","keywords":["javascript","language","coffeescript","compiler"],"author":{"name":"Jeremy Ashkenas"},"version":"1.3.3","licenses":[{"type":"MIT","url":"https://raw.github.com/jashkenas/coffee-script/master/LICENSE"}],"engines":{"node":">=0.4.0"},"directories":{"lib":"./lib/coffee-script"},"main":"./lib/coffee-script/coffee-script","bin":{"coffee":"./bin/coffee","cake":"./bin/cake"},"homepage":"http://coffeescript.org","bugs":{"url":"https://github.com/jashkenas/coffee-script/issues"},"repository":{"type":"git","url":"git://github.com/jashkenas/coffee-script.git"},"devDependencies":{"uglify-js":">=1.0.0","jison":">=0.2.0"},"readme":"\n            {\n         }   }   {\n        {   {  }  }\n         }   }{  {\n        {  }{  }  }                    _____       __  __\n       ( }{ }{  { )                   / ____|     / _|/ _|\n     .- { { }  { }} -.               | |     ___ | |_| |_ ___  ___\n    (  ( } { } { } }  )              | |    / _ \\|  _|  _/ _ \\/ _ \\\n    |`-..________ ..-'|              | |___| (_) | | | ||  __/  __/\n    |                 |               \\_____\\___/|_| |_| \\___|\\___|\n    |                 ;--.\n    |                (__  \\            _____           _       _\n    |                 | )  )          / ____|         (_)     | |\n    |                 |/  /          | (___   ___ _ __ _ _ __ | |_\n    |                 (  /            \\___ \\ / __| '__| | '_ \\| __|\n    |                 |/              ____) | (__| |  | | |_) | |_\n    |                 |              |_____/ \\___|_|  |_| .__/ \\__|\n     `-.._________..-'                                  | |\n                                                        |_|\n\n\n  CoffeeScript is a little language that compiles into JavaScript.\n\n  Install Node.js, and then the CoffeeScript compiler:\n  sudo bin/cake install\n\n  Or, if you have the Node Package Manager installed:\n  npm install -g coffee-script\n  (Leave off the -g if you don't wish to install globally.)\n\n  Execute a script:\n  coffee /path/to/script.coffee\n\n  Compile a script:\n  coffee -c /path/to/script.coffee\n\n  For documentation, usage, and examples, see:\n  http://coffeescript.org/\n\n  To suggest a feature, report a bug, or general discussion:\n  http://github.com/jashkenas/coffee-script/issues/\n\n  If you'd like to chat, drop by #coffeescript on Freenode IRC,\n  or on webchat.freenode.net.\n\n  The source repository:\n  git://github.com/jashkenas/coffee-script.git\n\n  All contributors are listed here:\n  http://github.com/jashkenas/coffee-script/contributors\n","readmeFilename":"README","_id":"coffee-script@1.3.3","_from":"coffee-script@~1.3.3"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/dateformat/lib/dateformat.js","id":"dateformat/lib/dateformat.js","options":{},"isModule":true,"mtime":1317208002000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/dateformat/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/dateformat/package.json","data":{"name":"dateformat","description":"A node.js package for Steven Levithan's excellent dateFormat() function.","maintainers":"Felix Geisendörfer <felix@debuggable.com>","homepage":"https://github.com/felixge/node-dateformat","author":{"name":"Steven Levithan"},"version":"1.0.2-1.2.3","main":"./lib/dateformat","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"readme":"# node-dateformat\n\nA node.js package for Steven Levithan's excellent [dateFormat()][dateformat] function.\n\n## Modifications\n\n* Removed the `Date.prototype.format` method. Sorry folks, but extending native prototypes is for suckers.\n* Added a `module.exports = dateFormat;` statement at the bottom\n\n## Usage\n\nAs taken from Steven's post, modified to match the Modifications listed above:\n\n    var dateFormat = require('dateformat');\n    var now = new Date();\n\n    // Basic usage\n    dateFormat(now, \"dddd, mmmm dS, yyyy, h:MM:ss TT\");\n    // Saturday, June 9th, 2007, 5:46:21 PM\n\n    // You can use one of several named masks\n    dateFormat(now, \"isoDateTime\");\n    // 2007-06-09T17:46:21\n\n    // ...Or add your own\n    dateFormat.masks.hammerTime = 'HH:MM! \"Can\\'t touch this!\"';\n    dateFormat(now, \"hammerTime\");\n    // 17:46! Can't touch this!\n\n    // When using the standalone dateFormat function,\n    // you can also provide the date as a string\n    dateFormat(\"Jun 9 2007\", \"fullDate\");\n    // Saturday, June 9, 2007\n\n    // Note that if you don't include the mask argument,\n    // dateFormat.masks.default is used\n    dateFormat(now);\n    // Sat Jun 09 2007 17:46:21\n\n    // And if you don't include the date argument,\n    // the current date and time is used\n    dateFormat();\n    // Sat Jun 09 2007 17:46:22\n\n    // You can also skip the date argument (as long as your mask doesn't\n    // contain any numbers), in which case the current date/time is used\n    dateFormat(\"longTime\");\n    // 5:46:22 PM EST\n\n    // And finally, you can convert local time to UTC time. Simply pass in\n    // true as an additional argument (no argument skipping allowed in this case):\n    dateFormat(now, \"longTime\", true);\n    // 10:46:21 PM UTC\n\n    // ...Or add the prefix \"UTC:\" to your mask.\n    dateFormat(now, \"UTC:h:MM:ss TT Z\");\n    // 10:46:21 PM UTC\n\n    // You can also get the ISO 8601 week of the year:\n    dateFormat(now, \"W\");\n    // 42\n## License\n\n(c) 2007-2009 Steven Levithan [stevenlevithan.com][stevenlevithan], MIT license.\n\n[dateformat]: http://blog.stevenlevithan.com/archives/date-time-format\n[stevenlevithan]: http://stevenlevithan.com/\n","readmeFilename":"Readme.md","_id":"dateformat@1.0.2-1.2.3","_from":"dateformat@1.0.2-1.2.3"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.js","id":"dateformat/test/test_weekofyear.js","options":{},"isModule":true,"requiredModules":["dateformat/lib/dateformat.js"],"mtime":1317208002000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/eventemitter2/index.js","id":"eventemitter2/index.js","options":{},"isModule":true,"requiredModules":["eventemitter2/lib/eventemitter2.js"],"mtime":1403539644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/eventemitter2/lib/eventemitter2.js","id":"eventemitter2/lib/eventemitter2.js","options":{},"isModule":true,"mtime":1403539644000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/eventemitter2/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/eventemitter2/package.json","data":{"name":"eventemitter2","version":"0.4.14","description":"A Node.js event emitter implementation with namespaces, wildcards, TTL and browser support.","keywords":["event","events","emitter","eventemitter"],"author":{"name":"hij1nx","email":"paolo@async.ly"},"contributors":[{"name":"Eric Elliott"},{"name":"Charlie Robbins","email":"charlie@nodejitsu.com"},{"name":"Jameson Lee","email":"jameson@nodejitsu.com"},{"name":"Jeroen van Duffelen","email":"jvduf@nodejitsu.com"},{"name":"Fedor Indutny","email":"fedor.indutny@gmail.com"}],"license":"MIT","repository":{"type":"git","url":"git://github.com/hij1nx/EventEmitter2.git"},"devDependencies":{"nodeunit":"*","benchmark":">= 0.2.2"},"main":"./lib/eventemitter2.js","scripts":{"test":"nodeunit test/simple/ && nodeunit test/wildcardEvents/","benchmark":"node test/perf/benchmark.js"},"files":["lib/eventemitter2.js","index.js"],"readme":"[![build-status](https://www.codeship.io/projects/3ad58940-4c7d-0131-15d5-5a8cd3f550f8/status)](https://www.codeship.io/projects/11259)\n\n# SYNOPSIS\n\nEventEmitter2 is an implementation of the EventEmitter found in Node.js\n\n# DESCRIPTION\n\n### FEATURES\n - Namespaces/Wildcards.\n - Times To Listen (TTL), extends the `once` concept with `many`.\n - Browser environment compatibility.\n - Demonstrates good performance in benchmarks\n\n```\nEventEmitterHeatUp x 3,728,965 ops/sec \\302\\2610.68% (60 runs sampled)\nEventEmitter x 2,822,904 ops/sec \\302\\2610.74% (63 runs sampled)\nEventEmitter2 x 7,251,227 ops/sec \\302\\2610.55% (58 runs sampled)\nEventEmitter2 (wild) x 3,220,268 ops/sec \\302\\2610.44% (65 runs sampled)\nFastest is EventEmitter2\n```\n\n### Differences (Non breaking, compatible with existing EventEmitter)\n\n - The constructor takes a configuration object.\n \n```javascript\n    var EventEmitter2 = require('eventemitter2').EventEmitter2;\n    var server = new EventEmitter2({\n\n      //\n      // use wildcards.\n      //\n      wildcard: true,\n\n      //\n      // the delimiter used to segment namespaces, defaults to `.`.\n      //\n      delimiter: '::', \n      \n      //\n      // if you want to emit the newListener event set to true.\n      //\n      newListener: false, \n\n      //\n      // max listeners that can be assigned to an event, default 10.\n      //\n      maxListeners: 20\n    });\n```\n\n - Getting the actual event that fired.\n\n```javascript\n    server.on('foo.*', function(value1, value2) {\n      console.log(this.event, value1, value2);\n    });\n```\n\n - Fire an event N times and then remove it, an extension of the `once` concept.\n\n```javascript\n    server.many('foo', 4, function() {\n      console.log('hello');\n    });\n```\n\n - Pass in a namespaced event as an array rather than a delimited string.\n\n```javascript\n    server.many(['foo', 'bar', 'bazz'], function() {\n      console.log('hello');\n    });\n```\n\n\n# API\n\nWhen an `EventEmitter` instance experiences an error, the typical action is\nto emit an `error` event. Error events are treated as a special case.\nIf there is no listener for it, then the default action is to print a stack\ntrace and exit the program.\n\nAll EventEmitters emit the event `newListener` when new listeners are\nadded.\n\n\n**Namespaces** with **Wildcards**\nTo use namespaces/wildcards, pass the `wildcard` option into the EventEmitter \nconstructor. When namespaces/wildcards are enabled, events can either be \nstrings (`foo.bar`) separated by a delimiter or arrays (`['foo', 'bar']`). The \ndelimiter is also configurable as a constructor option.\n\nAn event name passed to any event emitter method can contain a wild card (the \n`*` character). If the event name is a string, a wildcard may appear as `foo.*`. \nIf the event name is an array, the wildcard may appear as `['foo', '*']`.\n\nIf either of the above described events were passed to the `on` method, \nsubsequent emits such as the following would be observed...\n\n```javascript\n   emitter.emit('foo.bazz');\n   emitter.emit(['foo', 'bar']);\n```\n\n\n### emitter.addListener(event, listener)\n### emitter.on(event, listener)\n\nAdds a listener to the end of the listeners array for the specified event.\n\n```javascript\n    server.on('data', function(value1, value2, value3, ...) {\n      console.log('The event was raised!');\n    });\n```\n\n```javascript\n    server.on('data', function(value) {\n      console.log('The event was raised!');\n    });\n```\n\n### emitter.onAny(listener)\n\nAdds a listener that will be fired when any event is emitted.\n\n```javascript\n    server.onAny(function(value) {\n      console.log('All events trigger this.');\n    });\n```\n\n### emitter.offAny(listener)\n\nRemoves the listener that will be fired when any event is emitted.\n\n```javascript\n    server.offAny(function(value) {\n      console.log('The event was raised!');\n    });\n```\n\n#### emitter.once(event, listener)\n\nAdds a **one time** listener for the event. The listener is invoked \nonly the first time the event is fired, after which it is removed.\n\n```javascript\n    server.once('get', function (value) {\n      console.log('Ah, we have our first value!');\n    });\n```\n\n### emitter.many(event, timesToListen, listener)\n\nAdds a listener that will execute **n times** for the event before being\nremoved. The listener is invoked only the first **n times** the event is \nfired, after which it is removed.\n\n```javascript\n    server.many('get', 4, function (value) {\n      console.log('This event will be listened to exactly four times.');\n    });\n```\n\n\n### emitter.removeListener(event, listener)\n### emitter.off(event, listener)\n\nRemove a listener from the listener array for the specified event. \n**Caution**: changes array indices in the listener array behind the listener.\n\n```javascript\n    var callback = function(value) {\n      console.log('someone connected!');\n    };\n    server.on('get', callback);\n    // ...\n    server.removeListener('get', callback);\n```\n\n\n### emitter.removeAllListeners([event])\n\nRemoves all listeners, or those of the specified event.\n\n\n### emitter.setMaxListeners(n)\n\nBy default EventEmitters will print a warning if more than 10 listeners \nare added to it. This is a useful default which helps finding memory leaks. \nObviously not all Emitters should be limited to 10. This function allows \nthat to be increased. Set to zero for unlimited.\n\n\n### emitter.listeners(event)\n\nReturns an array of listeners for the specified event. This array can be \nmanipulated, e.g. to remove listeners.\n\n```javascript\n    server.on('get', function(value) {\n      console.log('someone connected!');\n    });\n    console.log(server.listeners('get')); // [ [Function] ]\n```\n\n### emitter.listenersAny()\n\nReturns an array of listeners that are listening for any event that is \nspecified. This array can be manipulated, e.g. to remove listeners.\n\n```javascript\n    server.onAny(function(value) {\n      console.log('someone connected!');\n    });\n    console.log(server.listenersAny()[0]); // [ [Function] ]\n```\n\n### emitter.emit(event, [arg1], [arg2], [...])\n\nExecute each of the listeners that may be listening for the specified event \nname in order with the list of arguments.\n\n# LICENSE\n\n(The MIT License)\n\nCopyright (c) 2011 hij1nx <http://www.twitter.com/hij1nx>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy \nof this software and associated documentation files (the 'Software'), to deal \nin the Software without restriction, including without limitation the rights \nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell \ncopies of the Software, and to permit persons to whom the Software is furnished\nto do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR \nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR \nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN\nAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION \nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/hij1nx/EventEmitter2/issues"},"homepage":"https://github.com/hij1nx/EventEmitter2","_id":"eventemitter2@0.4.14","_shasum":"8f61b75cde012b2e9eb284d4545583b5643b61ab","_from":"eventemitter2@~0.4.13","_resolved":"https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/exit/Gruntfile.js","id":"exit/Gruntfile.js","options":{},"isModule":true,"mtime":1379691245000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/exit/lib/exit.js","id":"exit/lib/exit.js","options":{},"isModule":true,"mtime":1385493708000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/exit/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/exit/package.json","data":{"name":"exit","description":"A replacement for process.exit that ensures stdio are fully drained before exiting.","version":"0.1.2","homepage":"https://github.com/cowboy/node-exit","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"repository":{"type":"git","url":"git://github.com/cowboy/node-exit.git"},"bugs":{"url":"https://github.com/cowboy/node-exit/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cowboy/node-exit/blob/master/LICENSE-MIT"}],"main":"lib/exit","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt nodeunit"},"devDependencies":{"grunt-contrib-jshint":"~0.6.4","grunt-contrib-nodeunit":"~0.2.0","grunt-contrib-watch":"~0.5.3","grunt":"~0.4.1","which":"~1.0.5"},"keywords":["exit","process","stdio","stdout","stderr","drain","flush","3584"],"readme":"# exit [![Build Status](https://secure.travis-ci.org/cowboy/node-exit.png?branch=master)](http://travis-ci.org/cowboy/node-exit)\n\nA replacement for process.exit that ensures stdio are fully drained before exiting.\n\nTo make a long story short, if `process.exit` is called on Windows, script output is often truncated when pipe-redirecting `stdout` or `stderr`. This module attempts to work around this issue by waiting until those streams have been completely drained before actually calling `process.exit`.\n\nSee [Node.js issue #3584](https://github.com/joyent/node/issues/3584) for further reference.\n\nTested in OS X 10.8, Windows 7 on Node.js 0.8.25 and 0.10.18.\n\nBased on some code by [@vladikoff](https://github.com/vladikoff).\n\n## Getting Started\nInstall the module with: `npm install exit`\n\n```javascript\nvar exit = require('exit');\n\n// These lines should appear in the output, EVEN ON WINDOWS.\nconsole.log(\"omg\");\nconsole.error(\"yay\");\n\n// process.exit(5);\nexit(5);\n\n// These lines shouldn't appear in the output.\nconsole.log(\"wtf\");\nconsole.error(\"bro\");\n```\n\n## Don't believe me? Try it for yourself.\n\nIn Windows, clone the repo and cd to the `test\\fixtures` directory. The only difference between [log.js](test/fixtures/log.js) and [log-broken.js](test/fixtures/log-broken.js) is that the former uses `exit` while the latter calls `process.exit` directly.\n\nThis test was done using cmd.exe, but you can see the same results using `| grep \"std\"` in either PowerShell or git-bash.\n\n```\nC:\\node-exit\\test\\fixtures>node log.js 0 10 stdout stderr 2>&1 | find \"std\"\nstdout 0\nstderr 0\nstdout 1\nstderr 1\nstdout 2\nstderr 2\nstdout 3\nstderr 3\nstdout 4\nstderr 4\nstdout 5\nstderr 5\nstdout 6\nstderr 6\nstdout 7\nstderr 7\nstdout 8\nstderr 8\nstdout 9\nstderr 9\n\nC:\\node-exit\\test\\fixtures>node log-broken.js 0 10 stdout stderr 2>&1 | find \"std\"\n\nC:\\node-exit\\test\\fixtures>\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n2013-11-26 - v0.1.2 - Fixed a bug with hanging processes.  \n2013-09-26 - v0.1.1 - Fixed some bugs. It seems to actually work now!  \n2013-09-20 - v0.1.0 - Initial release.\n\n## License\nCopyright (c) 2013 \"Cowboy\" Ben Alman  \nLicensed under the MIT license.\n","readmeFilename":"README.md","_id":"exit@0.1.2","_from":"exit@~0.1.1"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/exit/test/exit_test.js","id":"exit/test/exit_test.js","options":{},"isModule":true,"requiredModules":["fs","child_process","which/which.js"],"mtime":1380115375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/exit/test/fixtures/log-broken.js","id":"exit/test/fixtures/log-broken.js","options":{},"isModule":true,"mtime":1385493531000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/exit/test/fixtures/log.js","id":"exit/test/fixtures/log.js","options":{},"isModule":true,"requiredModules":["exit/lib/exit.js"],"mtime":1385493531000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/Gruntfile.js","id":"findup-sync/Gruntfile.js","options":{},"isModule":true,"mtime":1351803707000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/lib/findup-sync.js","id":"findup-sync/lib/findup-sync.js","options":{},"isModule":true,"requiredModules":["path","glob/glob.js","lodash/index.js"],"mtime":1362770767000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/examples/g.js","id":"glob/examples/g.js","options":{},"isModule":true,"requiredModules":["glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/examples/usr-local.js","id":"glob/examples/usr-local.js","options":{},"isModule":true,"requiredModules":["glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/glob.js","id":"glob/glob.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","inherits/inherits.js","events","path","assert"],"mtime":1393399612000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits"},"license":"ISC","scripts":{"test":"node test"},"readme":"Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n  superclass\n* new version overwrites current prototype while old one preserves any\n  existing fields on it\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/inherits/issues"},"homepage":"https://github.com/isaacs/inherits","_id":"inherits@2.0.1","_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_from":"inherits@2","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["lru-cache/lib/lru-cache.js","sigmund/sigmund.js","path"],"mtime":1399942015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js","id":"lru-cache/lib/lru-cache.js","options":{},"isModule":true,"mtime":1385055499000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json","data":{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"2.5.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"scripts":{"test":"tap test --gc"},"main":"lib/lru-cache.js","repository":{"type":"git","url":"git://github.com/isaacs/node-lru-cache.git"},"devDependencies":{"tap":"","weak":""},"license":{"type":"MIT","url":"http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"},"readme":"# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n  , options = { max: 500\n              , length: function (n) { return n * 2 }\n              , dispose: function (key, n) { n.close() }\n              , maxAge: 1000 * 60 * 60 }\n  , cache = LRU(options)\n  , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset()    // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n  function to all values in the cache.  Not setting this is kind of\n  silly, since that's the whole purpose of this lib, but it defaults\n  to `Infinity`.\n* `maxAge` Maximum age in ms.  Items are not pro-actively pruned out\n  as they age, but if you try to get an item that is too old, it'll\n  drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n  items.  If you're storing strings or buffers, then you probably want\n  to do something like `function(n){return n.length}`.  The default is\n  `function(n){return 1}`, which is fine if you want to store `n`\n  like-sized things.\n* `dispose` Function that is called on items when they are dropped\n  from the cache.  This can be handy if you want to close file\n  descriptors or do other cleanup tasks when items are no longer\n  accessible.  Called with `key, value`.  It's called *before*\n  actually removing the item from the internal cache, so if you want\n  to immediately put it back in, you'll have to do that in a\n  `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n  stale items out of the cache when you `get(key)`.  (That is, it's\n  not pre-emptively doing a `setTimeout` or anything.)  If you set\n  `stale:true`, it'll return the stale value before deleting it.  If\n  you don't set this, then it'll return `undefined` when you try to\n  get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n    Both of these will update the \"recently used\"-ness of the key.\n    They do what you think.\n\n* `peek(key)`\n\n    Returns the key value (or `undefined` if not found) without\n    updating the \"recently used\"-ness of the key.\n\n    (If you find yourself using this a lot, you *might* be using the\n    wrong sort of data structure, but there are some use cases where\n    it's handy.)\n\n* `del(key)`\n\n    Deletes a key out of the cache.\n\n* `reset()`\n\n    Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n    Check if a key is in the cache, without updating the recent-ness\n    or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n    Just like `Array.prototype.forEach`.  Iterates over all the keys\n    in the cache, in order of recent-ness.  (Ie, more recently used\n    items are iterated over first.)\n\n* `keys()`\n\n    Return an array of the keys in the cache.\n\n* `values()`\n\n    Return an array of the values in the cache.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-lru-cache/issues"},"homepage":"https://github.com/isaacs/node-lru-cache","_id":"lru-cache@2.5.0","_shasum":"d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb","_from":"lru-cache@2","_resolved":"https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/basic.js","id":"lru-cache/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1385052396000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/foreach.js","id":"lru-cache/test/foreach.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js","id":"lru-cache/test/memory-leak.js","options":{},"isModule":true,"requiredModules":["weak","tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/bench.js","id":"sigmund/bench.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","sigmund/sigmund.js","bench"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json","data":{"name":"sigmund","version":"1.0.0","description":"Quick and dirty signatures for Objects.","main":"sigmund.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js","bench":"node bench.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sigmund"},"keywords":["object","signature","key","data","psychoanalysis"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","readme":"# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n  var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n  var cached = cache.get(key)\n  if (cached) return cached)\n\n  var result = expensiveCalculation(someObj)\n  cache.set(key, result)\n  return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:'foo'}` will be treated identically to the\narray `['foo']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you.  In fact, it's\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions.  For example, these objects\nhave the same signature:\n\n    var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}\n    var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you're looking for.  It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/sigmund/issues"},"homepage":"https://github.com/isaacs/sigmund","_id":"sigmund@1.0.0","_shasum":"66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296","_from":"sigmund@~1.0.0","_resolved":"https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/sigmund.js","id":"sigmund/sigmund.js","options":{},"isModule":true,"mtime":1344873467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/test/basic.js","id":"sigmund/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","sigmund/sigmund.js"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"0.3.0","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"test":"tap test/*.js"},"engines":{"node":"*"},"dependencies":{"lru-cache":"2","sigmund":"~1.0.0"},"devDependencies":{"tap":""},"license":{"type":"MIT","url":"http://github.com/isaacs/minimatch/raw/master/LICENSE"},"readme":"# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n  Each row in the\n  array corresponds to a brace-expanded pattern.  Each item in the row\n  corresponds to a single path-part.  For example, the pattern\n  `{a,b/c}/d` would expand to a set of patterns like:\n\n        [ [ a, d ]\n        , [ b, c, d ] ]\n\n    If a portion of the pattern doesn't have any \"magic\" in it\n    (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n    will be left as a string rather than converted to a regular\n    expression.\n\n* `regexp` Created by the `makeRe` method.  A single regular expression\n  expressing the entire pattern.  This is useful in cases where you wish\n  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n  Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n  false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n  filename, and match it against a single row in the `regExpSet`.  This\n  method is mainly for internal use, but is exposed so that it can be\n  used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items.  So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export.  Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`.  Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob.  If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself if this option is set.  When not set, an empty list\nis returned if there are no matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes.  For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch","_id":"minimatch@0.3.0","_shasum":"275d8edaac4f1bb3326472089e7949c8394699dd","_from":"minimatch@0.3","_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/basic.js","id":"minimatch/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387171514000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/brace-expand.js","id":"minimatch/test/brace-expand.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1324537594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/caching.js","id":"minimatch/test/caching.js","options":{},"isModule":true,"requiredModules":["minimatch/minimatch.js","tap"],"mtime":1332887728000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/defaults.js","id":"minimatch/test/defaults.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1399941975000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js","id":"minimatch/test/extglob-ending-with-state-char.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387223424000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"glob","description":"a little globber","version":"3.2.11","repository":{"type":"git","url":"git://github.com/isaacs/node-glob.git"},"main":"glob.js","engines":{"node":"*"},"dependencies":{"inherits":"2","minimatch":"0.3"},"devDependencies":{"tap":"~0.4.0","mkdirp":"0","rimraf":"1"},"scripts":{"test":"tap test/*.js","test-regen":"TEST_REGEN=1 node test/00-setup.js"},"license":"BSD","readme":"# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript.  It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n  // files is an array of filenames.\n  // If the `nonull` option is set, and nothing\n  // was found, then files is [\"**/*.js\"]\n  // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt's an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered.  When an error is encountered, the\n  glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`.  There\n  is no way at this time to continue a glob search after aborting, but\n  you can re-use the statCache to avoid having to duplicate syscalls.\n* `statCache` Collection of all the stat results the glob search\n  performed.\n* `cache` Convenience object.  Each field has the following possible\n  values:\n  * `false` - Path does not exist\n  * `true` - Path exists\n  * `1` - Path exists, and is not a directory\n  * `2` - Path exists, and is a directory\n  * `[file, entries, ...]` - Path exists, is a directory, and the\n    array value is the results of `fs.readdir`\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n  matches found.  If the `nonull` option is set, and no match was found,\n  then the `matches` list contains the original pattern.  The matches\n  are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n  any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior.  Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search.  Defaults\n  to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n  onto.  Defaults to `path.resolve(options.cwd, \"/\")` (`/` on Unix\n  systems, and `C:\\` or some such on Windows.)\n* `dot` Include `.dot` files in normal matches and `globstar` matches.\n  Note that an explicit dot in a portion of the pattern will always\n  match dot files.\n* `nomount` By default, a pattern starting with a forward-slash will be\n  \"mounted\" onto the root setting, so that a valid filesystem path is\n  returned.  Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches.  Note that this\n  requires additional stat calls.\n* `nosort` Don't sort the results.\n* `stat` Set to true to stat *all* results.  This reduces performance\n  somewhat, and is completely unnecessary, unless `readdir` is presumed\n  to be an untrustworthy indicator of file existence.  It will cause\n  ELOOP to be triggered one level sooner in the case of cyclical\n  symbolic links.\n* `silent` When an unusual error is encountered\n  when attempting to read a directory, a warning will be printed to\n  stderr.  Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n  when attempting to read a directory, the process will just continue on\n  in search of other matches.  Set the `strict` option to raise an error\n  in these cases.\n* `cache` See `cache` property above.  Pass in a previously generated\n  cache object to save some fs calls.\n* `statCache` A cache of results of filesystem information, to prevent\n  unnecessary stat calls.  While it should not normally be necessary to\n  set this, you may pass the statCache from one glob() call to the\n  options object of another, if you know that the filesystem will not\n  change between calls.  (See \"Race Conditions\" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n  same file showing up multiple times in the result set.  By default,\n  this implementation prevents duplicates in the result set.\n  Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n  containing the pattern itself.  This is the default in glob(3).\n* `nocase` Perform a case-insensitive match.  Note that case-insensitive\n  filesystems will sometimes result in glob returning results that are\n  case-insensitively matched anyway, since readdir and stat will not\n  raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`glob.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation.  You must use\nforward-slashes **only** in glob expressions.  Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`.  On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead.  However, this also makes it even more susceptible to races,\nespecially if the cache or statCache objects are reused between glob\ncalls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes.  For the vast majority\nof operations, this is never a problem.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-glob/issues"},"homepage":"https://github.com/isaacs/node-glob","_id":"glob@3.2.11","_shasum":"4a973f635b9190f715d10987d5c00fd2815ebe3d","_from":"glob@~3.2.9","_resolved":"https://registry.npmjs.org/glob/-/glob-3.2.11.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/00-setup.js","id":"glob/test/00-setup.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","fs","rimraf/rimraf.js","child_process"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/bash-comparison.js","id":"glob/test/bash-comparison.js","options":{},"isModule":true,"requiredModules":["tap","child_process","glob/test/bash-results.json","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/bash-results.json","id":"glob/test/bash-results.json","options":{},"isModule":true,"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/cwd-test.js","id":"glob/test/cwd-test.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/globstar-match.js","id":"glob/test/globstar-match.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/mark.js","id":"glob/test/mark.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/new-glob-optional-options.js","id":"glob/test/new-glob-optional-options.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/nocase-nomagic.js","id":"glob/test/nocase-nomagic.js","options":{},"isModule":true,"requiredModules":["fs","tap","glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/pause-resume.js","id":"glob/test/pause-resume.js","options":{},"isModule":true,"requiredModules":["tap","child_process","glob/test/bash-results.json","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/readme-issue.js","id":"glob/test/readme-issue.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","mkdirp/index.js","fs","rimraf/rimraf.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/root-nomount.js","id":"glob/test/root-nomount.js","options":{},"isModule":true,"requiredModules":["tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/root.js","id":"glob/test/root.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/stat.js","id":"glob/test/stat.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/zz-cleanup.js","id":"glob/test/zz-cleanup.js","options":{},"isModule":true,"requiredModules":["tap","rimraf/rimraf.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js","id":"lodash/dist/lodash.compat.js","options":{},"isModule":true,"mtime":1386055084000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.min.js","id":"lodash/dist/lodash.compat.min.js","options":{},"isModule":true,"mtime":1386055092000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.js","id":"lodash/dist/lodash.js","options":{},"isModule":true,"mtime":1386055096000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.min.js","id":"lodash/dist/lodash.min.js","options":{},"isModule":true,"mtime":1386055103000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.js","id":"lodash/dist/lodash.underscore.js","options":{},"isModule":true,"mtime":1386055106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.min.js","id":"lodash/dist/lodash.underscore.min.js","options":{},"isModule":true,"mtime":1386055112000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/package.json","data":{"name":"lodash","version":"2.4.1","description":"A utility library delivering consistency, customization, performance, & extras.","homepage":"http://lodash.com/","license":"MIT","main":"dist/lodash.js","keywords":["amd","browser","client","customize","functional","server","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"http://mathiasbynens.be/"}],"bugs":{"url":"https://github.com/lodash/lodash/issues"},"repository":{"type":"git","url":"https://github.com/lodash/lodash.git"},"engines":["node","rhino"],"files":["LICENSE.txt","lodash.js","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"],"jam":{"main":"dist/lodash.compat.js","include":["LICENSE.txt","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"]},"volo":{"type":"directory","ignore":[".*","*.custom.*","*.min.*","*.template.*","*.map","*.md","lodash.js","index.js","bower.json","component.json","doc","modularize","node_modules","perf","test","vendor"]},"readme":"# Lo-Dash v2.4.1\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\nCheck out our [wiki]([https://github.com/lodash/lodash/wiki/build-differences]) for details over the differences between builds.\n\n* Modern builds perfect for newer browsers/environments:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.min.js)\n\n* Compatibility builds for older environment support too:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.compat.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.compat.min.js)\n\n* Underscore builds to use as a drop-in replacement:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.underscore.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.underscore.min.js)\n\nCDN copies are available on [cdnjs](http://cdnjs.com/libraries/lodash.js/) & [jsDelivr](http://www.jsdelivr.com/#!lodash). For smaller file sizes, create [custom builds](http://lodash.com/custom-builds) with only the features needed.\n\nLove modules? We’ve got you covered with [lodash-amd](https://npmjs.org/package/lodash-amd), [lodash-es6](https://github.com/lodash/lodash-es6), [lodash-node](https://npmjs.org/package/lodash-node), & [npm packages](https://npmjs.org/browse/keyword/lodash-modularized) per method.\n\n## Dive in\n\nThere’s plenty of **[documentation](http://lodash.com/docs)**, [unit tests](http://lodash.com/tests), & [benchmarks](http://lodash.com/benchmarks).<br>\nCheck out <a href=\"http://devdocs.io/lodash/\">DevDocs</a> as a fast, organized, & searchable interface for our documentation.\n\nThe full changelog for this release is available on our [wiki](https://github.com/lodash/lodash/wiki/Changelog).<br>\nA list of upcoming features is available on our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Features *not* in Underscore\n\n * AMD loader support ([curl](https://github.com/cujojs/curl), [dojo](http://dojotoolkit.org/), [requirejs](http://requirejs.org/), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”*](http://michaux.ca/articles/lazy-function-definition-pattern) defined methods\n * [_.clone](http://lodash.com/docs#clone) supports shallow cloning of `Date` & `RegExp` objects\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays & objects\n * [_.constant](http://lodash.com/docs#constant) & [_.property](http://lodash.com/docs#property) function generators for composing functions\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex`\n * [_.create](http://lodash.com/docs#create) for easier object inheritance\n * [_.createCallback](http://lodash.com/docs#createCallback) for extending callbacks in methods & mixins\n * [_.curry](http://lodash.com/docs#curry) for creating [curried](http://hughfdjackson.com/javascript/2013/07/06/why-curry-helps/) functions\n * [_.debounce](http://lodash.com/docs#debounce) & [_.throttle](http://lodash.com/docs#throttle) accept additional `options` for more control\n * [_.findIndex](http://lodash.com/docs#findIndex) & [_.findKey](http://lodash.com/docs#findKey) for finding indexes & keys\n * [_.forEach](http://lodash.com/docs#forEach) is chainable & supports exiting early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating own & inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) for checking if values are created by `Object`\n * [_.mapValues](http://lodash.com/docs#mapValues) for [mapping](http://lodash.com/docs#map) values to an object\n * [_.memoize](http://lodash.com/docs#memoize) exposes the `cache` of memoized functions\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.noop](http://lodash.com/docs#noop) for function placeholders\n * [_.now](http://lodash.com/docs#now) as a cross-browser `Date.now` alternative\n * [_.parseInt](http://lodash.com/docs#parseInt) for consistent behavior\n * [_.pull](http://lodash.com/docs#pull) & [_.remove](http://lodash.com/docs#remove) for mutating arrays\n * [_.random](http://lodash.com/docs#random) supports returning floating-point numbers\n * [_.runInContext](http://lodash.com/docs#runInContext) for easier mocking\n * [_.sortBy](http://lodash.com/docs#sortBy) supports sorting by multiple properties\n * [_.support](http://lodash.com/docs#support) for flagging environment features\n * [_.template](http://lodash.com/docs#template) supports [*“imports”*](http://lodash.com/docs#templateSettings_imports) options & [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals)\n * [_.transform](http://lodash.com/docs#transform) as a powerful alternative to [_.reduce](http://lodash.com/docs#reduce) for transforming objects\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.xor](http://lodash.com/docs#xor) as a companion to [_.difference](http://lodash.com/docs#difference), [_.intersection](http://lodash.com/docs#intersection), & [_.union](http://lodash.com/docs#union)\n * [_.zip](http://lodash.com/docs#zip) is capable of unzipping values\n * [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick), &\n   [more](http://lodash.com/docs \"_.assign, _.clone, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest\") accept callbacks\n * [_.contains](http://lodash.com/docs#contains), [_.toArray](http://lodash.com/docs#toArray), &\n   [more](http://lodash.com/docs \"_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.forEachRight, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.size, _.some, _.sortBy, _.where\") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.map](http://lodash.com/docs#map), &\n   [more](http://lodash.com/docs \"_.countBy, _.every, _.find, _.findKey, _.findLast, _.findLastIndex, _.findLastKey, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq\") support *“_.pluck”* & *“_.where”* shorthands\n * [_.findLast](http://lodash.com/docs#findLast), [_.findLastIndex](http://lodash.com/docs#findLastIndex), &\n   [more](http://lodash.com/docs \"_.findLastKey, _.forEachRight, _.forInRight, _.forOwnRight, _.partialRight\") right-associative methods\n\n## Resources\n\n * Podcasts\n  - [JavaScript Jabber](http://javascriptjabber.com/079-jsj-lo-dash-with-john-david-dalton/)\n\n * Posts\n  - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n  - [Custom builds in Lo-Dash 2.0](http://kitcambridge.be/blog/custom-builds-in-lo-dash-2-dot-0/)\n\n * Videos\n  - [Introduction](https://vimeo.com/44154599)\n  - [Origins](https://vimeo.com/44154600)\n  - [Optimizations & builds](https://vimeo.com/44154601)\n  - [Native method use](https://vimeo.com/48576012)\n  - [Testing](https://vimeo.com/45865290)\n  - [CascadiaJS ’12](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n A list of other community created podcasts, posts, & videos is available on our [wiki](https://github.com/lodash/lodash/wiki/Resources).\n\n## Support\n\nTested in Chrome 5~31, Firefox 2~25, IE 6-11, Opera 9.25~17, Safari 3-7, Node.js 0.6.21~0.10.22, Narwhal 0.3.2, PhantomJS 1.9.2, RingoJS 0.9, & Rhino 1.7RC5.<br>\nAutomated browser test results [are available](https://saucelabs.com/u/lodash) as well as [Travis CI](https://travis-ci.org/) builds for [lodash](https://travis-ci.org/lodash/lodash/), [lodash-cli](https://travis-ci.org/lodash/lodash-cli/), [lodash-amd](https://travis-ci.org/lodash/lodash-amd/), [lodash-node](https://travis-ci.org/lodash/lodash-node/), & [grunt-lodash](https://travis-ci.org/lodash/grunt-lodash).\n\nSpecial thanks to [Sauce Labs](https://saucelabs.com/) for providing automated browser testing.<br>\n[![Sauce Labs](http://lodash.com/_img/sauce.png)](https://saucelabs.com/ \"Sauce Labs: Selenium Testing & More\")\n\n## Installation & usage\n\nIn browsers:\n\n```html\n<script src=\"lodash.js\"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm i --save lodash\n\n{sudo} npm i -g lodash\nnpm ln lodash\n```\n\nIn [Node.js](http://nodejs.org/) & [Ringo](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n// or as Underscore\nvar _ = require('lodash/dist/lodash.underscore');\n```\n\n**Notes:**\n * Don’t assign values to [special variable](http://nodejs.org/api/repl.html#repl_repl_features) `_` when in the REPL\n * If Lo-Dash is installed globally, run [`npm ln lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory *before* requiring it\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader:\n\n```js\nrequire({\n  'packages': [\n    { 'name': 'lodash', 'location': 'path/to/lodash', 'main': 'lodash' }\n  ]\n},\n['lodash'], function(_) {\n  console.log(_.VERSION);\n});\n```\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](https://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://www.iceddev.com/) | [Kit Cambridge](http://kitcambridge.be/) | [Mathias Bynens](http://mathiasbynens.be/) |\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/lodash/lodash/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n","readmeFilename":"README.md","_id":"lodash@2.4.1","_shasum":"5b7723034dda4d262e5a46fb2c58d7cc22f71420","_from":"lodash@~2.4.1","_resolved":"https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz","scripts":{}},"mtime":1415897197000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/lodash.js","id":"lodash/lodash.js","options":{},"isModule":true,"mtime":1386054705000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/package.json","data":{"name":"findup-sync","description":"Find the first file matching a given pattern in the current directory or the nearest ancestor directory.","version":"0.1.3","homepage":"https://github.com/cowboy/node-findup-sync","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"repository":{"type":"git","url":"git://github.com/cowboy/node-findup-sync.git"},"bugs":{"url":"https://github.com/cowboy/node-findup-sync/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cowboy/node-findup-sync/blob/master/LICENSE-MIT"}],"main":"lib/findup-sync","engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"glob":"~3.2.9","lodash":"~2.4.1"},"devDependencies":{"grunt":"~0.4.4","grunt-contrib-jshint":"~0.9.2","grunt-contrib-nodeunit":"~0.3.3"},"keywords":["find","glob","file"],"readme":"# findup-sync [![Build Status](https://secure.travis-ci.org/cowboy/node-findup-sync.png?branch=master)](http://travis-ci.org/cowboy/node-findup-sync)\n\nFind the first file matching a given pattern in the current directory or the nearest ancestor directory.\n\n## Getting Started\nInstall the module with: `npm install findup-sync`\n\n```js\nvar findup = require('findup-sync');\n\n// Start looking in the CWD.\nvar filepath1 = findup('{a,b}*.txt');\n\n// Start looking somewhere else, and ignore case (probably a good idea).\nvar filepath2 = findup('{a,b}*.txt', {cwd: '/some/path', nocase: true});\n```\n\n## Usage\n\n```js\nfindup(patternOrPatterns [, minimatchOptions])\n```\n\n### patternOrPatterns\nType: `String` or `Array`  \nDefault: none\n\nOne or more wildcard glob patterns. Or just filenames.\n\n### minimatchOptions\nType: `Object`  \nDefault: `{}`\n\nOptions to be passed to [minimatch](https://github.com/isaacs/minimatch).\n\nNote that if you want to start in a different directory than the current working directory, specify a `cwd` property here.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n2014-03-14 - v0.1.3 - Updated dependencies.  \n2013-03-08 - v0.1.2 - Updated dependencies. Fixed a Node 0.9.x bug. Updated unit tests to work cross-platform.  \n2012-11-15 - v0.1.1 - Now works without an options object.  \n2012-11-01 - v0.1.0 - Initial release.\n","readmeFilename":"README.md","_id":"findup-sync@0.1.3","_shasum":"7f3e7a97b82392c653bf06589bd85190e93c3683","_from":"findup-sync@~0.1.2","_resolved":"https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/findup-sync/test/findup-sync_test.js","id":"findup-sync/test/findup-sync_test.js","options":{},"isModule":true,"requiredModules":["path","findup-sync/lib/findup-sync.js"],"mtime":1362770767000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/getobject/Gruntfile.js","id":"getobject/Gruntfile.js","options":{},"isModule":true,"mtime":1385064107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/getobject/lib/getobject.js","id":"getobject/lib/getobject.js","options":{},"isModule":true,"mtime":1385064254000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/getobject/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/getobject/package.json","data":{"name":"getobject","description":"get.and.set.deep.objects.easily = true","version":"0.1.0","homepage":"https://github.com/cowboy/node-getobject","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"repository":{"type":"git","url":"git://github.com/cowboy/node-getobject.git"},"bugs":{"url":"https://github.com/cowboy/node-getobject/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cowboy/node-getobject/blob/master/LICENSE-MIT"}],"main":"lib/getobject","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt nodeunit"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.2.0","grunt":"~0.4.1"},"keywords":["dot notation","properties","get","set","object","dot"],"readme":"# getobject [![Build Status](https://secure.travis-ci.org/cowboy/node-getobject.png?branch=master)](http://travis-ci.org/cowboy/node-getobject)\n\nget.and.set.deep.objects.easily = true;\n\n## Getting Started\nInstall the module with: `npm install getobject`\n\n```javascript\nvar getobject = require('getobject');\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n_(Nothing yet)_\n\n## License\nCopyright (c) 2013 \"Cowboy\" Ben Alman\nLicensed under the MIT license.","readmeFilename":"README.md","_id":"getobject@0.1.0","_from":"getobject@~0.1.0"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/getobject/test/namespace_test.js","id":"getobject/test/namespace_test.js","options":{},"isModule":true,"requiredModules":["getobject/lib/getobject.js"],"mtime":1385064314000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/examples/g.js","id":"glob/examples/g.js","options":{},"isModule":true,"requiredModules":["glob/glob.js"],"mtime":1326929552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/examples/usr-local.js","id":"glob/examples/usr-local.js","options":{},"isModule":true,"requiredModules":["glob/glob.js"],"mtime":1326931644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/glob.js","id":"glob/glob.js","options":{},"isModule":true,"requiredModules":["graceful-fs/graceful-fs.js","minimatch/minimatch.js","inherits/inherits.js","events","path","assert"],"mtime":1361809438000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/graceful-fs.js","id":"graceful-fs/graceful-fs.js","options":{},"isModule":true,"requiredModules":["fs","constants"],"mtime":1373442338000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"graceful-fs","description":"A drop-in replacement for fs, making various improvements.","version":"1.2.3","repository":{"type":"git","url":"git://github.com/isaacs/node-graceful-fs.git"},"main":"graceful-fs.js","engines":{"node":">=0.4.0"},"directories":{"test":"test"},"scripts":{"test":"tap test/*.js"},"keywords":["fs","module","reading","retry","retries","queue","error","errors","handling","EMFILE","EAGAIN","EINVAL","EPERM","EACCESS"],"license":"BSD","readme":"# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n  limits this to 1024. Any further requests to open a file are put in a\n  queue until new slots become available. If 1024 turns out to be too\n  much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n  `lchown` if the user isn't root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-graceful-fs/issues"},"homepage":"https://github.com/isaacs/node-graceful-fs","_id":"graceful-fs@1.2.3","_shasum":"15a4806a57547cb2d2dbf27f42e89a8c3451b364","_from":"graceful-fs@~1.2.0","_resolved":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/open.js","id":"graceful-fs/test/open.js","options":{},"isModule":true,"requiredModules":["tap","graceful-fs/graceful-fs.js","fs"],"mtime":1371011144000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/ulimit.js","id":"graceful-fs/test/ulimit.js","options":{},"isModule":true,"requiredModules":["tap","fs","graceful-fs/graceful-fs.js"],"mtime":1371058145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"mtime":1302136514000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/node_modules/inherits/package.json","data":{"name":"inherits","description":"A tiny simple way to do classic inheritance in js","version":"1.0.0","keywords":["inheritance","class","klass","oop","object-oriented"],"main":"./inherits.js","repository":{"type":"git","url":"https://github.com/isaacs/inherits"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"readme":"A dead simple way to do inheritance in JS.\n\n    var inherits = require(\"inherits\")\n\n    function Animal () {\n      this.alive = true\n    }\n    Animal.prototype.say = function (what) {\n      console.log(what)\n    }\n\n    inherits(Dog, Animal)\n    function Dog () {\n      Dog.super.apply(this)\n    }\n    Dog.prototype.sniff = function () {\n      this.say(\"sniff sniff\")\n    }\n    Dog.prototype.bark = function () {\n      this.say(\"woof woof\")\n    }\n\n    inherits(Chihuahua, Dog)\n    function Chihuahua () {\n      Chihuahua.super.apply(this)\n    }\n    Chihuahua.prototype.bark = function () {\n      this.say(\"yip yip\")\n    }\n\n    // also works\n    function Cat () {\n      Cat.super.apply(this)\n    }\n    Cat.prototype.hiss = function () {\n      this.say(\"CHSKKSS!!\")\n    }\n    inherits(Cat, Animal, {\n      meow: function () { this.say(\"miao miao\") }\n    })\n    Cat.prototype.purr = function () {\n      this.say(\"purr purr\")\n    }\n\n\n    var c = new Chihuahua\n    assert(c instanceof Chihuahua)\n    assert(c instanceof Dog)\n    assert(c instanceof Animal)\n\nThe actual function is laughably small.  10-lines small.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/inherits/issues"},"homepage":"https://github.com/isaacs/inherits","_id":"inherits@1.0.0","_shasum":"38e1975285bf1f7ba9c84da102bb12771322ac48","_from":"inherits@1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz","scripts":{}},"mtime":1415897190000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"glob","description":"a little globber","version":"3.1.21","repository":{"type":"git","url":"git://github.com/isaacs/node-glob.git"},"main":"glob.js","engines":{"node":"*"},"dependencies":{"minimatch":"~0.2.11","graceful-fs":"~1.2.0","inherits":"1"},"devDependencies":{"tap":"~0.4.0","mkdirp":"0","rimraf":"1"},"scripts":{"test":"tap test/*.js"},"license":"BSD","readme":"# Glob\n\nThis is a glob implementation in JavaScript.  It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n  // files is an array of filenames.\n  // If the `nonull` option is set, and nothing\n  // was found, then files is [\"**/*.js\"]\n  // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options]\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt's an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered.  When an error is encountered, the\n  glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`.  There\n  is no way at this time to continue a glob search after aborting, but\n  you can re-use the statCache to avoid having to duplicate syscalls.\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n  matches found.  If the `nonull` option is set, and no match was found,\n  then the `matches` list contains the original pattern.  The matches\n  are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n  any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior.  Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search.  Defaults\n  to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n  onto.  Defaults to `path.resolve(options.cwd, \"/\")` (`/` on Unix\n  systems, and `C:\\` or some such on Windows.)\n* `nomount` By default, a pattern starting with a forward-slash will be\n  \"mounted\" onto the root setting, so that a valid filesystem path is\n  returned.  Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches.  Note that this\n  requires additional stat calls.\n* `nosort` Don't sort the results.\n* `stat` Set to true to stat *all* results.  This reduces performance\n  somewhat, and is completely unnecessary, unless `readdir` is presumed\n  to be an untrustworthy indicator of file existence.  It will cause\n  ELOOP to be triggered one level sooner in the case of cyclical\n  symbolic links.\n* `silent` When an unusual error is encountered\n  when attempting to read a directory, a warning will be printed to\n  stderr.  Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n  when attempting to read a directory, the process will just continue on\n  in search of other matches.  Set the `strict` option to raise an error\n  in these cases.\n* `statCache` A cache of results of filesystem information, to prevent\n  unnecessary stat calls.  While it should not normally be necessary to\n  set this, you may pass the statCache from one glob() call to the\n  options object of another, if you know that the filesystem will not\n  change between calls.  (See \"Race Conditions\" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n  same file showing up multiple times in the result set.  By default,\n  this implementation prevents duplicates in the result set.\n  Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n  containing the pattern itself.  This is the default in glob(3).\n* `nocase` Perform a case-insensitive match.  Note that case-insensitive\n  filesystems will sometimes result in glob returning results that are\n  case-insensitively matched anyway, since readdir and stat will not\n  raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.  **Note that this is different from the way that `**` is\nhandled by ruby's `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`glob.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation.  You must use\nforward-slashes **only** in glob expressions.  Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`.  On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead.  However, this also makes it even more susceptible to races,\nespecially if the statCache object is reused between glob calls.\n\nUsers are thus advised not to use a glob result as a\nguarantee of filesystem state in the face of rapid changes.\nFor the vast majority of operations, this is never a problem.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-glob/issues"},"homepage":"https://github.com/isaacs/node-glob","_id":"glob@3.1.21","_shasum":"d29e0a055dea5138f4d07ed40e8982e83c2066cd","_from":"glob@~3.1.21","_resolved":"https://registry.npmjs.org/glob/-/glob-3.1.21.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/00-setup.js","id":"glob/test/00-setup.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","fs","rimraf/rimraf.js","child_process"],"mtime":1358897151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/bash-comparison.js","id":"glob/test/bash-comparison.js","options":{},"isModule":true,"requiredModules":["tap","child_process","glob/test/bash-results.json","glob/glob.js","path"],"mtime":1358897151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/bash-results.json","id":"glob/test/bash-results.json","options":{},"isModule":true,"mtime":1361809529000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/cwd-test.js","id":"glob/test/cwd-test.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","path"],"mtime":1358897151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/mark.js","id":"glob/test/mark.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js"],"mtime":1358897151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/nocase-nomagic.js","id":"glob/test/nocase-nomagic.js","options":{},"isModule":true,"requiredModules":["graceful-fs/graceful-fs.js","tap","glob/glob.js"],"mtime":1361809186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/pause-resume.js","id":"glob/test/pause-resume.js","options":{},"isModule":true,"requiredModules":["tap","child_process","glob/test/bash-results.json","glob/glob.js","path"],"mtime":1358897151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/root-nomount.js","id":"glob/test/root-nomount.js","options":{},"isModule":true,"requiredModules":["tap"],"mtime":1358897151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/root.js","id":"glob/test/root.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","path"],"mtime":1358897151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/glob/test/zz-cleanup.js","id":"glob/test/zz-cleanup.js","options":{},"isModule":true,"requiredModules":["tap","rimraf/rimraf.js","path"],"mtime":1358897151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/examples.js","id":"grunt-legacy-log/examples.js","options":{},"isModule":true,"requiredModules":["grunt-legacy-log/index.js"],"mtime":1397071443000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/Gruntfile.js","id":"grunt-legacy-log/Gruntfile.js","options":{},"isModule":true,"mtime":1398875760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/index.js","id":"grunt-legacy-log/index.js","options":{},"isModule":true,"requiredModules":["util/util.js","hooker/lib/hooker.js","colors/colors.js","lodash/index.js","underscore.string/lib/underscore.string.js"],"mtime":1399923098000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/dist/lodash.compat.js","id":"lodash/dist/lodash.compat.js","options":{},"isModule":true,"mtime":1386055084000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/dist/lodash.compat.min.js","id":"lodash/dist/lodash.compat.min.js","options":{},"isModule":true,"mtime":1386055092000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/dist/lodash.js","id":"lodash/dist/lodash.js","options":{},"isModule":true,"mtime":1386055096000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/dist/lodash.min.js","id":"lodash/dist/lodash.min.js","options":{},"isModule":true,"mtime":1386055103000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/dist/lodash.underscore.js","id":"lodash/dist/lodash.underscore.js","options":{},"isModule":true,"mtime":1386055106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/dist/lodash.underscore.min.js","id":"lodash/dist/lodash.underscore.min.js","options":{},"isModule":true,"mtime":1386055112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/lodash.js","id":"lodash/lodash.js","options":{},"isModule":true,"mtime":1386054705000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/lodash/package.json","data":{"name":"lodash","version":"2.4.1","description":"A utility library delivering consistency, customization, performance, & extras.","homepage":"http://lodash.com/","license":"MIT","main":"dist/lodash.js","keywords":["amd","browser","client","customize","functional","server","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"http://mathiasbynens.be/"}],"bugs":{"url":"https://github.com/lodash/lodash/issues"},"repository":{"type":"git","url":"https://github.com/lodash/lodash.git"},"engines":["node","rhino"],"files":["LICENSE.txt","lodash.js","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"],"jam":{"main":"dist/lodash.compat.js","include":["LICENSE.txt","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"]},"volo":{"type":"directory","ignore":[".*","*.custom.*","*.min.*","*.template.*","*.map","*.md","lodash.js","index.js","bower.json","component.json","doc","modularize","node_modules","perf","test","vendor"]},"readme":"# Lo-Dash v2.4.1\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\nCheck out our [wiki]([https://github.com/lodash/lodash/wiki/build-differences]) for details over the differences between builds.\n\n* Modern builds perfect for newer browsers/environments:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.min.js)\n\n* Compatibility builds for older environment support too:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.compat.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.compat.min.js)\n\n* Underscore builds to use as a drop-in replacement:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.underscore.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.underscore.min.js)\n\nCDN copies are available on [cdnjs](http://cdnjs.com/libraries/lodash.js/) & [jsDelivr](http://www.jsdelivr.com/#!lodash). For smaller file sizes, create [custom builds](http://lodash.com/custom-builds) with only the features needed.\n\nLove modules? We’ve got you covered with [lodash-amd](https://npmjs.org/package/lodash-amd), [lodash-es6](https://github.com/lodash/lodash-es6), [lodash-node](https://npmjs.org/package/lodash-node), & [npm packages](https://npmjs.org/browse/keyword/lodash-modularized) per method.\n\n## Dive in\n\nThere’s plenty of **[documentation](http://lodash.com/docs)**, [unit tests](http://lodash.com/tests), & [benchmarks](http://lodash.com/benchmarks).<br>\nCheck out <a href=\"http://devdocs.io/lodash/\">DevDocs</a> as a fast, organized, & searchable interface for our documentation.\n\nThe full changelog for this release is available on our [wiki](https://github.com/lodash/lodash/wiki/Changelog).<br>\nA list of upcoming features is available on our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Features *not* in Underscore\n\n * AMD loader support ([curl](https://github.com/cujojs/curl), [dojo](http://dojotoolkit.org/), [requirejs](http://requirejs.org/), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”*](http://michaux.ca/articles/lazy-function-definition-pattern) defined methods\n * [_.clone](http://lodash.com/docs#clone) supports shallow cloning of `Date` & `RegExp` objects\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays & objects\n * [_.constant](http://lodash.com/docs#constant) & [_.property](http://lodash.com/docs#property) function generators for composing functions\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex`\n * [_.create](http://lodash.com/docs#create) for easier object inheritance\n * [_.createCallback](http://lodash.com/docs#createCallback) for extending callbacks in methods & mixins\n * [_.curry](http://lodash.com/docs#curry) for creating [curried](http://hughfdjackson.com/javascript/2013/07/06/why-curry-helps/) functions\n * [_.debounce](http://lodash.com/docs#debounce) & [_.throttle](http://lodash.com/docs#throttle) accept additional `options` for more control\n * [_.findIndex](http://lodash.com/docs#findIndex) & [_.findKey](http://lodash.com/docs#findKey) for finding indexes & keys\n * [_.forEach](http://lodash.com/docs#forEach) is chainable & supports exiting early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating own & inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) for checking if values are created by `Object`\n * [_.mapValues](http://lodash.com/docs#mapValues) for [mapping](http://lodash.com/docs#map) values to an object\n * [_.memoize](http://lodash.com/docs#memoize) exposes the `cache` of memoized functions\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.noop](http://lodash.com/docs#noop) for function placeholders\n * [_.now](http://lodash.com/docs#now) as a cross-browser `Date.now` alternative\n * [_.parseInt](http://lodash.com/docs#parseInt) for consistent behavior\n * [_.pull](http://lodash.com/docs#pull) & [_.remove](http://lodash.com/docs#remove) for mutating arrays\n * [_.random](http://lodash.com/docs#random) supports returning floating-point numbers\n * [_.runInContext](http://lodash.com/docs#runInContext) for easier mocking\n * [_.sortBy](http://lodash.com/docs#sortBy) supports sorting by multiple properties\n * [_.support](http://lodash.com/docs#support) for flagging environment features\n * [_.template](http://lodash.com/docs#template) supports [*“imports”*](http://lodash.com/docs#templateSettings_imports) options & [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals)\n * [_.transform](http://lodash.com/docs#transform) as a powerful alternative to [_.reduce](http://lodash.com/docs#reduce) for transforming objects\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.xor](http://lodash.com/docs#xor) as a companion to [_.difference](http://lodash.com/docs#difference), [_.intersection](http://lodash.com/docs#intersection), & [_.union](http://lodash.com/docs#union)\n * [_.zip](http://lodash.com/docs#zip) is capable of unzipping values\n * [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick), &\n   [more](http://lodash.com/docs \"_.assign, _.clone, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest\") accept callbacks\n * [_.contains](http://lodash.com/docs#contains), [_.toArray](http://lodash.com/docs#toArray), &\n   [more](http://lodash.com/docs \"_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.forEachRight, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.size, _.some, _.sortBy, _.where\") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.map](http://lodash.com/docs#map), &\n   [more](http://lodash.com/docs \"_.countBy, _.every, _.find, _.findKey, _.findLast, _.findLastIndex, _.findLastKey, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq\") support *“_.pluck”* & *“_.where”* shorthands\n * [_.findLast](http://lodash.com/docs#findLast), [_.findLastIndex](http://lodash.com/docs#findLastIndex), &\n   [more](http://lodash.com/docs \"_.findLastKey, _.forEachRight, _.forInRight, _.forOwnRight, _.partialRight\") right-associative methods\n\n## Resources\n\n * Podcasts\n  - [JavaScript Jabber](http://javascriptjabber.com/079-jsj-lo-dash-with-john-david-dalton/)\n\n * Posts\n  - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n  - [Custom builds in Lo-Dash 2.0](http://kitcambridge.be/blog/custom-builds-in-lo-dash-2-dot-0/)\n\n * Videos\n  - [Introduction](https://vimeo.com/44154599)\n  - [Origins](https://vimeo.com/44154600)\n  - [Optimizations & builds](https://vimeo.com/44154601)\n  - [Native method use](https://vimeo.com/48576012)\n  - [Testing](https://vimeo.com/45865290)\n  - [CascadiaJS ’12](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n A list of other community created podcasts, posts, & videos is available on our [wiki](https://github.com/lodash/lodash/wiki/Resources).\n\n## Support\n\nTested in Chrome 5~31, Firefox 2~25, IE 6-11, Opera 9.25~17, Safari 3-7, Node.js 0.6.21~0.10.22, Narwhal 0.3.2, PhantomJS 1.9.2, RingoJS 0.9, & Rhino 1.7RC5.<br>\nAutomated browser test results [are available](https://saucelabs.com/u/lodash) as well as [Travis CI](https://travis-ci.org/) builds for [lodash](https://travis-ci.org/lodash/lodash/), [lodash-cli](https://travis-ci.org/lodash/lodash-cli/), [lodash-amd](https://travis-ci.org/lodash/lodash-amd/), [lodash-node](https://travis-ci.org/lodash/lodash-node/), & [grunt-lodash](https://travis-ci.org/lodash/grunt-lodash).\n\nSpecial thanks to [Sauce Labs](https://saucelabs.com/) for providing automated browser testing.<br>\n[![Sauce Labs](http://lodash.com/_img/sauce.png)](https://saucelabs.com/ \"Sauce Labs: Selenium Testing & More\")\n\n## Installation & usage\n\nIn browsers:\n\n```html\n<script src=\"lodash.js\"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm i --save lodash\n\n{sudo} npm i -g lodash\nnpm ln lodash\n```\n\nIn [Node.js](http://nodejs.org/) & [Ringo](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n// or as Underscore\nvar _ = require('lodash/dist/lodash.underscore');\n```\n\n**Notes:**\n * Don’t assign values to [special variable](http://nodejs.org/api/repl.html#repl_repl_features) `_` when in the REPL\n * If Lo-Dash is installed globally, run [`npm ln lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory *before* requiring it\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader:\n\n```js\nrequire({\n  'packages': [\n    { 'name': 'lodash', 'location': 'path/to/lodash', 'main': 'lodash' }\n  ]\n},\n['lodash'], function(_) {\n  console.log(_.VERSION);\n});\n```\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](https://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://www.iceddev.com/) | [Kit Cambridge](http://kitcambridge.be/) | [Mathias Bynens](http://mathiasbynens.be/) |\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/lodash/lodash/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n","readmeFilename":"README.md","_id":"lodash@2.4.1","_shasum":"5b7723034dda4d262e5a46fb2c58d7cc22f71420","_from":"lodash@~2.4.1","_resolved":"https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz","scripts":{}},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/component.json","id":"underscore.string/component.json","options":{},"isModule":true,"mtime":1373890112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/dist/underscore.string.min.js","id":"underscore.string/dist/underscore.string.min.js","options":{},"isModule":true,"mtime":1373889747000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/lib/underscore.string.js","id":"underscore.string/lib/underscore.string.js","options":{},"isModule":true,"mtime":1373890128000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/package.json","data":{"name":"underscore.string","version":"2.3.3","description":"String manipulation extensions for Underscore.js javascript library.","homepage":"http://epeli.github.com/underscore.string/","contributors":[{"name":"Esa-Matti Suuronen","email":"esa-matti@suuronen.org","url":"http://esa-matti.suuronen.org/"},{"name":"Edward Tsech","email":"edtsech@gmail.com"},{"name":"Pavel Pravosud","email":"pavel@pravosud.com","url":"<https://github.com/rwz>"},{"name":"Sasha Koss","email":"kossnocorp@gmail.com","url":"http://koss.nocorp.me/"},{"name":"Vladimir Dronnikov","email":"dronnikov@gmail.com"},{"name":"Pete Kruckenberg","email":"https://github.com/kruckenb","url":"<https://github.com/kruckenb>"},{"name":"Paul Chavard","email":"paul@chavard.net","url":"<http://tchak.net>"},{"name":"Ed Finkler","email":"coj@funkatron.com","url":"<http://funkatron.com>"}],"keywords":["underscore","string"],"main":"./lib/underscore.string","directories":{"lib":"./lib"},"engines":{"node":"*"},"repository":{"type":"git","url":"https://github.com/epeli/underscore.string.git"},"bugs":{"url":"https://github.com/epeli/underscore.string/issues"},"licenses":[{"type":"MIT"}],"readme":"# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(\"   epeli  \").chain().trim().capitalize().value()\n=> \"Epeli\"\n```\n\n## Download ##\n\n  * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n  * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n    npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require('underscore.string');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _  = require('underscore');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require('underscore.string');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include('Underscore.string', 'string'); // => true\n```\n\n**Or Integrate with Underscore.js without module loading**\n\nRun the following expression after Underscore.js and Underscore.string are loaded\n```javascript\n// _.str becomes a global variable if no module loading is detected\n// Mix in non-conflict functions to Underscore namespace\n_.mixin(_.str.exports());\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize('epeli')\n=> \"Epeli\"\n```\n\n**numberFormat** _.numberFormat(number, [ decimals=0, decimalSeparator='.', orderSeparator=','])\n\nFormats the numbers.\n\n```javascript\n_.numberFormat(1000, 2)\n=> \"1,000.00\"\n\n_.numberFormat(123456789.123, 5, '.', ',')\n=> \"123,456,789.12300\"\n```\n\n\n**levenshtein** _.levenshtein(string1, string2)\n\nCalculates [Levenshtein distance][ld] between two strings.\n[ld]: http://en.wikipedia.org/wiki/Levenshtein_distance\n\n```javascript\n_.levenshtein('kitten', 'kittah')\n=> 2\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize(\"foo Bar\")\n=> \"Foo Bar\"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop('whitespace', 3)\n=> ['whi','tes','pac','e']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(\" foo    bar   \")\n=> 'foo bar'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars('Hello')\n=> ['H','e','l','l','o']\n```\n\n**swapCase** _.swapCase(str)\n\nReturns a copy of the string in which all the case-based characters have had their case swapped.\n\n```javascript\n_.swapCase('hELLO')\n=> 'Hello'\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include(\"foobar\", \"ob\")\n=> true\n```\n\n(removed) **includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes(\"foobar\", \"ob\")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_('Hello world').count('l')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_('<div>Blah blah blah</div>').escapeHTML();\n=> '&lt;div&gt;Blah blah blah&lt;/div&gt;'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_('&lt;div&gt;Blah blah blah&lt;/div&gt;').unescapeHTML();\n=> '<div>Blah blah blah</div>'\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_('Hello ').insert(6, 'world')\n=> 'Hello world'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_('').isBlank(); // => true\n_('\\n').isBlank(); // => true\n_(' ').isBlank(); // => true\n_('a').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(\" \", \"foo\", \"bar\")\n=> \"foo bar\"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines(\"Hello\\nWorld\")\n=> [\"Hello\", \"World\"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse(\"foobar\")\n=> 'raboof'\n```\n\n**splice**  _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli')\n=> 'https://edtsech@bitbucket.org/epeli/underscore.strings'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_(\"image.gif\").startsWith(\"image\")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_(\"image.gif\").endsWith(\"gif\")\n=> true\n```\n\n**succ**  _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_('a').succ()\n=> 'b'\n\n_('A').succ()\n=> 'B'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_('my name is epeli').titleize()\n=> 'My Name Is Epeli'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_('-moz-transform').camelize()\n=> 'MozTransform'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_('some_class_name').classify()\n=> 'SomeClassName'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_('MozTransform').underscored()\n=> 'moz_transform'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_('MozTransform').dasherize()\n=> '-moz-transform'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix '_id'.\n\n```javascript\n_('  capitalize dash-CamelCase_underscore trim  ').humanize()\n=> 'Capitalize dash camel case underscore trim'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(\"  foobar   \")\n=> \"foobar\"\n\n_.trim(\"_-foobar-_\", \"_-\")\n=> \"foobar\"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_('Hello world').truncate(5)\n=> 'Hello...'\n\n_('Hello').truncate(10)\n=> 'Hello'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_('Hello, world').prune(5)\n=> 'Hello...'\n\n_('Hello, world').prune(8)\n=> 'Hello...'\n\n_('Hello, world').prune(5, ' (read a lot more)')\n=> 'Hello, world' (as adding \"(read a lot more)\" would be longer than the original string)\n\n_('Hello, cruel world').prune(15)\n=> 'Hello, cruel...'\n\n_('Hello').prune(10)\n=> 'Hello'\n```\n\n**words** _.words(str, delimiter=/\\s+/)\n\nSplit string by delimiter (String or RegExp), /\\s+/ by default.\n\n```javascript\n_.words(\"   I   love   you   \")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I_love_you\", \"_\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I-love-you\", /-/)\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"   \")\n=> []\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf(\"%.1f\", 1.17)\n\"1.2\"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`\" \"`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad(\"1\", 8)\n-> \"       1\";\n\n_.pad(\"1\", 8, '0')\n-> \"00000001\";\n\n_.pad(\"1\", 8, '0', 'right')\n-> \"10000000\";\n\n_.pad(\"1\", 8, '0', 'both')\n-> \"00001000\";\n\n_.pad(\"1\", 8, 'bleepblorp', 'both')\n-> \"bbbb1bbb\";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, 'left')`\n\n```javascript\n_.lpad(\"1\", 8, '0')\n-> \"00000001\";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, 'right')`\n\n```javascript\n_.rpad(\"1\", 8, '0')\n-> \"10000000\";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, 'both')`\n\n```javascript\n_.lrpad(\"1\", 8, '0')\n-> \"00001000\";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber**  _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can't be parsed to number.\n\n```javascript\n_('2.556').toNumber()\n=> 3\n\n_('2.556').toNumber(1)\n=> 2.6\n```\n\n**strRight**  _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRight('_')\n=> \"is_a_test_string\";\n```\n\n**strRightBack**  _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRightBack('_')\n=> \"string\";\n```\n\n**strLeft**  _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeft('_')\n=> \"This\";\n```\n\n**strLeftBack**  _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeftBack('_')\n=> \"This_is_a_test\";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_('a <a href=\"#\">link</a>').stripTags()\n=> 'a link'\n\n_('a <a href=\"#\">link</a><script>alert(\"hello world!\")</script>').stripTags()\n=> 'a linkalert(\"hello world!\")'\n```\n\n**toSentence**  _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools and Prototype';\n\n_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ')\n=> 'jQuery, Mootools unt Prototype';\n```\n\n**toSentenceSerial**  _.toSentenceSerial(array, [delimiter, lastDelimiter])\n\nThe same as `toSentence`, but adjusts delimeters to use [Serial comma](http://en.wikipedia.org/wiki/Serial_comma).\n\n```javascript\n_.toSentenceSerial(['jQuery', 'Mootools'])\n=> 'jQuery and Mootools';\n\n_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools, and Prototype'\n\n_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ');\n=> 'jQuery, Mootools, unt Prototype';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat(\"foo\", 3)\n=> 'foofoofoo';\n\n_.repeat(\"foo\", 3, \"bar\")\n=> 'foobarfoobarfoo'\n```\n\n**surround** _.surround(string, wrap)\n\nSurround a string with another string.\n\n```javascript\n_.surround(\"foo\", \"ab\")\n=> 'abfooab';\n```\n\n**quote** _.quote(string, quoteChar) or _.q(string, quoteChar)\n\nQuotes a string. `quoteChar` defaults to `\"`.\n\n```javascript\n_.quote('foo', quoteChar)\n=> '\"foo\"';\n```\n**unquote** _.unquote(string, quoteChar)\n\nUnquotes a string. `quoteChar` defaults to `\"`.\n\n```javascript\n_.unquote('\"foo\"')\n=> 'foo';\n_.unquote(\"'foo'\", \"'\")\n=> 'foo';\n```\n\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify(\"Un éléphant à l'orée du bois\")\n=> 'un-elephant-a-loree-du-bois';\n```\n\n***Caution: this function is charset dependent***\n\n**naturalCmp** array.sort(_.naturalCmp)\n\nNaturally sort strings like humans would do.\n\n```javascript\n['foo20', 'foo5'].sort(_.naturalCmp)\n=> [ 'foo5', 'foo20' ]\n```\n\n**toBoolean** _.toBoolean(string) or _.toBool(string)\n\nTurn strings that can be commonly considered as booleas to real booleans. Such as \"true\", \"false\", \"1\" and \"0\". This function is case insensitive.\n\n```javascript\n_.toBoolean(\"true\")\n=> true\n_.toBoolean(\"FALSE\")\n=> false\n_.toBoolean(\"random\")\n=> undefined\n```\n\nIt can be customized by giving arrays of truth and falsy value matcher as parameters. Matchers can be also RegExp objects.\n\n```javascript\n_.toBoolean(\"truthy\", [\"truthy\"], [\"falsy\"])\n=> true\n_.toBoolean(\"true only at start\", [/^true/])\n=> true\n```\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_('foobar').include('bar')` aren't available;\n* Chaining isn't available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n    includeString: _.str.include,\n    reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_('foobar').chain().reverseString().includeString('rab').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n\n## Changelog ##\n\n### 2.3.3 ###\n\n* Add `toBoolean`\n* Add `unquote`\n* Add quote char option to `quote`\n* Support dash-separated words in `titleize`\n\n### 2.3.2 ###\n\n* Add `naturalCmp`\n* Bug fix to `camelize`\n* Add ă, ș, ț and ś to `slugify`\n* Doc updates\n* Add support for [component](http://component.io/)\n* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.1...v2.3.2)\n\n### 2.3.1 ###\n\n* Bug fixes to `escapeHTML`, `classify`, `substr`\n* Faster `count`\n* Documentation fixes\n* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.0...v2.3.1)\n\n### 2.3.0 ###\n\n* Added `numberformat` method\n* Added `levenshtein` method (Levenshtein distance calculation)\n* Added `swapCase` method\n* Changed default behavior of `words` method\n* Added `toSentenceSerial` method\n* Added `surround` and `quote` methods\n\n### 2.2.1 ###\n\n* Same as 2.2.0 (2.2.0rc on npm) to fix some npm drama\n\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible)\n* Removed 'reverse' function, because this function override underscore.js 'reverse'\n\n## Contribute ##\n\n* Fork & pull request. Don't forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n[Can be found here](https://github.com/epeli/underscore.string/graphs/contributors).\n\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","readmeFilename":"README.markdown","_id":"underscore.string@2.3.3","_from":"underscore.string@~2.3.3","scripts":{}},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/run-qunit.js","id":"underscore.string/test/run-qunit.js","options":{},"isModule":true,"requiredModules":["fs","webpage"],"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/speed.js","id":"underscore.string/test/speed.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/strings.js","id":"underscore.string/test/strings.js","options":{},"isModule":true,"mtime":1373889747000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/strings_standalone.js","id":"underscore.string/test/strings_standalone.js","options":{},"isModule":true,"mtime":1373532016000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/arrays.js","id":"underscore.string/test/test_underscore/arrays.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/chaining.js","id":"underscore.string/test/test_underscore/chaining.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/collections.js","id":"underscore.string/test/test_underscore/collections.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/functions.js","id":"underscore.string/test/test_underscore/functions.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/objects.js","id":"underscore.string/test/test_underscore/objects.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/speed.js","id":"underscore.string/test/test_underscore/speed.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/utility.js","id":"underscore.string/test/test_underscore/utility.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/vendor/jquery.js","id":"underscore.string/test/test_underscore/vendor/jquery.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js","id":"underscore.string/test/test_underscore/vendor/jslitmus.js","options":{},"isModule":true,"mtime":1373449276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/test_underscore/vendor/qunit.js","id":"underscore.string/test/test_underscore/vendor/qunit.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/node_modules/underscore.string/test/underscore.js","id":"underscore.string/test/underscore.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/package.json","data":{"name":"grunt-legacy-log","description":"The Grunt 0.4.x logger.","version":"0.1.1","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"homepage":"http://gruntjs.com/","repository":{"type":"git","url":"git://github.com/gruntjs/grunt-legacy-log.git"},"bugs":{"url":"http://github.com/gruntjs/grunt-legacy-log/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-legacy-log/blob/master/LICENSE-MIT"}],"main":"index.js","scripts":{"test":"grunt test"},"engines":{"node":">= 0.8.0"},"keywords":["grunt","legacy"],"dependencies":{"hooker":"~0.2.3","lodash":"~2.4.1","underscore.string":"~2.3.3","colors":"~0.6.2"},"devDependencies":{"grunt":"0.4.4","grunt-contrib-jshint":"~0.10.0","grunt-contrib-nodeunit":"~0.3.3","grunt-contrib-watch":"~0.6.1","hooker":"~0.2.3"},"readme":"# grunt-legacy-log\n> The Grunt 0.4.x logger.\n\n[![Build Status](https://secure.travis-ci.org/gruntjs/grunt-legacy-log.png?branch=master)](http://travis-ci.org/gruntjs/grunt-legacy-log)\n[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)\n\n","readmeFilename":"README.md","_id":"grunt-legacy-log@0.1.1","_from":"grunt-legacy-log@~0.1.0"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-log/test/index.js","id":"grunt-legacy-log/test/index.js","options":{},"isModule":true,"requiredModules":["grunt-legacy-log/index.js","hooker/lib/hooker.js"],"mtime":1399923150000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/Gruntfile.js","id":"grunt-legacy-util/Gruntfile.js","options":{},"isModule":true,"mtime":1399476903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/index.js","id":"grunt-legacy-util/index.js","options":{},"isModule":true,"requiredModules":["child_process","util/util.js","path","getobject/lib/getobject.js","hooker/lib/hooker.js","async/lib/async.js","lodash/index.js","which/which.js","exit/lib/exit.js","underscore.string/lib/underscore.string.js"],"mtime":1399651531000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/package.json","data":{"name":"grunt-legacy-util","description":"Some old grunt utils provided for backwards compatibility.","version":"0.2.0","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"homepage":"http://gruntjs.com/","repository":{"type":"git","url":"git://github.com/gruntjs/grunt-legacy-util.git"},"bugs":{"url":"http://github.com/gruntjs/grunt-legacy-util/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-legacy-util/blob/master/LICENSE-MIT"}],"main":"index.js","scripts":{"test":"grunt test"},"engines":{"node":">= 0.8.0"},"keywords":["grunt","legacy"],"dependencies":{"hooker":"~0.2.3","async":"~0.1.22","lodash":"~0.9.2","exit":"~0.1.1","underscore.string":"~2.2.1","getobject":"~0.1.0","which":"~1.0.5"},"devDependencies":{"grunt-contrib-jshint":"~0.10.0","grunt-contrib-nodeunit":"~0.2.0","grunt":"~0.4.2","temporary":"0.0.8","grunt-contrib-watch":"~0.6.1"},"readme":"# grunt-legacy-util\n> deprecated utilities from grunt\n\n[![Build Status](https://secure.travis-ci.org/gruntjs/grunt-legacy-util.png?branch=master)](http://travis-ci.org/gruntjs/grunt-legacy-util)\n[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)\n\n\nWith the next major release of Grunt, we will no longer support these APIs.  Where possible, please use the recommended modules in their place.  If you would like to support or improve any of these APIs, please notify us when you have published a backwards compatible npm module&mdash;we will then recommend its usage here.\n\n`grunt.util.namespace` use [getobject]  \n`grunt.util.hooker` use [hooker]  \n`grunt.util.async` use [async]  \n`grunt.util._` use [lodash]  \n`grunt.util.exit` use [exit]  \n`grunt.util.callbackify`  \n`grunt.util.error`  \n`grunt.util.linefeed`  \n`grunt.util.normalizelf`  \n`grunt.util.kindOf` use [lodash]  \n`grunt.util.toArray`\n`grunt.util.repeat`  \n`grunt.util.pluralize`  \n`grunt.util.recurse` use [traverse]  \n`grunt.util.spawn`  \n\n[getobject]: https://www.npmjs.org/package/getobject\n[hooker]: https://www.npmjs.org/package/hooker\n[async]: https://www.npmjs.org/package/async\n[lodash]: https://www.npmjs.org/package/lodash\n[exit]: https://www.npmjs.org/package/exit\n[traverse]: https://www.npmjs.org/package/traverse\n","readmeFilename":"README.md","_id":"grunt-legacy-util@0.2.0","_from":"grunt-legacy-util@~0.2.0"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/Gruntfile-execArgv-child.js","id":"grunt-legacy-util/test/fixtures/Gruntfile-execArgv-child.js","options":{},"isModule":true,"mtime":1397053407000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/Gruntfile-execArgv.js","id":"grunt-legacy-util/test/fixtures/Gruntfile-execArgv.js","options":{},"isModule":true,"requiredModules":["grunt-legacy-util/index.js"],"mtime":1397053407000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/Gruntfile-print-text.js","id":"grunt-legacy-util/test/fixtures/Gruntfile-print-text.js","options":{},"isModule":true,"mtime":1397053407000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/spawn-multibyte.js","id":"grunt-legacy-util/test/fixtures/spawn-multibyte.js","options":{},"isModule":true,"mtime":1397053407000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/spawn.js","id":"grunt-legacy-util/test/fixtures/spawn.js","options":{},"isModule":true,"requiredModules":["exit/lib/exit.js"],"mtime":1397053407000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/grunt-legacy-util/test/index.js","id":"grunt-legacy-util/test/index.js","options":{},"isModule":true,"requiredModules":["grunt-legacy-util/index.js","fs","path","temporary/lib/file"],"mtime":1399651531000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/child.js","id":"hooker/child.js","options":{},"isModule":true,"requiredModules":["path","fs","nodeunit"],"mtime":1327432191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/dist/ba-hooker.js","id":"hooker/dist/ba-hooker.js","options":{},"isModule":true,"mtime":1327894459000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/dist/ba-hooker.min.js","id":"hooker/dist/ba-hooker.min.js","options":{},"isModule":true,"mtime":1327894459000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/grunt.js","id":"hooker/grunt.js","options":{},"isModule":true,"mtime":1327282452000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/lib/hooker.js","id":"hooker/lib/hooker.js","options":{},"isModule":true,"mtime":1327503204000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/package.json","data":{"name":"hooker","description":"Monkey-patch (hook) functions for debugging and stuff.","version":"0.2.3","homepage":"http://github.com/cowboy/javascript-hooker","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"repository":{"type":"git","url":"git://github.com/cowboy/javascript-hooker.git"},"bugs":{"url":"https://github.com/cowboy/javascript-hooker/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cowboy/javascript-hooker/blob/master/LICENSE-MIT"}],"dependencies":{},"devDependencies":{"grunt":"~0.2.1"},"keywords":["patch","hook","function","debug","aop"],"engines":{"node":"*"},"main":"lib/hooker","scripts":{"test":"grunt test"},"readme":"# JavaScript Hooker\n\nMonkey-patch (hook) functions for debugging and stuff.\n\n## Getting Started\n\nThis code should work just fine in Node.js:\n\nFirst, install the module with: `npm install hooker`\n\n```javascript\nvar hooker = require('hooker');\nhooker.hook(Math, \"max\", function() {\n  console.log(arguments.length + \" arguments passed\");\n});\nMath.max(5, 6, 7) // logs: \"3 arguments passed\", returns 7\n```\n\nOr in the browser:\n\n```html\n<script src=\"dist/ba-hooker.min.js\"></script>\n<script>\nhook(Math, \"max\", function() {\n  console.log(arguments.length + \" arguments passed\");\n});\nMath.max(5, 6, 7) // logs: \"3 arguments passed\", returns 7\n</script>\n```\n\nIn the browser, you can attach Hooker's methods to any object.\n\n```html\n<script>\nthis.exports = Bocoup.utils;\n</script>\n<script src=\"dist/ba-hooker.min.js\"></script>\n<script>\nBocoup.utils.hook(Math, \"max\", function() {\n  console.log(arguments.length + \" arguments passed\");\n});\nMath.max(5, 6, 7) // logs: \"3 arguments passed\", returns 7\n</script>\n```\n\n## Documentation\n\n### hooker.hook\nMonkey-patch (hook) one or more methods of an object.\n#### Signature:\n`hooker.hook(object, [ props, ] [options | prehookFunction])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all enumerable methods of `object` will be hooked.\n#### `options`\n* `pre` - (Function) a pre-hook function to be executed before the original function. Arguments passed into the method will be passed into the pre-hook function as well.\n* `post` - (Function) a post-hook function to be executed after the original function. The original function's result is passed into the post-hook function as its first argument, followed by the method arguments.\n* `once` - (Boolean) if true, auto-unhook the function after the first execution.\n* `passName` - (Boolean) if true, pass the name of the method into the pre-hook function as its first arg (preceding all other arguments), and into the post-hook function as the second arg (after result but preceding all other arguments).\n\n#### Returns:\nAn array of hooked method names.\n\n### hooker.unhook\nUn-monkey-patch (unhook) one or more methods of an object.\n#### Signature:\n`hooker.unhook(object [, props ])`\n#### `props`\nThe optional `props` argument can be a method name, array of method names or null. If null (or omitted), all methods of `object` will be unhooked.\n#### Returns:\nAn array of unhooked method names.\n\n### hooker.orig\nGet a reference to the original method from a hooked function.\n#### Signature:\n`hooker.orig(object, props)`\n\n### hooker.override\nWhen a pre- or post-hook returns the result of this function, the value\npassed will be used in place of the original function's return value. Any\npost-hook override value will take precedence over a pre-hook override value.\n#### Signature:\n`hooker.override(value)`\n\n### hooker.preempt\nWhen a pre-hook returns the result of this function, the value passed will\nbe used in place of the original function's return value, and the original\nfunction will NOT be executed.\n#### Signature:\n`hooker.preempt(value)`\n\n### hooker.filter\nWhen a pre-hook returns the result of this function, the context and\narguments passed will be applied into the original function.\n#### Signature:\n`hooker.filter(context, arguments)`\n\n\n## Examples\nSee the unit tests for more examples.\n\n```javascript\nvar hooker = require('hooker');\n// Simple logging.\nhooker.hook(Math, \"max\", function() {\n  console.log(arguments.length + \" arguments passed\");\n});\nMath.max(5, 6, 7) // logs: \"3 arguments passed\", returns 7\n\nhooker.unhook(Math, \"max\"); // (This is assumed between all further examples)\nMath.max(5, 6, 7) // 7\n\n// Returning hooker.override(value) overrides the original value.\nhooker.hook(Math, \"max\", function() {\n  if (arguments.length === 0) {\n    return hooker.override(9000);\n  }\n});\nMath.max(5, 6, 7) // 7\nMath.max() // 9000\n\n// Auto-unhook after one execution.\nhooker.hook(Math, \"max\", {\n  once: true,\n  pre: function() {\n    console.log(\"Init something here\");\n  }\n});\nMath.max(5, 6, 7) // logs: \"Init something here\", returns 7\nMath.max(5, 6, 7) // 7\n\n// Filter `this` and arguments through a pre-hook function.\nhooker.hook(Math, \"max\", {\n  pre: function() {\n    var args = [].map.call(arguments, function(num) {\n      return num * 2;\n    });\n    return hooker.filter(this, args); // thisValue, arguments\n  }\n});\nMath.max(5, 6, 7) // 14\n\n// Modify the original function's result with a post-hook function.\nhooker.hook(Math, \"max\", {\n  post: function(result) {\n    return hooker.override(result * 100);\n  }\n});\nMath.max(5, 6, 7) // 700\n\n// Hook every Math method. Note: if Math's methods were enumerable, the second\n// argument could be omitted. Since they aren't, an array of properties to hook\n// must be explicitly passed. Non-method properties will be skipped.\n// See a more generic example here: http://bit.ly/vvJlrS\nhooker.hook(Math, Object.getOwnPropertyNames(Math), {\n  passName: true,\n  pre: function(name) {\n    console.log(\"=> Math.\" + name, [].slice.call(arguments, 1));\n  },\n  post: function(result, name) {\n    console.log(\"<= Math.\" + name, result);\n  }\n});\n\nvar result = Math.max(5, 6, 7);\n// => Math.max [ 5, 6, 7 ]\n// <= Math.max 7\nresult // 7\n\nresult = Math.ceil(3.456);\n// => Math.ceil [ 3.456 ]\n// <= Math.ceil 4\nresult // 4\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt).\n\n_Also, please don't edit files in the \"dist\" subdirectory as they are generated via grunt. You'll find source code in the \"lib\" subdirectory!_\n\n## Release History\n2012/01/09 - v0.2.3 - First official release.\n\n## License\nCopyright (c) 2012 \"Cowboy\" Ben Alman  \nLicensed under the MIT license.  \n<http://benalman.com/about/license/>\n","readmeFilename":"README.md","_id":"hooker@0.2.3","_from":"hooker@~0.2.3"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/parent.js","id":"hooker/parent.js","options":{},"isModule":true,"requiredModules":["child_process"],"mtime":1327432396000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/hooker/test/hooker_test.js","id":"hooker/test/hooker_test.js","options":{},"isModule":true,"requiredModules":["hooker/lib/hooker.js"],"mtime":1327870698000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/encodings/big5.js","id":"iconv-lite/encodings/big5.js","options":{},"isModule":true,"requiredModules":["iconv-lite/encodings/table/big5.js"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/encodings/gbk.js","id":"iconv-lite/encodings/gbk.js","options":{},"isModule":true,"requiredModules":["iconv-lite/encodings/table/gbk.js"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/encodings/singlebyte.js","id":"iconv-lite/encodings/singlebyte.js","options":{},"isModule":true,"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/encodings/table/big5.js","id":"iconv-lite/encodings/table/big5.js","options":{},"isModule":true,"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/encodings/table/gbk.js","id":"iconv-lite/encodings/table/gbk.js","options":{},"isModule":true,"mtime":1322134156000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/generation/generate-big5-table.js","id":"iconv-lite/generation/generate-big5-table.js","options":{},"isModule":true,"requiredModules":["http","fs"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/generation/generate-singlebyte.js","id":"iconv-lite/generation/generate-singlebyte.js","options":{},"isModule":true,"requiredModules":["fs","iconv"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/index.js","id":"iconv-lite/index.js","options":{},"isModule":true,"requiredModules":["iconv-lite/encodings/singlebyte.js","iconv-lite/encodings/gbk.js","iconv-lite/encodings/big5.js"],"mtime":1373851118000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/package.json","data":{"name":"iconv-lite","description":"Convert character encodings in pure javascript.","version":"0.2.11","license":"MIT","keywords":["iconv","convert","charset"],"author":{"name":"Alexander Shtuchkin","email":"ashtuchkin@gmail.com"},"contributors":[{"name":"Jinwu Zhan","url":"https://github.com/jenkinv"},{"name":"Adamansky Anton","url":"https://github.com/adamansky"},{"name":"George Stagas","url":"https://github.com/stagas"},{"name":"Mike D Pilsbury","url":"https://github.com/pekim"},{"name":"Niggler","url":"https://github.com/Niggler"},{"name":"wychi","url":"https://github.com/wychi"},{"name":"David Kuo","url":"https://github.com/david50407"},{"name":"ChangZhuo Chen","url":"https://github.com/czchen"},{"name":"Lee Treveil","url":"https://github.com/leetreveil"},{"name":"Brian White","url":"https://github.com/mscdex"}],"main":"index.js","homepage":"https://github.com/ashtuchkin/iconv-lite","repository":{"type":"git","url":"git://github.com/ashtuchkin/iconv-lite.git"},"engines":{"node":">=0.4.0"},"scripts":{"test":"vows --spec"},"devDependencies":{"vows":"","iconv":">=1.1"},"readme":"iconv-lite - pure javascript character encoding conversion\n======================================================================\n\n[![Build Status](https://secure.travis-ci.org/ashtuchkin/iconv-lite.png?branch=master)](http://travis-ci.org/ashtuchkin/iconv-lite)\n\n## Features\n\n*   Pure javascript. Doesn't need native code compilation.\n*   Easy API.\n*   Works on Windows and in sandboxed environments like [Cloud9](http://c9.io).\n*   Encoding is much faster than node-iconv (see below for performance comparison).\n\n## Usage\n\n    var iconv = require('iconv-lite');\n    \n    // Convert from an encoded buffer to string.\n    str = iconv.decode(buf, 'win1251');\n    \n    // Convert from string to an encoded buffer.\n    buf = iconv.encode(\"Sample input string\", 'win1251');\n\n    // Check if encoding is supported\n    iconv.encodingExists(\"us-ascii\")\n\n\n## Supported encodings\n\n*   All node.js native encodings: 'utf8', 'ucs2', 'ascii', 'binary', 'base64'\n*   All widespread single byte encodings: Windows 125x family, ISO-8859 family, \n    IBM/DOS codepages, Macintosh family, KOI8 family. \n    Aliases like 'latin1', 'us-ascii' also supported.\n*   Multibyte encodings: 'gbk', 'gb2313', 'Big5', 'cp950'.\n\nOthers are easy to add, see the source. Please, participate.\nMost encodings are generated from node-iconv. Thank you Ben Noordhuis and iconv authors!\n\nNot supported yet: EUC family, Shift_JIS.\n\n\n## Encoding/decoding speed\n\nComparison with node-iconv module (1000x256kb, on Ubuntu 12.04, Core i5/2.5 GHz, Node v0.8.7). \nNote: your results may vary, so please always check on your hardware.\n\n    operation             iconv@1.2.4   iconv-lite@0.2.4 \n    ----------------------------------------------------------\n    encode('win1251')     ~115 Mb/s     ~230 Mb/s\n    decode('win1251')     ~95 Mb/s      ~130 Mb/s\n\n\n## Notes\n\nWhen decoding, a 'binary'-encoded string can be used as a source buffer.  \nUntranslatable characters are set to � or ?. No transliteration is currently supported, pull requests are welcome.\n\n## Testing\n\n    git clone git@github.com:ashtuchkin/iconv-lite.git\n    cd iconv-lite\n    npm install\n    npm test\n    \n    # To view performance:\n    node test/performance.js\n\n## TODO\n\n*   Support streaming character conversion, something like util.pipe(req, iconv.fromEncodingStream('latin1')).\n*   Add more encodings.\n*   Add transliteration (best fit char).\n*   Add tests and correct support of variable-byte encodings (currently work is delegated to node).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ashtuchkin/iconv-lite/issues"},"_id":"iconv-lite@0.2.11","_from":"iconv-lite@~0.2.11"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/test/big5-test.js","id":"iconv-lite/test/big5-test.js","options":{},"isModule":true,"requiredModules":["vows","fs","assert","iconv"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/test/cyrillic-test.js","id":"iconv-lite/test/cyrillic-test.js","options":{},"isModule":true,"requiredModules":["vows","assert"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/test/gbk-test.js","id":"iconv-lite/test/gbk-test.js","options":{},"isModule":true,"requiredModules":["vows","fs","assert","iconv"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js","id":"iconv-lite/test/greek-test.js","options":{},"isModule":true,"requiredModules":["vows","assert"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/test/main-test.js","id":"iconv-lite/test/main-test.js","options":{},"isModule":true,"requiredModules":["vows","assert"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/test/performance.js","id":"iconv-lite/test/performance.js","options":{},"isModule":true,"requiredModules":["iconv","iconv-lite/index.js"],"mtime":1369516868000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js","id":"iconv-lite/test/turkish-test.js","options":{},"isModule":true,"requiredModules":["vows","assert"],"mtime":1373851113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js","id":"js-yaml/bin/js-yaml.js","options":{},"isModule":true,"requiredModules":["fs","util/util.js","argparse/index.js","js-yaml/index.js","/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/package.json"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js","id":"js-yaml/examples/custom_types.js","options":{},"isModule":true,"requiredModules":["fs","path","util/util.js","js-yaml/lib/js-yaml.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/examples/dumper.js","id":"js-yaml/examples/dumper.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml.js","js-yaml/examples/dumper.json"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/examples/dumper.json","id":"js-yaml/examples/dumper.json","options":{},"isModule":true,"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js","id":"js-yaml/examples/sample_document.js","options":{},"isModule":true,"requiredModules":["util/util.js","js-yaml/lib/js-yaml.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/index.js","id":"js-yaml/index.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js","id":"js-yaml/lib/js-yaml/common.js","options":{},"isModule":true,"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js","id":"js-yaml/lib/js-yaml/dumper.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/exception.js","js-yaml/lib/js-yaml/schema/default.js","js-yaml/lib/js-yaml/schema/safe.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js","id":"js-yaml/lib/js-yaml/exception.js","options":{},"isModule":true,"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js","id":"js-yaml/lib/js-yaml/loader.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/exception.js","js-yaml/lib/js-yaml/mark.js","js-yaml/lib/js-yaml/schema/safe.js","js-yaml/lib/js-yaml/schema/default.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js","id":"js-yaml/lib/js-yaml/mark.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js","id":"js-yaml/lib/js-yaml/require.js","options":{},"isModule":true,"requiredModules":["fs","js-yaml/lib/js-yaml/loader.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js","id":"js-yaml/lib/js-yaml/schema/default.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/schema.js","js-yaml/lib/js-yaml/schema/safe.js","js-yaml/lib/js-yaml/type/js/undefined.js","js-yaml/lib/js-yaml/type/js/regexp.js","js-yaml/lib/js-yaml/type/js/function.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js","id":"js-yaml/lib/js-yaml/schema/minimal.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/schema.js","js-yaml/lib/js-yaml/type/str.js","js-yaml/lib/js-yaml/type/seq.js","js-yaml/lib/js-yaml/type/map.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js","id":"js-yaml/lib/js-yaml/schema/safe.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/schema.js","js-yaml/lib/js-yaml/schema/minimal.js","js-yaml/lib/js-yaml/type/null.js","js-yaml/lib/js-yaml/type/bool.js","js-yaml/lib/js-yaml/type/int.js","js-yaml/lib/js-yaml/type/float.js","js-yaml/lib/js-yaml/type/timestamp.js","js-yaml/lib/js-yaml/type/merge.js","js-yaml/lib/js-yaml/type/binary.js","js-yaml/lib/js-yaml/type/omap.js","js-yaml/lib/js-yaml/type/pairs.js","js-yaml/lib/js-yaml/type/set.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js","id":"js-yaml/lib/js-yaml/schema.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/exception.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js","id":"js-yaml/lib/js-yaml/type/binary.js","options":{},"isModule":true,"requiredModules":["buffer","js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js","id":"js-yaml/lib/js-yaml/type/bool.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js","id":"js-yaml/lib/js-yaml/type/float.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js","id":"js-yaml/lib/js-yaml/type/js/function.js","options":{},"isModule":true,"requiredModules":["esprima/esprima.js","js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","id":"js-yaml/lib/js-yaml/type/js/regexp.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js","id":"js-yaml/lib/js-yaml/type/int.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","id":"js-yaml/lib/js-yaml/type/js/undefined.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js","id":"js-yaml/lib/js-yaml/type/map.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js","id":"js-yaml/lib/js-yaml/type/merge.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js","id":"js-yaml/lib/js-yaml/type/null.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js","id":"js-yaml/lib/js-yaml/type/omap.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js","id":"js-yaml/lib/js-yaml/type/pairs.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js","id":"js-yaml/lib/js-yaml/type/seq.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js","id":"js-yaml/lib/js-yaml/type/set.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js","id":"js-yaml/lib/js-yaml/type/str.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js","id":"js-yaml/lib/js-yaml/type/timestamp.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/common.js","js-yaml/lib/js-yaml/type.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js","id":"js-yaml/lib/js-yaml/type.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/exception.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js","id":"js-yaml/lib/js-yaml.js","options":{},"isModule":true,"requiredModules":["js-yaml/lib/js-yaml/loader.js","js-yaml/lib/js-yaml/dumper.js","js-yaml/lib/js-yaml/type.js","js-yaml/lib/js-yaml/schema.js","js-yaml/lib/js-yaml/schema/minimal.js","js-yaml/lib/js-yaml/schema/safe.js","js-yaml/lib/js-yaml/schema/default.js","js-yaml/lib/js-yaml/exception.js","js-yaml/lib/js-yaml/require.js"],"mtime":1366987222000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js","id":"argparse/examples/arguments.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js","id":"argparse/examples/choice.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js","id":"argparse/examples/constants.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js","id":"argparse/examples/help.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js","id":"argparse/examples/nargs.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js","id":"argparse/examples/parents.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js","id":"argparse/examples/prefix_chars.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js","id":"argparse/examples/sub_commands.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js","id":"argparse/examples/sum.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js","id":"argparse/examples/testformatters.js","options":{},"isModule":true,"requiredModules":["assert","underscore/underscore.js","underscore.string/lib/underscore.string.js","argparse/index.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js","id":"argparse/index.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argparse.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js","id":"argparse/lib/action/append/constant.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js","id":"argparse/lib/action/append.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action.js","argparse/lib/const.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js","id":"argparse/lib/action/count.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js","id":"argparse/lib/action/help.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action.js","argparse/lib/const.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js","id":"argparse/lib/action/store/constant.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js","id":"argparse/lib/action/store/false.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action/store/constant.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js","id":"argparse/lib/action/store/true.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action/store/constant.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js","id":"argparse/lib/action/store.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action.js","argparse/lib/const.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js","id":"argparse/lib/action/subparsers.js","options":{},"isModule":true,"requiredModules":["util/util.js","underscore/underscore.js","argparse/lib/action.js","argparse/lib/const.js","argparse/lib/argument/error.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js","id":"argparse/lib/action/version.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action.js","argparse/lib/const.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js","id":"argparse/lib/action.js","options":{},"isModule":true,"requiredModules":["argparse/lib/const.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js","id":"argparse/lib/action_container.js","options":{},"isModule":true,"requiredModules":["util/util.js","underscore/underscore.js","underscore.string/lib/underscore.string.js","argparse/lib/const.js","argparse/lib/action/help.js","argparse/lib/action/append.js","argparse/lib/action/append/constant.js","argparse/lib/action/count.js","argparse/lib/action/store.js","argparse/lib/action/store/constant.js","argparse/lib/action/store/true.js","argparse/lib/action/store/false.js","argparse/lib/action/version.js","argparse/lib/action/subparsers.js","argparse/lib/argument/error.js","argparse/lib/argument/group.js","argparse/lib/argument/exclusive.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js","id":"argparse/lib/argparse.js","options":{},"isModule":true,"requiredModules":["argparse/lib/argument_parser.js","argparse/lib/namespace.js","argparse/lib/action.js","argparse/lib/help/formatter.js","argparse/lib/const.js","argparse/lib/help/added_formatters.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js","id":"argparse/lib/argument/error.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js","id":"argparse/lib/argument/exclusive.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/argument/group.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js","id":"argparse/lib/argument/group.js","options":{},"isModule":true,"requiredModules":["util/util.js","argparse/lib/action_container.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js","id":"argparse/lib/argument_parser.js","options":{},"isModule":true,"requiredModules":["util/util.js","path","underscore/underscore.js","underscore.string/lib/underscore.string.js","argparse/lib/const.js","argparse/lib/action_container.js","argparse/lib/argument/error.js","argparse/lib/help/formatter.js","argparse/lib/namespace.js","fs"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js","id":"argparse/lib/const.js","options":{},"isModule":true,"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js","id":"argparse/lib/help/added_formatters.js","options":{},"isModule":true,"requiredModules":["util/util.js","underscore/underscore.js","underscore.string/lib/underscore.string.js","argparse/lib/const.js","argparse/lib/help/formatter.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js","id":"argparse/lib/help/formatter.js","options":{},"isModule":true,"requiredModules":["underscore/underscore.js","underscore.string/lib/underscore.string.js","argparse/lib/const.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js","id":"argparse/lib/namespace.js","options":{},"isModule":true,"requiredModules":["underscore/underscore.js"],"mtime":1368367841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js","id":"underscore/index.js","options":{},"isModule":true,"requiredModules":["underscore/underscore.js"],"mtime":1323210757000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json","data":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.4.4","devDependencies":{"phantomjs":"0.2.2"},"scripts":{"test":"phantomjs test/vendor/runner.js test/index.html?noglobals=true"},"readme":"                       __\n                      /\\ \\                                                         __\n     __  __    ___    \\_\\ \\     __   _ __   ____    ___    ___   _ __    __       /\\_\\    ____\n    /\\ \\/\\ \\ /' _ `\\  /'_  \\  /'__`\\/\\  __\\/ ,__\\  / ___\\ / __`\\/\\  __\\/'__`\\     \\/\\ \\  /',__\\\n    \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\  __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\  __/  __  \\ \\ \\/\\__, `\\\n     \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n      \\/___/  \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/  \\/____/\\/___/  \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n                                                                                  \\ \\____/\n                                                                                   \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/documentcloud/underscore/issues"},"_id":"underscore@1.4.4","_from":"underscore@~1.4.3"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js","id":"underscore/underscore-min.js","options":{},"isModule":true,"mtime":1359512028000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js","id":"underscore/underscore.js","options":{},"isModule":true,"mtime":1359512028000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json","id":"underscore.string/component.json","options":{},"isModule":true,"mtime":1373890112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js","id":"underscore.string/dist/underscore.string.min.js","options":{},"isModule":true,"mtime":1373889747000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js","id":"underscore.string/lib/underscore.string.js","options":{},"isModule":true,"mtime":1373890128000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json","data":{"name":"underscore.string","version":"2.3.3","description":"String manipulation extensions for Underscore.js javascript library.","homepage":"http://epeli.github.com/underscore.string/","contributors":[{"name":"Esa-Matti Suuronen","email":"esa-matti@suuronen.org","url":"http://esa-matti.suuronen.org/"},{"name":"Edward Tsech","email":"edtsech@gmail.com"},{"name":"Pavel Pravosud","email":"pavel@pravosud.com","url":"<https://github.com/rwz>"},{"name":"Sasha Koss","email":"kossnocorp@gmail.com","url":"http://koss.nocorp.me/"},{"name":"Vladimir Dronnikov","email":"dronnikov@gmail.com"},{"name":"Pete Kruckenberg","email":"https://github.com/kruckenb","url":"<https://github.com/kruckenb>"},{"name":"Paul Chavard","email":"paul@chavard.net","url":"<http://tchak.net>"},{"name":"Ed Finkler","email":"coj@funkatron.com","url":"<http://funkatron.com>"}],"keywords":["underscore","string"],"main":"./lib/underscore.string","directories":{"lib":"./lib"},"engines":{"node":"*"},"repository":{"type":"git","url":"https://github.com/epeli/underscore.string.git"},"bugs":{"url":"https://github.com/epeli/underscore.string/issues"},"licenses":[{"type":"MIT"}],"readme":"# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(\"   epeli  \").chain().trim().capitalize().value()\n=> \"Epeli\"\n```\n\n## Download ##\n\n  * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n  * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n    npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require('underscore.string');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _  = require('underscore');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require('underscore.string');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include('Underscore.string', 'string'); // => true\n```\n\n**Or Integrate with Underscore.js without module loading**\n\nRun the following expression after Underscore.js and Underscore.string are loaded\n```javascript\n// _.str becomes a global variable if no module loading is detected\n// Mix in non-conflict functions to Underscore namespace\n_.mixin(_.str.exports());\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize('epeli')\n=> \"Epeli\"\n```\n\n**numberFormat** _.numberFormat(number, [ decimals=0, decimalSeparator='.', orderSeparator=','])\n\nFormats the numbers.\n\n```javascript\n_.numberFormat(1000, 2)\n=> \"1,000.00\"\n\n_.numberFormat(123456789.123, 5, '.', ',')\n=> \"123,456,789.12300\"\n```\n\n\n**levenshtein** _.levenshtein(string1, string2)\n\nCalculates [Levenshtein distance][ld] between two strings.\n[ld]: http://en.wikipedia.org/wiki/Levenshtein_distance\n\n```javascript\n_.levenshtein('kitten', 'kittah')\n=> 2\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize(\"foo Bar\")\n=> \"Foo Bar\"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop('whitespace', 3)\n=> ['whi','tes','pac','e']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(\" foo    bar   \")\n=> 'foo bar'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars('Hello')\n=> ['H','e','l','l','o']\n```\n\n**swapCase** _.swapCase(str)\n\nReturns a copy of the string in which all the case-based characters have had their case swapped.\n\n```javascript\n_.swapCase('hELLO')\n=> 'Hello'\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include(\"foobar\", \"ob\")\n=> true\n```\n\n(removed) **includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes(\"foobar\", \"ob\")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_('Hello world').count('l')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_('<div>Blah blah blah</div>').escapeHTML();\n=> '&lt;div&gt;Blah blah blah&lt;/div&gt;'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_('&lt;div&gt;Blah blah blah&lt;/div&gt;').unescapeHTML();\n=> '<div>Blah blah blah</div>'\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_('Hello ').insert(6, 'world')\n=> 'Hello world'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_('').isBlank(); // => true\n_('\\n').isBlank(); // => true\n_(' ').isBlank(); // => true\n_('a').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(\" \", \"foo\", \"bar\")\n=> \"foo bar\"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines(\"Hello\\nWorld\")\n=> [\"Hello\", \"World\"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse(\"foobar\")\n=> 'raboof'\n```\n\n**splice**  _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli')\n=> 'https://edtsech@bitbucket.org/epeli/underscore.strings'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_(\"image.gif\").startsWith(\"image\")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_(\"image.gif\").endsWith(\"gif\")\n=> true\n```\n\n**succ**  _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_('a').succ()\n=> 'b'\n\n_('A').succ()\n=> 'B'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_('my name is epeli').titleize()\n=> 'My Name Is Epeli'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_('-moz-transform').camelize()\n=> 'MozTransform'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_('some_class_name').classify()\n=> 'SomeClassName'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_('MozTransform').underscored()\n=> 'moz_transform'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_('MozTransform').dasherize()\n=> '-moz-transform'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix '_id'.\n\n```javascript\n_('  capitalize dash-CamelCase_underscore trim  ').humanize()\n=> 'Capitalize dash camel case underscore trim'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(\"  foobar   \")\n=> \"foobar\"\n\n_.trim(\"_-foobar-_\", \"_-\")\n=> \"foobar\"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_('Hello world').truncate(5)\n=> 'Hello...'\n\n_('Hello').truncate(10)\n=> 'Hello'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_('Hello, world').prune(5)\n=> 'Hello...'\n\n_('Hello, world').prune(8)\n=> 'Hello...'\n\n_('Hello, world').prune(5, ' (read a lot more)')\n=> 'Hello, world' (as adding \"(read a lot more)\" would be longer than the original string)\n\n_('Hello, cruel world').prune(15)\n=> 'Hello, cruel...'\n\n_('Hello').prune(10)\n=> 'Hello'\n```\n\n**words** _.words(str, delimiter=/\\s+/)\n\nSplit string by delimiter (String or RegExp), /\\s+/ by default.\n\n```javascript\n_.words(\"   I   love   you   \")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I_love_you\", \"_\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I-love-you\", /-/)\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"   \")\n=> []\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf(\"%.1f\", 1.17)\n\"1.2\"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`\" \"`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad(\"1\", 8)\n-> \"       1\";\n\n_.pad(\"1\", 8, '0')\n-> \"00000001\";\n\n_.pad(\"1\", 8, '0', 'right')\n-> \"10000000\";\n\n_.pad(\"1\", 8, '0', 'both')\n-> \"00001000\";\n\n_.pad(\"1\", 8, 'bleepblorp', 'both')\n-> \"bbbb1bbb\";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, 'left')`\n\n```javascript\n_.lpad(\"1\", 8, '0')\n-> \"00000001\";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, 'right')`\n\n```javascript\n_.rpad(\"1\", 8, '0')\n-> \"10000000\";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, 'both')`\n\n```javascript\n_.lrpad(\"1\", 8, '0')\n-> \"00001000\";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber**  _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can't be parsed to number.\n\n```javascript\n_('2.556').toNumber()\n=> 3\n\n_('2.556').toNumber(1)\n=> 2.6\n```\n\n**strRight**  _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRight('_')\n=> \"is_a_test_string\";\n```\n\n**strRightBack**  _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRightBack('_')\n=> \"string\";\n```\n\n**strLeft**  _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeft('_')\n=> \"This\";\n```\n\n**strLeftBack**  _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeftBack('_')\n=> \"This_is_a_test\";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_('a <a href=\"#\">link</a>').stripTags()\n=> 'a link'\n\n_('a <a href=\"#\">link</a><script>alert(\"hello world!\")</script>').stripTags()\n=> 'a linkalert(\"hello world!\")'\n```\n\n**toSentence**  _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools and Prototype';\n\n_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ')\n=> 'jQuery, Mootools unt Prototype';\n```\n\n**toSentenceSerial**  _.toSentenceSerial(array, [delimiter, lastDelimiter])\n\nThe same as `toSentence`, but adjusts delimeters to use [Serial comma](http://en.wikipedia.org/wiki/Serial_comma).\n\n```javascript\n_.toSentenceSerial(['jQuery', 'Mootools'])\n=> 'jQuery and Mootools';\n\n_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools, and Prototype'\n\n_.toSentenceSerial(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ');\n=> 'jQuery, Mootools, unt Prototype';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat(\"foo\", 3)\n=> 'foofoofoo';\n\n_.repeat(\"foo\", 3, \"bar\")\n=> 'foobarfoobarfoo'\n```\n\n**surround** _.surround(string, wrap)\n\nSurround a string with another string.\n\n```javascript\n_.surround(\"foo\", \"ab\")\n=> 'abfooab';\n```\n\n**quote** _.quote(string, quoteChar) or _.q(string, quoteChar)\n\nQuotes a string. `quoteChar` defaults to `\"`.\n\n```javascript\n_.quote('foo', quoteChar)\n=> '\"foo\"';\n```\n**unquote** _.unquote(string, quoteChar)\n\nUnquotes a string. `quoteChar` defaults to `\"`.\n\n```javascript\n_.unquote('\"foo\"')\n=> 'foo';\n_.unquote(\"'foo'\", \"'\")\n=> 'foo';\n```\n\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify(\"Un éléphant à l'orée du bois\")\n=> 'un-elephant-a-loree-du-bois';\n```\n\n***Caution: this function is charset dependent***\n\n**naturalCmp** array.sort(_.naturalCmp)\n\nNaturally sort strings like humans would do.\n\n```javascript\n['foo20', 'foo5'].sort(_.naturalCmp)\n=> [ 'foo5', 'foo20' ]\n```\n\n**toBoolean** _.toBoolean(string) or _.toBool(string)\n\nTurn strings that can be commonly considered as booleas to real booleans. Such as \"true\", \"false\", \"1\" and \"0\". This function is case insensitive.\n\n```javascript\n_.toBoolean(\"true\")\n=> true\n_.toBoolean(\"FALSE\")\n=> false\n_.toBoolean(\"random\")\n=> undefined\n```\n\nIt can be customized by giving arrays of truth and falsy value matcher as parameters. Matchers can be also RegExp objects.\n\n```javascript\n_.toBoolean(\"truthy\", [\"truthy\"], [\"falsy\"])\n=> true\n_.toBoolean(\"true only at start\", [/^true/])\n=> true\n```\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_('foobar').include('bar')` aren't available;\n* Chaining isn't available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n    includeString: _.str.include,\n    reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_('foobar').chain().reverseString().includeString('rab').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n\n## Changelog ##\n\n### 2.3.3 ###\n\n* Add `toBoolean`\n* Add `unquote`\n* Add quote char option to `quote`\n* Support dash-separated words in `titleize`\n\n### 2.3.2 ###\n\n* Add `naturalCmp`\n* Bug fix to `camelize`\n* Add ă, ș, ț and ś to `slugify`\n* Doc updates\n* Add support for [component](http://component.io/)\n* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.1...v2.3.2)\n\n### 2.3.1 ###\n\n* Bug fixes to `escapeHTML`, `classify`, `substr`\n* Faster `count`\n* Documentation fixes\n* [Full changelog](https://github.com/epeli/underscore.string/compare/v2.3.0...v2.3.1)\n\n### 2.3.0 ###\n\n* Added `numberformat` method\n* Added `levenshtein` method (Levenshtein distance calculation)\n* Added `swapCase` method\n* Changed default behavior of `words` method\n* Added `toSentenceSerial` method\n* Added `surround` and `quote` methods\n\n### 2.2.1 ###\n\n* Same as 2.2.0 (2.2.0rc on npm) to fix some npm drama\n\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible)\n* Removed 'reverse' function, because this function override underscore.js 'reverse'\n\n## Contribute ##\n\n* Fork & pull request. Don't forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n[Can be found here](https://github.com/epeli/underscore.string/graphs/contributors).\n\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","readmeFilename":"README.markdown","_id":"underscore.string@2.3.3","_from":"underscore.string@~2.3.1","scripts":{}},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js","id":"underscore.string/test/run-qunit.js","options":{},"isModule":true,"requiredModules":["fs","webpage"],"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js","id":"underscore.string/test/speed.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js","id":"underscore.string/test/strings.js","options":{},"isModule":true,"mtime":1373889747000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings_standalone.js","id":"underscore.string/test/strings_standalone.js","options":{},"isModule":true,"mtime":1373532016000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js","id":"underscore.string/test/test_underscore/arrays.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js","id":"underscore.string/test/test_underscore/chaining.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js","id":"underscore.string/test/test_underscore/collections.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js","id":"underscore.string/test/test_underscore/functions.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js","id":"underscore.string/test/test_underscore/objects.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js","id":"underscore.string/test/test_underscore/speed.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js","id":"underscore.string/test/test_underscore/utility.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jquery.js","id":"underscore.string/test/test_underscore/vendor/jquery.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js","id":"underscore.string/test/test_underscore/vendor/jslitmus.js","options":{},"isModule":true,"mtime":1373449276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.js","id":"underscore.string/test/test_underscore/vendor/qunit.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/underscore.js","id":"underscore.string/test/underscore.js","options":{},"isModule":true,"mtime":1373531985000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json","data":{"name":"argparse","description":"Very powerful CLI arguments parser. Native port of argparse - python's options parsing library","version":"0.1.15","keywords":["cli","parser","argparse","option","args"],"homepage":"https://github.com/nodeca/argparse","contributors":[{"name":"Eugene Shkuropat"},{"name":"Paul Jacobson"}],"bugs":{"url":"https://github.com/nodeca/argparse/issues"},"license":{"type":"MIT","url":"https://github.com/nodeca/argparse/blob/master/LICENSE"},"repository":{"type":"git","url":"git://github.com/nodeca/argparse.git"},"main":"./index.js","scripts":{"test":"make test"},"dependencies":{"underscore":"~1.4.3","underscore.string":"~2.3.1"},"devDependencies":{"mocha":"*"},"engines":{"node":">= 0.6.0"},"readme":"argparse\n========\n\n[![Build Status](https://secure.travis-ci.org/nodeca/argparse.png?branch=master)](http://travis-ci.org/nodeca/argparse)\n\nCLI arguments parser for node.js. Javascript port of python's\n[argparse](http://docs.python.org/dev/library/argparse.html) module\n(original version 3.2). That's a full port, except some very rare options,\nrecorded in issue tracker.\n\n**NB.** Method names changed to camelCase. See [generated docs](http://nodeca.github.com/argparse/).\n\n\nExample\n=======\n\ntest.js file:\n\n```javascript\n#!/usr/bin/env node\n'use strict';\n\nvar ArgumentParser = require('../lib/argparse').ArgumentParser;\nvar parser = new ArgumentParser({\n  version: '0.0.1',\n  addHelp:true,\n  description: 'Argparse example'\n});\nparser.addArgument(\n  [ '-f', '--foo' ],\n  {\n    help: 'foo bar'\n  }\n);\nparser.addArgument(\n  [ '-b', '--bar' ],\n  {\n    help: 'bar foo'\n  }\n);\nvar args = parser.parseArgs();\nconsole.dir(args);\n```\n\nDisplay help:\n\n```\n$ ./test.js -h\nusage: example.js [-h] [-v] [-f FOO] [-b BAR]\n\nArgparse example\n\nOptional arguments:\n  -h, --help         Show this help message and exit.\n  -v, --version      Show program's version number and exit.\n  -f FOO, --foo FOO  foo bar\n  -b BAR, --bar BAR  bar foo\n```\n\nParse arguments:\n\n```\n$ ./test.js -f=3 --bar=4\n{ foo: '3', bar: '4' }\n```\n\nMore [examples](https://github.com/nodeca/argparse/tree/master/examples).\n\n\nArgumentParser objects\n======================\n\n```\nnew ArgumentParser({paramters hash});\n```\n\nCreates a new ArgumentParser object.\n\n**Supported params:**\n\n- ```description``` - Text to display before the argument help.\n- ```epilog``` - Text to display after the argument help.\n- ```addHelp``` - Add a -h/–help option to the parser. (default: True)\n- ```argumentDefault``` - Set the global default value for arguments. (default: None)\n- ```parents``` - A list of ArgumentParser objects whose arguments should also be included.\n- ```prefixChars``` - The set of characters that prefix optional arguments. (default: ‘-‘)\n- ```formatterClass``` - A class for customizing the help output.\n- ```prog``` - The name of the program (default: sys.argv[0])\n- ```usage``` - The string describing the program usage (default: generated)\n- ```conflictHandler``` - Usually unnecessary, defines strategy for resolving conflicting optionals.\n\n**Not supportied yet**\n\n- ```fromfilePrefixChars``` - The set of characters that prefix files from which additional arguments should be read.\n\n\nDetails in [original ArgumentParser guide](http://docs.python.org/dev/library/argparse.html#argumentparser-objects)\n\n\naddArgument() method\n====================\n\n```\nArgumentParser.addArgument([names or flags], {options})\n```\n\nDefines how a single command-line argument should be parsed.\n\n- ```name or flags``` - Either a name or a list of option strings, e.g. foo or -f, --foo.\n\nOptions:\n\n- ```action``` - The basic type of action to be taken when this argument is encountered at the command line.\n- ```nargs```- The number of command-line arguments that should be consumed.\n- ```constant``` - A constant value required by some action and nargs selections.\n- ```defaultValue``` - The value produced if the argument is absent from the command line.\n- ```type``` - The type to which the command-line argument should be converted.\n- ```choices``` - A container of the allowable values for the argument.\n- ```required``` - Whether or not the command-line option may be omitted (optionals only).\n- ```help``` - A brief description of what the argument does.\n- ```metavar``` - A name for the argument in usage messages.\n- ```dest``` - The name of the attribute to be added to the object returned by parseArgs().\n\nDetails in [original add_argument guide](http://docs.python.org/dev/library/argparse.html#the-add-argument-method)\n\n\nAction (some details)\n================\n\nArgumentParser objects associate command-line arguments with actions.\nThese actions can do just about anything with the command-line arguments associated\nwith them, though most actions simply add an attribute to the object returned by\nparseArgs(). The action keyword argument specifies how the command-line arguments\nshould be handled. The supported actions are:\n\n- ```store``` - Just stores the argument’s value. This is the default action.\n- ```storeConst``` - Stores value, specified by the const keyword argument.\n  (Note that the const keyword argument defaults to the rather unhelpful None.)\n  The 'storeConst' action is most commonly used with optional arguments, that\n  specify some sort of flag.\n- ```storeTrue``` and ```storeFalse``` - Stores values True and False\n  respectively. These are special cases of 'storeConst'.\n- ```append``` - Stores a list, and appends each argument value to the list.\n  This is useful to allow an option to be specified multiple times.\n- ```appendConst``` - Stores a list, and appends value, specified by the\n  const keyword argument to the list. (Note, that the const keyword argument defaults\n  is None.) The 'appendConst' action is typically used when multiple arguments need\n  to store constants to the same list.\n- ```count``` - Counts the number of times a keyword argument occurs. For example,\n  used for increasing verbosity levels.\n- ```help``` - Prints a complete help message for all the options in the current\n  parser and then exits. By default a help action is automatically added to the parser.\n  See ArgumentParser for details of how the output is created.\n- ```version``` - Prints version information and exit. Expects a `version=`\n  keyword argument in the addArgument() call.\n\nDetails in [original action guide](http://docs.python.org/dev/library/argparse.html#action)\n\n\nSub-commands\n============\n\nArgumentParser.addSubparsers()\n\nMany programs split their functionality into a number of sub-commands, for\nexample, the svn program can invoke sub-commands like `svn checkout`, `svn update`,\nand `svn commit`. Splitting up functionality this way can be a particularly good\nidea when a program performs several different functions which require different\nkinds of command-line arguments. `ArgumentParser` supports creation of such\nsub-commands with `addSubparsers()` method. The `addSubparsers()` method is\nnormally called with no arguments and returns an special action object.\nThis object has a single method `addParser()`, which takes a command name and\nany `ArgumentParser` constructor arguments, and returns an `ArgumentParser` object\nthat can be modified as usual.\n\nExample:\n\nsub_commands.js\n```javascript\n#!/usr/bin/env node\n'use strict';\n\nvar ArgumentParser = require('../lib/argparse').ArgumentParser;\nvar parser = new ArgumentParser({\n  version: '0.0.1',\n  addHelp:true,\n  description: 'Argparse examples: sub-commands',\n});\n\nvar subparsers = parser.addSubparsers({\n  title:'subcommands',\n  dest:\"subcommand_name\"\n});\n\nvar bar = subparsers.addParser('c1', {addHelp:true});\nbar.addArgument(\n  [ '-f', '--foo' ],\n  {\n    action: 'store',\n    help: 'foo3 bar3'\n  }\n);\nvar bar = subparsers.addParser(\n  'c2',\n  {aliases:['co'], addHelp:true}\n);\nbar.addArgument(\n  [ '-b', '--bar' ],\n  {\n    action: 'store',\n    type: 'int',\n    help: 'foo3 bar3'\n  }\n);\n\nvar args = parser.parseArgs();\nconsole.dir(args);\n\n```\n\nDetails in [original sub-commands guide](http://docs.python.org/dev/library/argparse.html#sub-commands)\n\n\nContributors\n============\n\n- [Eugene Shkuropat](https://github.com/shkuropat)\n- [Paul Jacobson](https://github.com/hpaulj)\n\n[others](https://github.com/nodeca/argparse/graphs/contributors)\n\nLicense\n=======\n\nCopyright (c) 2012 [Vitaly Puzrin](https://github.com/puzrin).\nReleased under the MIT license. See\n[LICENSE](https://github.com/nodeca/argparse/blob/master/LICENSE) for details.\n\n\n","readmeFilename":"README.md","_id":"argparse@0.1.15","_from":"argparse@~ 0.1.11"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js","id":"esprima/bin/esparse.js","options":{},"isModule":true,"requiredModules":["fs","esprima/esprima.js"],"mtime":1377555588000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js","id":"esprima/bin/esvalidate.js","options":{},"isModule":true,"requiredModules":["fs","esprima/esprima.js"],"mtime":1377750976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js","id":"esprima/esprima.js","options":{},"isModule":true,"mtime":1377753703000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json","data":{"name":"esprima","description":"ECMAScript parsing infrastructure for multipurpose analysis","homepage":"http://esprima.org","main":"esprima.js","bin":{"esparse":"./bin/esparse.js","esvalidate":"./bin/esvalidate.js"},"files":["bin","test/run.js","test/runner.js","test/test.js","test/compat.js","test/reflect.js","esprima.js"],"version":"1.0.4","engines":{"node":">=0.4.0"},"maintainers":[{"name":"Ariya Hidayat","email":"ariya.hidayat@gmail.com","url":"http://ariya.ofilabs.com"}],"repository":{"type":"git","url":"http://github.com/ariya/esprima.git"},"licenses":[{"type":"BSD","url":"http://github.com/ariya/esprima/raw/master/LICENSE.BSD"}],"keywords":["ast","ecmascript","javascript","parser","syntax"],"scripts":{"test":"node test/run.js","benchmark":"node test/benchmarks.js","benchmark-quick":"node test/benchmarks.js quick"},"readme":"**Esprima** ([esprima.org](http://esprima.org)) is a high performance,\nstandard-compliant [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)\nparser written in ECMAScript (also popularly known as\n[JavaScript](http://en.wikipedia.org/wiki/JavaScript>JavaScript)).\nEsprima is created and maintained by [Ariya Hidayat](http://twitter.com/ariyahidayat),\nwith the help of [many contributors](https://github.com/ariya/esprima/contributors).\n\nEsprima runs on web browsers (IE 6+, Firefox 1+, Safari 3+, Chrome 1+, Konqueror 4.6+, Opera 8+) as well as\n[Node.js](http://nodejs.org).\n\n### Features\n\n- Full support for [ECMAScript 5.1](http://www.ecma-international.org/publications/standards/Ecma-262.htm)(ECMA-262)\n- Sensible [syntax tree format](http://esprima.org/doc/index.html#ast) compatible with Mozilla\n[Parser AST](https://developer.mozilla.org/en/SpiderMonkey/Parser_API)\n- Heavily tested (> 550 [unit tests](http://esprima.org/test/) with solid 100% statement coverage)\n- Optional tracking of syntax node location (index-based and line-column)\n- Experimental support for ES6/Harmony (module, class, destructuring, ...)\n\nEsprima is blazing fast (see the [benchmark suite](http://esprima.org/test/benchmarks.html)).\nIt is up to 3x faster than UglifyJS v1 and it is still [competitive](http://esprima.org/test/compare.html)\nwith the new generation of fast parsers.\n\n### Applications\n\nEsprima serves as the basis for many popular JavaScript development tools:\n\n- Code coverage analysis: [node-cover](https://github.com/itay/node-cover), [Istanbul](https://github.com/yahoo/Istanbul)\n- Documentation tool: [JFDoc](https://github.com/thejohnfreeman/jfdoc), [JSDuck](https://github.com/senchalabs/jsduck)\n- Language extension: [LLJS](http://mbebenita.github.com/LLJS/) (low-level JS),\n[Sweet.js](http://sweetjs.org/) (macro)\n- ES6/Harmony transpiler: [Six](https://github.com/matthewrobb/six), [Harmonizr](https://github.com/jdiamond/harmonizr)\n- Eclipse Orion smart editing ([outline view](https://github.com/aclement/esprima-outline), [content assist](http://contraptionsforprogramming.blogspot.com/2012/02/better-javascript-content-assist-in.html))\n- Source code modification: [Esmorph](https://github.com/ariya/esmorph), [Code Painter](https://github.com/fawek/codepainter),\n- Source transformation: [node-falafel](https://github.com/substack/node-falafel), [Esmangle](https://github.com/Constellation/esmangle), [escodegen](https://github.com/Constellation/escodegen)\n\n### Questions?\n- [Documentation](http://esprima.org/doc)\n- [Issue tracker](http://issues.esprima.org): [known problems](http://code.google.com/p/esprima/issues/list?q=Defect)\nand [future plans](http://code.google.com/p/esprima/issues/list?q=Enhancement)\n- [Mailing list](http://groups.google.com/group/esprima)\n- [Contribution guide](http://esprima.org/doc/index.html#contribution)\n\nFollow [@Esprima](http://twitter.com/Esprima) on Twitter to get the\ndevelopment updates.\nFeedback and contribution are welcomed!\n\n### License\n\nCopyright (C) 2012, 2011 [Ariya Hidayat](http://ariya.ofilabs.com/about)\n and other contributors.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright\n    notice, this list of conditions and the following disclaimer.\n\n  * Redistributions in binary form must reproduce the above copyright\n    notice, this list of conditions and the following disclaimer in the\n    documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\nTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ariya/esprima/issues"},"_id":"esprima@1.0.4","_from":"esprima@~ 1.0.2"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js","id":"esprima/test/compat.js","options":{},"isModule":true,"requiredModules":["esprima/esprima.js","esprima/test/reflect.js"],"mtime":1377750976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js","id":"esprima/test/reflect.js","options":{},"isModule":true,"mtime":1377555589000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js","id":"esprima/test/run.js","options":{},"isModule":true,"requiredModules":["child_process"],"mtime":1377750976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js","id":"esprima/test/runner.js","options":{},"isModule":true,"requiredModules":["esprima/esprima.js","vm","fs"],"mtime":1377750976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js","id":"esprima/test/test.js","options":{},"isModule":true,"mtime":1377750976000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/js-yaml/package.json","data":{"name":"js-yaml","version":"2.0.5","description":"YAML 1.2 parser and serializer","keywords":["yaml","parser","serializer","pyyaml"],"homepage":"https://github.com/nodeca/js-yaml","author":{"name":"Dervus Grim","email":"dervus@lavabit.com"},"contributors":[{"name":"Aleksey V Zapparov","email":"ixti@member.fsf.org","url":"http://www.ixti.net/"},{"name":"Martin Grenfell","email":"martin.grenfell@gmail.com","url":"http://got-ravings.blogspot.com"}],"bugs":{"url":"https://github.com/nodeca/js-yaml/issues"},"license":{"type":"MIT","url":"https://github.com/nodeca/js-yaml/blob/master/LICENSE"},"repository":{"type":"git","url":"git://github.com/nodeca/js-yaml.git"},"main":"./index.js","bin":{"js-yaml":"bin/js-yaml.js"},"scripts":{"test":"make test"},"dependencies":{"argparse":"~ 0.1.11","esprima":"~ 1.0.2"},"devDependencies":{"mocha":"*"},"engines":{"node":">= 0.6.0"},"readme":"JS-YAML - YAML 1.2 parser and serializer for JavaScript\n=======================================================\n\n[![Build Status](https://secure.travis-ci.org/nodeca/js-yaml.png)](http://travis-ci.org/nodeca/js-yaml)\n\n[Online Demo](http://nodeca.github.com/js-yaml/)\n\n\nThis is an implementation of [YAML](http://yaml.org/), a human friendly data\nserialization language. Started as [PyYAML](http://pyyaml.org/) port, it was\ncompletely rewritten from scratch. Now it's very fast, and supports 1.2 spec.\n\n\nBreaking changes in 1.x.x -> 2.0.x\n----------------------------------\n\nIf your have not used __custom__ tags or loader classes - no changes needed. Just\nupgrade library and enjoy high parse speed.\n\nIn other case, you should rewrite your tag constructors and custom loader\nclasses, to conform new schema-based API. See\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) and\n[wiki](https://github.com/nodeca/js-yaml/wiki) for details.\nNote, that parser internals were completely rewritten.\n\n\nInstallation\n------------\n\n### YAML module for node.js\n\n```\nnpm install js-yaml\n```\n\n\n### CLI executable\n\nIf you want to inspect your YAML files from CLI, install js-yaml globally:\n\n```\nnpm install js-yaml -g\n```\n\n#### Usage\n\n```\nusage: js-yaml [-h] [-v] [-c] [-j] [-t] file\n\nPositional arguments:\n  file           File with YAML document(s)\n\nOptional arguments:\n  -h, --help     Show this help message and exit.\n  -v, --version  Show program's version number and exit.\n  -c, --compact  Display errors in compact mode\n  -j, --to-json  Output a non-funky boring JSON\n  -t, --trace    Show stack trace on error\n```\n\n\n### Bundled YAML library for browsers\n\n``` html\n<script src=\"js-yaml.min.js\"></script>\n<script type=\"text/javascript\">\nvar doc = jsyaml.load('greeting: hello\\nname: world');\n</script>\n```\n\nBrowser support was done mostly for online demo. If you find any errors - feel\nfree to send pull requests with fixes. Also note, that IE and other old browsers\nneeds [es5-shims](https://github.com/kriskowal/es5-shim) to operate.\n\n\nAPI\n---\n\nHere we cover the most 'useful' methods. If you need advanced details (creating\nyour own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and\n[examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more\ninfo.\n\nIn node.js JS-YAML automatically registers handlers for `.yml` and `.yaml`\nfiles. You can load them just with `require`. That's mostly equivalent to\ncalling `load()` on fetched content of a file. Just with one string!\n\n``` javascript\nrequire('js-yaml');\n\n// Get document, or throw exception on error\ntry {\n  var doc = require('/home/ixti/example.yml');\n  console.log(doc);\n} catch (e) {\n  console.log(e);\n}\n```\n\n\n### load (string [ , options ])\n\nParses `string` as single YAML document. Returns a JavaScript object or throws\n`YAMLException` on error.\n\nNOTE: This function **does not** understands multi-document sources, it throws\nexception on those.\n\noptions:\n\n- `filename` _(default: null)_ - string to be used as a file path in\n  error/warning messages.\n- `strict` _(default - false)_ makes the loader to throw errors instead of\n  warnings.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ - specifies a schema to use.\n\n\n### loadAll (string, iterator [ , options ])\n\nSame as `load()`, but understands multi-document sources and apply `iterator` to\neach document.\n\n``` javascript\nvar yaml = require('js-yaml');\n\nyaml.loadAll(data, function (doc) {\n  console.log(doc);\n});\n```\n\n\n### safeLoad (string [ , options ])\n\nSame as `load()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### safeLoadAll (string, iterator [ , options ])\n\nSame as `loadAll()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\n### dump (object [ , options ])\n\nSerializes `object` as YAML document.\n\noptions:\n\n- `indent` _(default: 2)_ - indentation width to use (in spaces).\n- `flowLevel` (default: -1) - specifies level of nesting, when to switch from\n  block to flow style for collections. -1 means block style everwhere\n- `styles` - \"tag\" => \"style\" map. Each tag may have own set of styles.\n- `schema` _(default: `DEFAULT_SCHEMA`)_ specifies a schema to use.\n\nstyles:\n\n``` none\n!!null\n  \"canonical\"   => \"~\"\n\n!!int\n  \"binary\"      => \"0b1\", \"0b101010\", \"0b1110001111010\"\n  \"octal\"       => \"01\", \"052\", \"016172\"\n  \"decimal\"     => \"1\", \"42\", \"7290\"\n  \"hexadecimal\" => \"0x1\", \"0x2A\", \"0x1C7A\"\n\n!!null, !!bool, !!float\n  \"lowercase\"   => \"null\", \"true\", \"false\", \".nan\", '.inf'\n  \"uppercase\"   => \"NULL\", \"TRUE\", \"FALSE\", \".NAN\", '.INF'\n  \"camelcase\"   => \"Null\", \"True\", \"False\", \".NaN\", '.Inf'\n```\n\nBy default, !!int uses `decimal`, and !!null, !!bool, !!float use `lowercase`.\n\n\n### safeDump (object [ , options ])\n\nSame as `dump()` but uses `SAFE_SCHEMA` by default - only recommended tags of\nYAML specification (no JavaScript-specific tags, e.g. `!!js/regexp`).\n\n\nSupported YAML types\n--------------------\n\nThe list of standard YAML tags and corresponding JavaScipt types. See also\n[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and\n[YAML types repository](http://yaml.org/type/).\n\n```\n!!null ''                   # null\n!!bool 'yes'                # bool\n!!int '3...'                # number\n!!float '3.14...'           # number\n!!binary '...base64...'     # buffer\n!!timestamp 'YYYY-...'      # date\n!!omap [ ... ]              # array of key-value pairs\n!!pairs [ ... ]             # array or array pairs\n!!set { ... }               # array of objects with given keys and null values\n!!str '...'                 # string\n!!seq [ ... ]               # array\n!!map { ... }               # object\n```\n\n**JavaScript-specific tags**\n\n```\n!!js/regexp /pattern/gim            # RegExp\n!!js/undefined ''                   # Undefined\n!!js/function 'function () {...}'   # Function\n```\n\n\n\n\n## Caveats\n\nNote, that you use arrays or objects as key in JS-YAML. JS do not allows objects\nor array as keys, and stringifies (by calling .toString method) them at the\nmoment of adding them.\n\n``` yaml\n---\n? [ foo, bar ]\n: - baz\n? { foo: bar }\n: - baz\n  - baz\n```\n\n``` javascript\n{ \"foo,bar\": [\"baz\"], \"[object Object]\": [\"baz\", \"baz\"] }\n```\n\nAlso, reading of properties on implicit block mapping keys is not supported yet.\nSo, the following YAML document cannot be loaded.\n\n``` yaml\n&anchor foo:\n  foo: bar\n  *anchor: duplicate key\n  baz: bat\n  *anchor: duplicate key\n```\n\n## License\n\nView the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file\n(MIT).\n","readmeFilename":"README.md","_id":"js-yaml@2.0.5","_from":"js-yaml@~2.0.5"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/lodash/lodash.js","id":"lodash/lodash.js","options":{},"isModule":true,"mtime":1356140414000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/lodash/lodash.min.js","id":"lodash/lodash.min.js","options":{},"isModule":true,"mtime":1356670301000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/lodash/lodash.underscore.js","id":"lodash/lodash.underscore.js","options":{},"isModule":true,"mtime":1356670304000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/lodash/lodash.underscore.min.js","id":"lodash/lodash.underscore.min.js","options":{},"isModule":true,"mtime":1356670311000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/lodash/package.json","data":{"name":"lodash","version":"0.9.2","description":"A utility library delivering consistency, customization, performance, and extras.","homepage":"http://lodash.com","license":"MIT","main":"./lodash.js","keywords":["browser","client","functional","performance","server","speed","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"http://mathiasbynens.be/"}],"bugs":{"url":"https://github.com/lodash/lodash/issues"},"repository":{"type":"git","url":"https://github.com/lodash/lodash.git"},"engines":["node","rhino"],"jam":{"main":"./lodash.js"},"readme":"# Lo-Dash v0.9.2\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n * [Development build](https://raw.github.com/lodash/lodash/0.9.2/lodash.js)\n * [Production build](https://raw.github.com/lodash/lodash/0.9.2/lodash.min.js)\n * [Underscore build](https://raw.github.com/lodash/lodash/0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore\n * CDN copies of ≤ v0.9.2’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/)\n * For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nCreate your own benchmarks at [jsPerf](http://jsperf.com), or [search](http://jsperf.com/search?q=lodash) for existing ones.\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Screencasts\n\nFor more information check out these screencasts over Lo-Dash:\n\n * [Introducing Lo-Dash](https://vimeo.com/44154599)\n * [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n * [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n * [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n * [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_.clone](http://lodash.com/docs#clone) supports *“deep”* cloning\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.lateBind](http://lodash.com/docs#lateBind) for late binding\n * [_.merge](http://lodash.com/docs#merge) for a *“deep”* [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding\n * [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments\n * [_.template](http://lodash.com/docs#template) supports [ES6 delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6) and utilizes [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier debugging\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n   [and more…](http://lodash.com/docs \"_.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where\") accept strings\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~23, Firefox 1~16, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.14, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src=\"lodash.js\"></script>\n```\n\nUsing [npm](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n```\n\n**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require('lodash')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n  'paths': {\n    'underscore': 'path/to/lodash'\n  }\n},\n['underscore'], function(_) {\n  console.log(_.VERSION);\n});\n```\n\n## Resolved Underscore.js issues\n\n * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)]\n * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)]\n * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)]\n * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)]\n * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)]\n * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)]\n * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)]\n\n## Release Notes\n\n### <sup>v0.9.2</sup>\n\n * Added `fromIndex` argument to `_.contains`\n * Added `moduleId` build option\n * Added Closure Compiler *“simple”* optimizations to the build process\n * Added support for strings in `_.max` and `_.min`\n * Added support for ES6 template delimiters to `_.template`\n * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs\n * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs)  *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n","readmeFilename":"README.md","_id":"lodash@0.9.2","_from":"lodash@~0.9.2"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["lru-cache/lib/lru-cache.js","sigmund/sigmund.js","path"],"mtime":1387223424000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js","id":"lru-cache/lib/lru-cache.js","options":{},"isModule":true,"mtime":1385055499000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json","data":{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"2.5.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"scripts":{"test":"tap test --gc"},"main":"lib/lru-cache.js","repository":{"type":"git","url":"git://github.com/isaacs/node-lru-cache.git"},"devDependencies":{"tap":"","weak":""},"license":{"type":"MIT","url":"http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"},"readme":"# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n  , options = { max: 500\n              , length: function (n) { return n * 2 }\n              , dispose: function (key, n) { n.close() }\n              , maxAge: 1000 * 60 * 60 }\n  , cache = LRU(options)\n  , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset()    // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n  function to all values in the cache.  Not setting this is kind of\n  silly, since that's the whole purpose of this lib, but it defaults\n  to `Infinity`.\n* `maxAge` Maximum age in ms.  Items are not pro-actively pruned out\n  as they age, but if you try to get an item that is too old, it'll\n  drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n  items.  If you're storing strings or buffers, then you probably want\n  to do something like `function(n){return n.length}`.  The default is\n  `function(n){return 1}`, which is fine if you want to store `n`\n  like-sized things.\n* `dispose` Function that is called on items when they are dropped\n  from the cache.  This can be handy if you want to close file\n  descriptors or do other cleanup tasks when items are no longer\n  accessible.  Called with `key, value`.  It's called *before*\n  actually removing the item from the internal cache, so if you want\n  to immediately put it back in, you'll have to do that in a\n  `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n  stale items out of the cache when you `get(key)`.  (That is, it's\n  not pre-emptively doing a `setTimeout` or anything.)  If you set\n  `stale:true`, it'll return the stale value before deleting it.  If\n  you don't set this, then it'll return `undefined` when you try to\n  get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n    Both of these will update the \"recently used\"-ness of the key.\n    They do what you think.\n\n* `peek(key)`\n\n    Returns the key value (or `undefined` if not found) without\n    updating the \"recently used\"-ness of the key.\n\n    (If you find yourself using this a lot, you *might* be using the\n    wrong sort of data structure, but there are some use cases where\n    it's handy.)\n\n* `del(key)`\n\n    Deletes a key out of the cache.\n\n* `reset()`\n\n    Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n    Check if a key is in the cache, without updating the recent-ness\n    or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n    Just like `Array.prototype.forEach`.  Iterates over all the keys\n    in the cache, in order of recent-ness.  (Ie, more recently used\n    items are iterated over first.)\n\n* `keys()`\n\n    Return an array of the keys in the cache.\n\n* `values()`\n\n    Return an array of the values in the cache.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-lru-cache/issues"},"homepage":"https://github.com/isaacs/node-lru-cache","_id":"lru-cache@2.5.0","_shasum":"d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb","_from":"lru-cache@2","_resolved":"https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js","id":"lru-cache/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1385052396000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js","id":"lru-cache/test/foreach.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js","id":"lru-cache/test/memory-leak.js","options":{},"isModule":true,"requiredModules":["weak","tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js","id":"sigmund/bench.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","sigmund/sigmund.js","bench"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json","data":{"name":"sigmund","version":"1.0.0","description":"Quick and dirty signatures for Objects.","main":"sigmund.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js","bench":"node bench.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sigmund"},"keywords":["object","signature","key","data","psychoanalysis"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","readme":"# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n  var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n  var cached = cache.get(key)\n  if (cached) return cached)\n\n  var result = expensiveCalculation(someObj)\n  cache.set(key, result)\n  return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:'foo'}` will be treated identically to the\narray `['foo']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you.  In fact, it's\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions.  For example, these objects\nhave the same signature:\n\n    var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}\n    var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you're looking for.  It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/sigmund/issues"},"homepage":"https://github.com/isaacs/sigmund","_id":"sigmund@1.0.0","_shasum":"66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296","_from":"sigmund@~1.0.0","_resolved":"https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js","id":"sigmund/sigmund.js","options":{},"isModule":true,"mtime":1344873467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js","id":"sigmund/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","sigmund/sigmund.js"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"0.2.14","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"test":"tap test/*.js"},"engines":{"node":"*"},"dependencies":{"lru-cache":"2","sigmund":"~1.0.0"},"devDependencies":{"tap":""},"license":{"type":"MIT","url":"http://github.com/isaacs/minimatch/raw/master/LICENSE"},"readme":"# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n  Each row in the\n  array corresponds to a brace-expanded pattern.  Each item in the row\n  corresponds to a single path-part.  For example, the pattern\n  `{a,b/c}/d` would expand to a set of patterns like:\n\n        [ [ a, d ]\n        , [ b, c, d ] ]\n\n    If a portion of the pattern doesn't have any \"magic\" in it\n    (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n    will be left as a string rather than converted to a regular\n    expression.\n\n* `regexp` Created by the `makeRe` method.  A single regular expression\n  expressing the entire pattern.  This is useful in cases where you wish\n  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n  Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n  false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n  filename, and match it against a single row in the `regExpSet`.  This\n  method is mainly for internal use, but is exposed so that it can be\n  used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items.  So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export.  Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`.  Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob.  If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself.  When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes.  For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch","_id":"minimatch@0.2.14","_shasum":"c74e780574f63c6f9a090e90efbe6ef53a6a756a","_from":"minimatch@~0.2.12","_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/test/basic.js","id":"minimatch/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387171514000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/test/brace-expand.js","id":"minimatch/test/brace-expand.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1324537594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/test/caching.js","id":"minimatch/test/caching.js","options":{},"isModule":true,"requiredModules":["minimatch/minimatch.js","tap"],"mtime":1332887728000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/test/defaults.js","id":"minimatch/test/defaults.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1332985301000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js","id":"minimatch/test/extglob-ending-with-state-char.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387223424000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/bin/nopt.js","id":"nopt/bin/nopt.js","options":{},"isModule":true,"requiredModules":["nopt/lib/nopt.js"],"mtime":1317851223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/examples/my-program.js","id":"nopt/examples/my-program.js","options":{},"isModule":true,"requiredModules":["nopt/lib/nopt.js","stream","path","util/util.js"],"mtime":1317851223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/lib/nopt.js","id":"nopt/lib/nopt.js","options":{},"isModule":true,"requiredModules":["url","path","stream","abbrev/abbrev.js","assert","util/util.js"],"mtime":1317851223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/node_modules/abbrev/abbrev.js","id":"abbrev/abbrev.js","options":{},"isModule":true,"mtime":1397765081000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json","data":{"name":"abbrev","version":"1.0.5","description":"Like ruby's abbrev module, but in js","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"main":"abbrev.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"http://github.com/isaacs/abbrev-js"},"license":{"type":"MIT","url":"https://github.com/isaacs/abbrev-js/raw/master/LICENSE"},"readme":"# abbrev-js\n\nJust like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n    var abbrev = require(\"abbrev\");\n    abbrev(\"foo\", \"fool\", \"folding\", \"flop\");\n    \n    // returns:\n    { fl: 'flop'\n    , flo: 'flop'\n    , flop: 'flop'\n    , fol: 'folding'\n    , fold: 'folding'\n    , foldi: 'folding'\n    , foldin: 'folding'\n    , folding: 'folding'\n    , foo: 'foo'\n    , fool: 'fool'\n    }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/abbrev-js/issues"},"homepage":"https://github.com/isaacs/abbrev-js","_id":"abbrev@1.0.5","_from":"abbrev@1"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/node_modules/abbrev/test.js","id":"abbrev/test.js","options":{},"isModule":true,"requiredModules":["abbrev/abbrev.js","assert","util/util.js"],"mtime":1397765268000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/nopt/package.json","data":{"name":"nopt","version":"1.0.10","description":"Option parsing for Node, supporting types, shorthands, etc. Used by npm.","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"main":"lib/nopt.js","scripts":{"test":"node lib/nopt.js"},"repository":{"type":"git","url":"http://github.com/isaacs/nopt"},"bin":{"nopt":"./bin/nopt.js"},"license":{"type":"MIT","url":"https://github.com/isaacs/nopt/raw/master/LICENSE"},"dependencies":{"abbrev":"1"},"readme":"If you want to write an option parser, and have it be good, there are\ntwo ways to do it.  The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser.  We've all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don't write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system.  You probably won't end up with a\ngood one of those, but if you don't give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n    // my-program.js\n    var nopt = require(\"nopt\")\n      , Stream = require(\"stream\").Stream\n      , path = require(\"path\")\n      , knownOpts = { \"foo\" : [String, null]\n                    , \"bar\" : [Stream, Number]\n                    , \"baz\" : path\n                    , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n                    , \"flag\" : Boolean\n                    , \"pick\" : Boolean\n                    , \"many\" : [String, Array]\n                    }\n      , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n                     , \"b7\" : [\"--bar\", \"7\"]\n                     , \"m\" : [\"--bloo\", \"medium\"]\n                     , \"p\" : [\"--pick\"]\n                     , \"f\" : [\"--flag\"]\n                     }\n                 // everything is optional.\n                 // knownOpts and shorthands default to {}\n                 // arg list defaults to process.argv\n                 // slice defaults to 2\n      , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n    console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo \"blerp\" --no-flag\n{ \"foo\" : \"blerp\", \"flag\" : false }\n\n$ node my-program.js ---bar 7 --foo \"Mr. Hand\" --flag\n{ bar: 7, foo: \"Mr. Hand\", flag: true }\n\n$ node my-program.js --foo \"blerp\" -f -----p\n{ foo: \"blerp\", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: \"Mr. Foo\", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp  # -- stops the flag parsing.\n{ foo: \"Mr. Foo\", argv: { remain: [\"-fp\"] } }\n\n$ node my-program.js --blatzk 1000 -fp # unknown opts are ok.\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --blatzk true -fp # but they need a value\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with \"no-\"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: \"/Users/isaacs/b/a/z\" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array.  The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: [\"1\", \"null\", \"foo\"] }\n\n$ node my-program.js --many foo\n{ many: [\"foo\"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string.  No parsing is done.\n* path: A file system path.  Gets resolved against cwd if not absolute.\n* url: A url.  If it doesn't parse, it isn't accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n  then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`.  If an option is a boolean,\n  then it does not need a value, and its presence will imply `true` as\n  the value.  To negate boolean flags, do `--no-whatever` or `--whatever\n  false`\n* NaN: Means that the option is strictly not allowed.  Any value will\n  fail.\n* Stream: An object matching the \"Stream\" class in node.  Valuable\n  for use when validating programmatically.  (npm uses this to let you\n  supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n  will be parsed as a list of options.  This means that multiple values\n  can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values.  For instance, in the example above, the\n`--bloo` option can only be one of `\"big\"`, `\"medium\"`, or `\"small\"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `\"true\"`, `\"false\"`, and `\"null\"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list.  For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null.\n\nTo define a new type, add it to `nopt.typeDefs`.  Each item in that\nhash is an object with a `type` member and a `validate` method.  The\n`type` member is an object that matches what goes in the type list.  The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`.  Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found.  You can change this behavior by assigning a method\nto `nopt.invalidHandler`.  This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining.  If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported.  If you define options like this:\n\n```javascript\n{ \"foolhardyelephants\" : Boolean\n, \"pileofmonkeys\" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts.  For example:\n\n```json\n{ \"s\" : [\"--loglevel\", \"silent\"]\n, \"g\" : \"--global\"\n, \"f\" : \"--force\"\n, \"p\" : \"--parseable\"\n, \"l\" : \"--long\"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat's usually not very useful to you.  So they're sliced off by\ndefault.  If you want them, then you can pass in `0` as the last\nargument, or any other number that you'd like to slice off the start of\nthe list.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/nopt/issues"},"homepage":"https://github.com/isaacs/nopt","_id":"nopt@1.0.10","_from":"nopt@~1.0.10"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/rimraf/bin.js","id":"rimraf/bin.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js"],"mtime":1371826156000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/rimraf/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/rimraf/package.json","data":{"name":"rimraf","version":"2.2.8","main":"rimraf.js","description":"A deep deletion module for node (like `rm -rf`)","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":{"type":"MIT","url":"https://github.com/isaacs/rimraf/raw/master/LICENSE"},"repository":{"type":"git","url":"git://github.com/isaacs/rimraf.git"},"scripts":{"test":"cd test && bash run.sh"},"bin":{"rimraf":"./bin.js"},"contributors":[{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},{"name":"Wayne Larsen","email":"wayne@larsen.st","url":"http://github.com/wvl"},{"name":"ritch","email":"skawful@gmail.com"},{"name":"Marcel Laverdet"},{"name":"Yosef Dinerstein","email":"yosefd@microsoft.com"}],"readme":"`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one.  Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n  `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn't exist, rimraf will return\n  successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too.  But that's not so good.  Use\nthe async API.  It's better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/rimraf/issues"},"homepage":"https://github.com/isaacs/rimraf","_id":"rimraf@2.2.8","_from":"rimraf@~2.2.8"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/rimraf/rimraf.js","id":"rimraf/rimraf.js","options":{},"isModule":true,"requiredModules":["assert","path","fs"],"mtime":1399391937000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/rimraf/test/test-async.js","id":"rimraf/test/test-async.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/rimraf/test/test-sync.js","id":"rimraf/test/test-sync.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js","id":"underscore.string/dist/underscore.string.min.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/lib/underscore.string.js","id":"underscore.string/lib/underscore.string.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/package.json","data":{"name":"underscore.string","version":"2.2.1","description":"String manipulation extensions for Underscore.js javascript library.","homepage":"http://epeli.github.com/underscore.string/","contributors":[{"name":"Esa-Matti Suuronen","email":"esa-matti@suuronen.org","url":"http://esa-matti.suuronen.org/"},{"name":"Edward Tsech","email":"edtsech@gmail.com"},{"name":"Sasha Koss","email":"kossnocorp@gmail.com","url":"http://koss.nocorp.me/"},{"name":"Vladimir Dronnikov","email":"dronnikov@gmail.com"},{"name":"Pete Kruckenberg","email":"https://github.com/kruckenb","url":"<https://github.com/kruckenb>"},{"name":"Paul Chavard","email":"paul@chavard.net","url":"<http://tchak.net>"},{"name":"Ed Finkler","email":"coj@funkatron.com","url":"<http://funkatron.com>"},{"name":"Pavel Pravosud","email":"rwz@duckroll.ru"}],"keywords":["underscore","string"],"main":"./lib/underscore.string","directories":{"lib":"./lib"},"engines":{"node":"*"},"repository":{"type":"git","url":"https://github.com/epeli/underscore.string.git"},"bugs":{"url":"https://github.com/epeli/underscore.string/issues"},"licenses":[{"type":"MIT"}],"readme":"# Underscore.string [![Build Status](https://secure.travis-ci.org/epeli/underscore.string.png?branch=master)](http://travis-ci.org/epeli/underscore.string) #\n\n\n\nJavascript lacks complete string manipulation operations.\nThis an attempt to fill that gap. List of build-in methods can be found\nfor example from [Dive Into JavaScript][d].\n\n[d]: http://www.diveintojavascript.com/core-javascript-reference/the-string-object\n\n\nAs name states this an extension for [Underscore.js][u], but it can be used\nindependently from **_s**-global variable. But with Underscore.js you can\nuse Object-Oriented style and chaining:\n\n[u]: http://documentcloud.github.com/underscore/\n\n```javascript\n_(\"   epeli  \").chain().trim().capitalize().value()\n=> \"Epeli\"\n```\n\n## Download ##\n\n  * [Development version](https://raw.github.com/epeli/underscore.string/master/lib/underscore.string.js) *Uncompressed with Comments 18kb*\n  * [Production version](https://github.com/epeli/underscore.string/raw/master/dist/underscore.string.min.js) *Minified 7kb*\n\n\n## Node.js installation ##\n\n**npm package**\n\n    npm install underscore.string\n\n**Standalone usage**:\n\n```javascript\nvar _s = require('underscore.string');\n```\n\n**Integrate with Underscore.js**:\n\n```javascript\nvar _  = require('underscore');\n\n// Import Underscore.string to separate object, because there are conflict functions (include, reverse, contains)\n_.str = require('underscore.string');\n\n// Mix in non-conflict functions to Underscore namespace if you want\n_.mixin(_.str.exports());\n\n// All functions, include conflict, will be available through _.str object\n_.str.include('Underscore.string', 'string'); // => true\n```\n\n## String Functions ##\n\nFor availability of functions in this way you need to mix in Underscore.string functions:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\notherwise functions from examples will be available through _.string or _.str objects:\n\n```javascript\n_.str.capitalize('epeli')\n=> \"Epeli\"\n```\n\n**capitalize** _.capitalize(string)\n\nConverts first letter of the string to uppercase.\n\n```javascript\n_.capitalize(\"foo Bar\")\n=> \"Foo Bar\"\n```\n\n**chop** _.chop(string, step)\n\n```javascript\n_.chop('whitespace', 3)\n=> ['whi','tes','pac','e']\n```\n\n**clean** _.clean(str)\n\nCompress some whitespaces to one.\n\n```javascript\n_.clean(\" foo    bar   \")\n=> 'foo bar'\n```\n\n**chars** _.chars(str)\n\n```javascript\n_.chars('Hello')\n=> ['H','e','l','l','o']\n```\n\n**includes** _.includes(string, substring)\n\nTests if string contains a substring.\n\n```javascript\n_.includes(\"foobar\", \"ob\")\n=> true\n```\n\n**include** available only through _.str object, because Underscore has function with the same name.\n\n```javascript\n_.str.include(\"foobar\", \"ob\")\n=> true\n```\n\n**includes** function was removed\n\nBut you can create it in this way, for compatibility with previous versions:\n\n```javascript\n_.includes = _.str.include\n```\n\n**count** _.count(string, substring)\n\n```javascript\n_('Hello world').count('l')\n=> 3\n```\n\n**escapeHTML** _.escapeHTML(string)\n\nConverts HTML special characters to their entity equivalents.\n\n```javascript\n_('<div>Blah blah blah</div>').escapeHTML();\n=> '&lt;div&gt;Blah blah blah&lt;/div&gt;'\n```\n\n**unescapeHTML** _.unescapeHTML(string)\n\nConverts entity characters to HTML equivalents.\n\n```javascript\n_('&lt;div&gt;Blah blah blah&lt;/div&gt;').unescapeHTML();\n=> '<div>Blah blah blah</div>'\n```\n\n**insert** _.insert(string, index, substing)\n\n```javascript\n_('Hello ').insert(6, 'world')\n=> 'Hello world'\n```\n\n**isBlank** _.isBlank(string)\n\n```javascript\n_('').isBlank(); // => true\n_('\\n').isBlank(); // => true\n_(' ').isBlank(); // => true\n_('a').isBlank(); // => false\n```\n\n**join** _.join(separator, *strings)\n\nJoins strings together with given separator\n\n```javascript\n_.join(\" \", \"foo\", \"bar\")\n=> \"foo bar\"\n```\n\n**lines** _.lines(str)\n\n```javascript\n_.lines(\"Hello\\nWorld\")\n=> [\"Hello\", \"World\"]\n```\n\n**reverse** available only through _.str object, because Underscore has function with the same name.\n\nReturn reversed string:\n\n```javascript\n_.str.reverse(\"foobar\")\n=> 'raboof'\n```\n\n**splice**  _.splice(string, index, howmany, substring)\n\nLike a array splice.\n\n```javascript\n_('https://edtsech@bitbucket.org/edtsech/underscore.strings').splice(30, 7, 'epeli')\n=> 'https://edtsech@bitbucket.org/epeli/underscore.strings'\n```\n\n**startsWith** _.startsWith(string, starts)\n\nThis method checks whether string starts with starts.\n\n```javascript\n_(\"image.gif\").startsWith(\"image\")\n=> true\n```\n\n**endsWith** _.endsWith(string, ends)\n\nThis method checks whether string ends with ends.\n\n```javascript\n_(\"image.gif\").endsWith(\"gif\")\n=> true\n```\n\n**succ**  _.succ(str)\n\nReturns the successor to str.\n\n```javascript\n_('a').succ()\n=> 'b'\n\n_('A').succ()\n=> 'B'\n```\n\n**supplant**\n\nSupplant function was removed, use Underscore.js [template function][p].\n\n[p]: http://documentcloud.github.com/underscore/#template\n\n**strip** alias for *trim*\n\n**lstrip** alias for *ltrim*\n\n**rstrip** alias for *rtrim*\n\n**titleize** _.titleize(string)\n\n```javascript\n_('my name is epeli').titleize()\n=> 'My Name Is Epeli'\n```\n\n**camelize** _.camelize(string)\n\nConverts underscored or dasherized string to a camelized one\n\n```javascript\n_('-moz-transform').camelize()\n=> 'MozTransform'\n```\n\n**classify** _.classify(string)\n\nConverts string to camelized class name\n\n```javascript\n_('some_class_name').classify()\n=> 'SomeClassName'\n```\n\n**underscored** _.underscored(string)\n\nConverts a camelized or dasherized string into an underscored one\n\n```javascript\n_('MozTransform').underscored()\n=> 'moz_transform'\n```\n\n**dasherize** _.dasherize(string)\n\nConverts a underscored or camelized string into an dasherized one\n\n```javascript\n_('MozTransform').dasherize()\n=> '-moz-transform'\n```\n\n**humanize** _.humanize(string)\n\nConverts an underscored, camelized, or dasherized string into a humanized one.\nAlso removes beginning and ending whitespace, and removes the postfix '_id'.\n\n```javascript\n_('  capitalize dash-CamelCase_underscore trim  ').humanize()\n=> 'Capitalize dash camel case underscore trim'\n```\n\n**trim** _.trim(string, [characters])\n\ntrims defined characters from begining and ending of the string.\nDefaults to whitespace characters.\n\n```javascript\n_.trim(\"  foobar   \")\n=> \"foobar\"\n\n_.trim(\"_-foobar-_\", \"_-\")\n=> \"foobar\"\n```\n\n\n**ltrim** _.ltrim(string, [characters])\n\nLeft trim. Similar to trim, but only for left side.\n\n\n**rtrim** _.rtrim(string, [characters])\n\nRight trim. Similar to trim, but only for right side.\n\n**truncate** _.truncate(string, length, truncateString)\n\n```javascript\n_('Hello world').truncate(5)\n=> 'Hello...'\n\n_('Hello').truncate(10)\n=> 'Hello'\n```\n\n**prune** _.prune(string, length, pruneString)\n\nElegant version of truncate.\nMakes sure the pruned string does not exceed the original length.\nAvoid half-chopped words when truncating.\n\n```javascript\n_('Hello, world').prune(5)\n=> 'Hello...'\n\n_('Hello, world').prune(8)\n=> 'Hello...'\n\n_('Hello, world').prune(5, ' (read a lot more)')\n=> 'Hello, world' (as adding \"(read a lot more)\" would be longer than the original string)\n\n_('Hello, cruel world').prune(15)\n=> 'Hello, cruel...'\n\n_('Hello').prune(10)\n=> 'Hello'\n```\n\n**words** _.words(str, delimiter=\" \")\n\nSplit string by delimiter (String or RegExp), ' ' by default.\n\n```javascript\n_.words(\"I love you\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I_love_you\", \"_\")\n=> [\"I\",\"love\",\"you\"]\n\n_.words(\"I-love-you\", /-/)\n=> [\"I\",\"love\",\"you\"]\n```\n\n**sprintf** _.sprintf(string format, *arguments)\n\nC like string formatting.\nCredits goes to [Alexandru Marasteanu][o].\nFor more detailed documentation, see the [original page][o].\n\n[o]: http://www.diveintojavascript.com/projects/sprintf-for-javascript\n\n```javascript\n_.sprintf(\"%.1f\", 1.17)\n\"1.2\"\n```\n\n**pad** _.pad(str, length, [padStr, type])\n\npads the `str` with characters until the total string length is equal to the passed `length` parameter. By default, pads on the **left** with the space char (`\" \"`). `padStr` is truncated to a single character if necessary.\n\n```javascript\n_.pad(\"1\", 8)\n-> \"       1\";\n\n_.pad(\"1\", 8, '0')\n-> \"00000001\";\n\n_.pad(\"1\", 8, '0', 'right')\n-> \"10000000\";\n\n_.pad(\"1\", 8, '0', 'both')\n-> \"00001000\";\n\n_.pad(\"1\", 8, 'bleepblorp', 'both')\n-> \"bbbb1bbb\";\n```\n\n**lpad** _.lpad(str, length, [padStr])\n\nleft-pad a string. Alias for `pad(str, length, padStr, 'left')`\n\n```javascript\n_.lpad(\"1\", 8, '0')\n-> \"00000001\";\n```\n\n**rpad** _.rpad(str, length, [padStr])\n\nright-pad a string. Alias for `pad(str, length, padStr, 'right')`\n\n```javascript\n_.rpad(\"1\", 8, '0')\n-> \"10000000\";\n```\n\n**lrpad** _.lrpad(str, length, [padStr])\n\nleft/right-pad a string. Alias for `pad(str, length, padStr, 'both')`\n\n```javascript\n_.lrpad(\"1\", 8, '0')\n-> \"00001000\";\n```\n\n**center** alias for **lrpad**\n\n**ljust** alias for *rpad*\n\n**rjust** alias for *lpad*\n\n**toNumber**  _.toNumber(string, [decimals])\n\nParse string to number. Returns NaN if string can't be parsed to number.\n\n```javascript\n_('2.556').toNumber()\n=> 3\n\n_('2.556').toNumber(1)\n=> 2.6\n```\n\n**strRight**  _.strRight(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRight('_')\n=> \"is_a_test_string\";\n```\n\n**strRightBack**  _.strRightBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the right of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strRightBack('_')\n=> \"string\";\n```\n\n**strLeft**  _.strLeft(string, pattern)\n\nSearches a string from left to right for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeft('_')\n=> \"This\";\n```\n\n**strLeftBack**  _.strLeftBack(string, pattern)\n\nSearches a string from right to left for a pattern and returns a substring consisting of the characters in the string that are to the left of the pattern or all string if no match found.\n\n```javascript\n_('This_is_a_test_string').strLeftBack('_')\n=> \"This_is_a_test\";\n```\n\n**stripTags**\n\nRemoves all html tags from string.\n\n```javascript\n_('a <a href=\"#\">link</a>').stripTags()\n=> 'a link'\n\n_('a <a href=\"#\">link</a><script>alert(\"hello world!\")</script>').stripTags()\n=> 'a linkalert(\"hello world!\")'\n```\n\n**toSentence**  _.toSentence(array, [delimiter, lastDelimiter])\n\nJoin an array into a human readable sentence.\n\n```javascript\n_.toSentence(['jQuery', 'Mootools', 'Prototype'])\n=> 'jQuery, Mootools and Prototype';\n\n_.toSentence(['jQuery', 'Mootools', 'Prototype'], ', ', ' unt ')\n=> 'jQuery, Mootools unt Prototype';\n```\n\n**repeat** _.repeat(string, count, [separator])\n\nRepeats a string count times.\n\n```javascript\n_.repeat(\"foo\", 3)\n=> 'foofoofoo';\n\n_.repeat(\"foo\", 3, \"bar\")\n=> 'foobarfoobarfoo'\n```\n\n**slugify** _.slugify(string)\n\nTransform text into a URL slug. Replaces whitespaces, accentuated, and special characters with a dash.\n\n```javascript\n_.slugify(\"Un éléphant à l'orée du bois\")\n=> 'un-elephant-a-loree-du-bois';\n```\n\n***Caution: this function is charset dependent***\n\n## Roadmap ##\n\nAny suggestions or bug reports are welcome. Just email me or more preferably open an issue.\n\n## Changelog ##\n\n### 2.0.0 ###\n\n* Added prune, humanize functions\n* Added _.string (_.str) namespace for Underscore.string library\n* Removed includes function\n\n#### Problems\n\nWe lose two things for `include` and `reverse` methods from `_.string`:\n\n* Calls like `_('foobar').include('bar')` aren't available;\n* Chaining isn't available too.\n\nBut if you need this functionality you can create aliases for conflict functions which will be convenient for you:\n\n```javascript\n_.mixin({\n    includeString: _.str.include,\n    reverseString: _.str.reverse\n})\n\n// Now wrapper calls and chaining are available.\n_('foobar').chain().reverseString().includeString('rab').value()\n```\n\n#### Standalone Usage\n\nIf you are using Underscore.string without Underscore. You also have `_.string` namespace for it and `_.str` alias\nBut of course you can just reassign `_` variable with `_.string`\n\n```javascript\n_ = _.string\n```\n### 2.2.0 ###\n\n* Capitalize method behavior changed\n* Various perfomance tweaks\n\n### 2.1.1###\n\n* Fixed words method bug\n* Added classify method\n\n### 2.1.0 ###\n\n* AMD support\n* Added toSentence method\n* Added slugify method\n* Lots of speed optimizations\n\n### 2.0.0 ###\n\nFor upgrading to this version you need to mix in Underscore.string library to Underscore object:\n\n```javascript\n_.mixin(_.string.exports());\n```\n\nand all non-conflict Underscore.string functions will be available through Underscore object.\nAlso function `includes` has been removed, you should replace this function by `_.str.include`\nor create alias `_.includes = _.str.include` and all your code will work fine.\n\n### 1.1.6 ###\n\n* Fixed reverse and truncate\n* Added isBlank, stripTags, inlude(alias for includes)\n* Added uglifier compression\n\n### 1.1.5 ###\n\n* Added strRight, strRightBack, strLeft, strLeftBack\n\n### 1.1.4 ###\n\n* Added pad, lpad, rpad, lrpad methods and aliases center, ljust, rjust\n* Integration with Underscore 1.1.6\n\n### 1.1.3 ###\n\n* Added methods: underscored, camelize, dasherize\n* Support newer version of npm\n\n### 1.1.2 ###\n\n* Created functions: lines, chars, words functions\n\n### 1.0.2 ###\n\n* Created integration test suite with underscore.js 1.1.4 (now it's absolutely compatible)\n* Removed 'reverse' function, because this function override underscore.js 'reverse'\n\n## Contribute ##\n\n* Fork & pull request. Don't forget about tests.\n* If you planning add some feature please create issue before.\n\nOtherwise changes will be rejected.\n\n## Contributors list ##\n\n*  Esa-Matti Suuronen <esa-matti@suuronen.org> (<http://esa-matti.suuronen.org/>),\n*  Edward Tsech <edtsech@gmail.com>,\n*  Sasha Koss <kossnocorp@gmail.com> (<http://koss.nocorp.me/>),\n*  Vladimir Dronnikov <dronnikov@gmail.com>,\n*  Pete Kruckenberg (<https://github.com/kruckenb>),\n*  Paul Chavard <paul@chavard.net> (<http://tchak.net>),\n*  Ed Finkler <coj@funkatron.com> (<http://funkatron.com>)\n*  Pavel Pravosud <rwz@duckroll.ru>\n*  Anton Lindqvist <anton@qvister.se> (<http://qvister.se>)\n\n## Licence ##\n\nThe MIT License\n\nCopyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","readmeFilename":"README.markdown","_id":"underscore.string@2.2.1","_from":"underscore.string@~2.2.1"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js","id":"underscore.string/test/run-qunit.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/speed.js","id":"underscore.string/test/speed.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/strings.js","id":"underscore.string/test/strings.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/strings_standalone.js","id":"underscore.string/test/strings_standalone.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js","id":"underscore.string/test/test_underscore/arrays.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js","id":"underscore.string/test/test_underscore/chaining.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js","id":"underscore.string/test/test_underscore/collections.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js","id":"underscore.string/test/test_underscore/functions.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js","id":"underscore.string/test/test_underscore/objects.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js","id":"underscore.string/test/test_underscore/speed.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js","id":"underscore.string/test/test_underscore/temp.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js","id":"underscore.string/test/test_underscore/utility.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jquery.js","id":"underscore.string/test/test_underscore/vendor/jquery.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js","id":"underscore.string/test/test_underscore/vendor/jslitmus.js","options":{},"isModule":true,"mtime":1373449276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.js","id":"underscore.string/test/test_underscore/vendor/qunit.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/underscore.string/test/underscore.js","id":"underscore.string/test/underscore.js","options":{},"isModule":true,"mtime":1373452312000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/which/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/which/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"which","description":"Like which(1) unix command. Find the first instance of an executable in the PATH.","version":"1.0.5","repository":{"type":"git","url":"git://github.com/isaacs/node-which.git"},"main":"which.js","bin":{"which":"./bin/which"},"engines":{"node":"*"},"dependencies":{},"devDependencies":{},"readme":"The \"which\" util from npm's guts.\n\nFinds the first instance of a specified executable in the PATH\nenvironment variable.  Does not cache the results, so `hash -r` is not\nneeded when the PATH changes.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-which/issues"},"homepage":"https://github.com/isaacs/node-which","_id":"which@1.0.5","_from":"which@~1.0.5","scripts":{}},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/node_modules/which/which.js","id":"which/which.js","options":{},"isModule":true,"requiredModules":["path","graceful-fs/graceful-fs.js","fs"],"mtime":1330646841000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt/package.json","data":{"name":"grunt","description":"The JavaScript Task Runner","version":"0.4.5","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"homepage":"http://gruntjs.com/","repository":{"type":"git","url":"git://github.com/gruntjs/grunt.git"},"bugs":{"url":"http://github.com/gruntjs/grunt/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt/blob/master/LICENSE-MIT"}],"main":"lib/grunt","scripts":{"test":"grunt test"},"engines":{"node":">= 0.8.0"},"keywords":["task","async","cli","minify","uglify","build","lodash","unit","test","qunit","nodeunit","server","init","scaffold","make","jake","tool"],"dependencies":{"async":"~0.1.22","coffee-script":"~1.3.3","colors":"~0.6.2","dateformat":"1.0.2-1.2.3","eventemitter2":"~0.4.13","findup-sync":"~0.1.2","glob":"~3.1.21","hooker":"~0.2.3","iconv-lite":"~0.2.11","minimatch":"~0.2.12","nopt":"~1.0.10","rimraf":"~2.2.8","lodash":"~0.9.2","underscore.string":"~2.2.1","which":"~1.0.5","js-yaml":"~2.0.5","exit":"~0.1.1","getobject":"~0.1.0","grunt-legacy-util":"~0.2.0","grunt-legacy-log":"~0.1.0"},"devDependencies":{"temporary":"~0.0.4","grunt-contrib-jshint":"~0.6.4","grunt-contrib-nodeunit":"~0.2.0","grunt-contrib-watch":"~0.5.3","difflet":"~0.2.3","semver":"2.1.0","shelljs":"~0.2.5"},"readme":"# Grunt: The JavaScript Task Runner\n\n[![Build Status: Linux](https://secure.travis-ci.org/gruntjs/grunt.png?branch=master)](http://travis-ci.org/gruntjs/grunt)\n<a href=\"https://ci.appveyor.com/project/gruntjs/grunt\"><img src=\"https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva/branch/master\" alt=\"Build Status: Windows\" height=\"18\" /></a>\n[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)\n\n<img align=\"right\" height=\"260\" src=\"http://gruntjs.com/img/grunt-logo-no-wordmark.svg\">\n\n\n### Documentation\n\nVisit the [gruntjs.com](http://gruntjs.com/) website for all the things.\n\n### Support / Contributing\nBefore you make an issue, please read our [Contributing](http://gruntjs.com/contributing) guide.\n\nYou can find the grunt team in [#grunt on irc.freenode.net](http://webchat.freenode.net/?channels=grunt).\n\n### Release History\nSee the [CHANGELOG](CHANGELOG).\n","readmeFilename":"README.md","_id":"grunt@0.4.5","_from":"grunt@^0.4.5"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/Gruntfile.js","id":"grunt-cli/Gruntfile.js","options":{},"isModule":true,"mtime":1389201080000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/lib/cli.js","id":"grunt-cli/lib/cli.js","options":{},"isModule":true,"requiredModules":["nopt/lib/nopt.js"],"mtime":1389201080000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/lib/completion.js","id":"grunt-cli/lib/completion.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1389201080000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/lib/info.js","id":"grunt-cli/lib/info.js","options":{},"isModule":true,"requiredModules":["/Users/james/dev/maxwell-edi/node_modules/grunt-cli/package.json"],"mtime":1389201080000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/Gruntfile.js","id":"findup-sync/Gruntfile.js","options":{},"isModule":true,"mtime":1351803707000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/lib/findup-sync.js","id":"findup-sync/lib/findup-sync.js","options":{},"isModule":true,"requiredModules":["path","glob/glob.js","lodash/index.js"],"mtime":1362770767000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/examples/g.js","id":"glob/examples/g.js","options":{},"isModule":true,"requiredModules":["glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/examples/usr-local.js","id":"glob/examples/usr-local.js","options":{},"isModule":true,"requiredModules":["glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/glob.js","id":"glob/glob.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","inherits/inherits.js","events","path","assert"],"mtime":1393399612000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits"},"license":"ISC","scripts":{"test":"node test"},"readme":"Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n  superclass\n* new version overwrites current prototype while old one preserves any\n  existing fields on it\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/inherits/issues"},"homepage":"https://github.com/isaacs/inherits","_id":"inherits@2.0.1","_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_from":"inherits@2","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["lru-cache/lib/lru-cache.js","sigmund/sigmund.js","path"],"mtime":1399942015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js","id":"lru-cache/lib/lru-cache.js","options":{},"isModule":true,"mtime":1385055499000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json","data":{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"2.5.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"scripts":{"test":"tap test --gc"},"main":"lib/lru-cache.js","repository":{"type":"git","url":"git://github.com/isaacs/node-lru-cache.git"},"devDependencies":{"tap":"","weak":""},"license":{"type":"MIT","url":"http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"},"readme":"# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n  , options = { max: 500\n              , length: function (n) { return n * 2 }\n              , dispose: function (key, n) { n.close() }\n              , maxAge: 1000 * 60 * 60 }\n  , cache = LRU(options)\n  , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset()    // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n  function to all values in the cache.  Not setting this is kind of\n  silly, since that's the whole purpose of this lib, but it defaults\n  to `Infinity`.\n* `maxAge` Maximum age in ms.  Items are not pro-actively pruned out\n  as they age, but if you try to get an item that is too old, it'll\n  drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n  items.  If you're storing strings or buffers, then you probably want\n  to do something like `function(n){return n.length}`.  The default is\n  `function(n){return 1}`, which is fine if you want to store `n`\n  like-sized things.\n* `dispose` Function that is called on items when they are dropped\n  from the cache.  This can be handy if you want to close file\n  descriptors or do other cleanup tasks when items are no longer\n  accessible.  Called with `key, value`.  It's called *before*\n  actually removing the item from the internal cache, so if you want\n  to immediately put it back in, you'll have to do that in a\n  `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n  stale items out of the cache when you `get(key)`.  (That is, it's\n  not pre-emptively doing a `setTimeout` or anything.)  If you set\n  `stale:true`, it'll return the stale value before deleting it.  If\n  you don't set this, then it'll return `undefined` when you try to\n  get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n    Both of these will update the \"recently used\"-ness of the key.\n    They do what you think.\n\n* `peek(key)`\n\n    Returns the key value (or `undefined` if not found) without\n    updating the \"recently used\"-ness of the key.\n\n    (If you find yourself using this a lot, you *might* be using the\n    wrong sort of data structure, but there are some use cases where\n    it's handy.)\n\n* `del(key)`\n\n    Deletes a key out of the cache.\n\n* `reset()`\n\n    Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n    Check if a key is in the cache, without updating the recent-ness\n    or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n    Just like `Array.prototype.forEach`.  Iterates over all the keys\n    in the cache, in order of recent-ness.  (Ie, more recently used\n    items are iterated over first.)\n\n* `keys()`\n\n    Return an array of the keys in the cache.\n\n* `values()`\n\n    Return an array of the values in the cache.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-lru-cache/issues"},"homepage":"https://github.com/isaacs/node-lru-cache","_id":"lru-cache@2.5.0","_shasum":"d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb","_from":"lru-cache@2","_resolved":"https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/basic.js","id":"lru-cache/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1385052396000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/foreach.js","id":"lru-cache/test/foreach.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js","id":"lru-cache/test/memory-leak.js","options":{},"isModule":true,"requiredModules":["weak","tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/bench.js","id":"sigmund/bench.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","sigmund/sigmund.js","bench"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json","data":{"name":"sigmund","version":"1.0.0","description":"Quick and dirty signatures for Objects.","main":"sigmund.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js","bench":"node bench.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sigmund"},"keywords":["object","signature","key","data","psychoanalysis"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","readme":"# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n  var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n  var cached = cache.get(key)\n  if (cached) return cached)\n\n  var result = expensiveCalculation(someObj)\n  cache.set(key, result)\n  return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:'foo'}` will be treated identically to the\narray `['foo']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you.  In fact, it's\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions.  For example, these objects\nhave the same signature:\n\n    var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}\n    var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you're looking for.  It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/sigmund/issues"},"homepage":"https://github.com/isaacs/sigmund","_id":"sigmund@1.0.0","_shasum":"66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296","_from":"sigmund@~1.0.0","_resolved":"https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/sigmund.js","id":"sigmund/sigmund.js","options":{},"isModule":true,"mtime":1344873467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/node_modules/sigmund/test/basic.js","id":"sigmund/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","sigmund/sigmund.js"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"0.3.0","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"test":"tap test/*.js"},"engines":{"node":"*"},"dependencies":{"lru-cache":"2","sigmund":"~1.0.0"},"devDependencies":{"tap":""},"license":{"type":"MIT","url":"http://github.com/isaacs/minimatch/raw/master/LICENSE"},"readme":"# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n  Each row in the\n  array corresponds to a brace-expanded pattern.  Each item in the row\n  corresponds to a single path-part.  For example, the pattern\n  `{a,b/c}/d` would expand to a set of patterns like:\n\n        [ [ a, d ]\n        , [ b, c, d ] ]\n\n    If a portion of the pattern doesn't have any \"magic\" in it\n    (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n    will be left as a string rather than converted to a regular\n    expression.\n\n* `regexp` Created by the `makeRe` method.  A single regular expression\n  expressing the entire pattern.  This is useful in cases where you wish\n  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n  Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n  false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n  filename, and match it against a single row in the `regExpSet`.  This\n  method is mainly for internal use, but is exposed so that it can be\n  used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items.  So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export.  Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`.  Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob.  If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself if this option is set.  When not set, an empty list\nis returned if there are no matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes.  For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch","_id":"minimatch@0.3.0","_shasum":"275d8edaac4f1bb3326472089e7949c8394699dd","_from":"minimatch@0.3","_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/basic.js","id":"minimatch/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387171514000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/brace-expand.js","id":"minimatch/test/brace-expand.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1324537594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/caching.js","id":"minimatch/test/caching.js","options":{},"isModule":true,"requiredModules":["minimatch/minimatch.js","tap"],"mtime":1332887728000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/defaults.js","id":"minimatch/test/defaults.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1399941975000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js","id":"minimatch/test/extglob-ending-with-state-char.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387223424000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"glob","description":"a little globber","version":"3.2.11","repository":{"type":"git","url":"git://github.com/isaacs/node-glob.git"},"main":"glob.js","engines":{"node":"*"},"dependencies":{"inherits":"2","minimatch":"0.3"},"devDependencies":{"tap":"~0.4.0","mkdirp":"0","rimraf":"1"},"scripts":{"test":"tap test/*.js","test-regen":"TEST_REGEN=1 node test/00-setup.js"},"license":"BSD","readme":"# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript.  It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n  // files is an array of filenames.\n  // If the `nonull` option is set, and nothing\n  // was found, then files is [\"**/*.js\"]\n  // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt's an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered.  When an error is encountered, the\n  glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`.  There\n  is no way at this time to continue a glob search after aborting, but\n  you can re-use the statCache to avoid having to duplicate syscalls.\n* `statCache` Collection of all the stat results the glob search\n  performed.\n* `cache` Convenience object.  Each field has the following possible\n  values:\n  * `false` - Path does not exist\n  * `true` - Path exists\n  * `1` - Path exists, and is not a directory\n  * `2` - Path exists, and is a directory\n  * `[file, entries, ...]` - Path exists, is a directory, and the\n    array value is the results of `fs.readdir`\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n  matches found.  If the `nonull` option is set, and no match was found,\n  then the `matches` list contains the original pattern.  The matches\n  are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n  any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior.  Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search.  Defaults\n  to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n  onto.  Defaults to `path.resolve(options.cwd, \"/\")` (`/` on Unix\n  systems, and `C:\\` or some such on Windows.)\n* `dot` Include `.dot` files in normal matches and `globstar` matches.\n  Note that an explicit dot in a portion of the pattern will always\n  match dot files.\n* `nomount` By default, a pattern starting with a forward-slash will be\n  \"mounted\" onto the root setting, so that a valid filesystem path is\n  returned.  Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches.  Note that this\n  requires additional stat calls.\n* `nosort` Don't sort the results.\n* `stat` Set to true to stat *all* results.  This reduces performance\n  somewhat, and is completely unnecessary, unless `readdir` is presumed\n  to be an untrustworthy indicator of file existence.  It will cause\n  ELOOP to be triggered one level sooner in the case of cyclical\n  symbolic links.\n* `silent` When an unusual error is encountered\n  when attempting to read a directory, a warning will be printed to\n  stderr.  Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n  when attempting to read a directory, the process will just continue on\n  in search of other matches.  Set the `strict` option to raise an error\n  in these cases.\n* `cache` See `cache` property above.  Pass in a previously generated\n  cache object to save some fs calls.\n* `statCache` A cache of results of filesystem information, to prevent\n  unnecessary stat calls.  While it should not normally be necessary to\n  set this, you may pass the statCache from one glob() call to the\n  options object of another, if you know that the filesystem will not\n  change between calls.  (See \"Race Conditions\" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n  same file showing up multiple times in the result set.  By default,\n  this implementation prevents duplicates in the result set.\n  Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n  containing the pattern itself.  This is the default in glob(3).\n* `nocase` Perform a case-insensitive match.  Note that case-insensitive\n  filesystems will sometimes result in glob returning results that are\n  case-insensitively matched anyway, since readdir and stat will not\n  raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`glob.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation.  You must use\nforward-slashes **only** in glob expressions.  Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`.  On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead.  However, this also makes it even more susceptible to races,\nespecially if the cache or statCache objects are reused between glob\ncalls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes.  For the vast majority\nof operations, this is never a problem.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-glob/issues"},"homepage":"https://github.com/isaacs/node-glob","_id":"glob@3.2.11","_shasum":"4a973f635b9190f715d10987d5c00fd2815ebe3d","_from":"glob@~3.2.9","_resolved":"https://registry.npmjs.org/glob/-/glob-3.2.11.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/00-setup.js","id":"glob/test/00-setup.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","fs","rimraf/rimraf.js","child_process"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/bash-comparison.js","id":"glob/test/bash-comparison.js","options":{},"isModule":true,"requiredModules":["tap","child_process","glob/test/bash-results.json","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/bash-results.json","id":"glob/test/bash-results.json","options":{},"isModule":true,"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/cwd-test.js","id":"glob/test/cwd-test.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/globstar-match.js","id":"glob/test/globstar-match.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/mark.js","id":"glob/test/mark.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/new-glob-optional-options.js","id":"glob/test/new-glob-optional-options.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/nocase-nomagic.js","id":"glob/test/nocase-nomagic.js","options":{},"isModule":true,"requiredModules":["fs","tap","glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/pause-resume.js","id":"glob/test/pause-resume.js","options":{},"isModule":true,"requiredModules":["tap","child_process","glob/test/bash-results.json","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/readme-issue.js","id":"glob/test/readme-issue.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","mkdirp/index.js","fs","rimraf/rimraf.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/root-nomount.js","id":"glob/test/root-nomount.js","options":{},"isModule":true,"requiredModules":["tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/root.js","id":"glob/test/root.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/stat.js","id":"glob/test/stat.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/glob/test/zz-cleanup.js","id":"glob/test/zz-cleanup.js","options":{},"isModule":true,"requiredModules":["tap","rimraf/rimraf.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js","id":"lodash/dist/lodash.compat.js","options":{},"isModule":true,"mtime":1386055084000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.min.js","id":"lodash/dist/lodash.compat.min.js","options":{},"isModule":true,"mtime":1386055092000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/dist/lodash.js","id":"lodash/dist/lodash.js","options":{},"isModule":true,"mtime":1386055096000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/dist/lodash.min.js","id":"lodash/dist/lodash.min.js","options":{},"isModule":true,"mtime":1386055103000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.js","id":"lodash/dist/lodash.underscore.js","options":{},"isModule":true,"mtime":1386055106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.min.js","id":"lodash/dist/lodash.underscore.min.js","options":{},"isModule":true,"mtime":1386055112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/lodash.js","id":"lodash/lodash.js","options":{},"isModule":true,"mtime":1386054705000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/node_modules/lodash/package.json","data":{"name":"lodash","version":"2.4.1","description":"A utility library delivering consistency, customization, performance, & extras.","homepage":"http://lodash.com/","license":"MIT","main":"dist/lodash.js","keywords":["amd","browser","client","customize","functional","server","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"http://mathiasbynens.be/"}],"bugs":{"url":"https://github.com/lodash/lodash/issues"},"repository":{"type":"git","url":"https://github.com/lodash/lodash.git"},"engines":["node","rhino"],"files":["LICENSE.txt","lodash.js","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"],"jam":{"main":"dist/lodash.compat.js","include":["LICENSE.txt","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"]},"volo":{"type":"directory","ignore":[".*","*.custom.*","*.min.*","*.template.*","*.map","*.md","lodash.js","index.js","bower.json","component.json","doc","modularize","node_modules","perf","test","vendor"]},"readme":"# Lo-Dash v2.4.1\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\nCheck out our [wiki]([https://github.com/lodash/lodash/wiki/build-differences]) for details over the differences between builds.\n\n* Modern builds perfect for newer browsers/environments:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.min.js)\n\n* Compatibility builds for older environment support too:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.compat.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.compat.min.js)\n\n* Underscore builds to use as a drop-in replacement:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.underscore.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.1/dist/lodash.underscore.min.js)\n\nCDN copies are available on [cdnjs](http://cdnjs.com/libraries/lodash.js/) & [jsDelivr](http://www.jsdelivr.com/#!lodash). For smaller file sizes, create [custom builds](http://lodash.com/custom-builds) with only the features needed.\n\nLove modules? We’ve got you covered with [lodash-amd](https://npmjs.org/package/lodash-amd), [lodash-es6](https://github.com/lodash/lodash-es6), [lodash-node](https://npmjs.org/package/lodash-node), & [npm packages](https://npmjs.org/browse/keyword/lodash-modularized) per method.\n\n## Dive in\n\nThere’s plenty of **[documentation](http://lodash.com/docs)**, [unit tests](http://lodash.com/tests), & [benchmarks](http://lodash.com/benchmarks).<br>\nCheck out <a href=\"http://devdocs.io/lodash/\">DevDocs</a> as a fast, organized, & searchable interface for our documentation.\n\nThe full changelog for this release is available on our [wiki](https://github.com/lodash/lodash/wiki/Changelog).<br>\nA list of upcoming features is available on our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Features *not* in Underscore\n\n * AMD loader support ([curl](https://github.com/cujojs/curl), [dojo](http://dojotoolkit.org/), [requirejs](http://requirejs.org/), etc.)\n * [_(…)](http://lodash.com/docs#_) supports intuitive chaining\n * [_.at](http://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”*](http://michaux.ca/articles/lazy-function-definition-pattern) defined methods\n * [_.clone](http://lodash.com/docs#clone) supports shallow cloning of `Date` & `RegExp` objects\n * [_.cloneDeep](http://lodash.com/docs#cloneDeep) for deep cloning arrays & objects\n * [_.constant](http://lodash.com/docs#constant) & [_.property](http://lodash.com/docs#property) function generators for composing functions\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex`\n * [_.create](http://lodash.com/docs#create) for easier object inheritance\n * [_.createCallback](http://lodash.com/docs#createCallback) for extending callbacks in methods & mixins\n * [_.curry](http://lodash.com/docs#curry) for creating [curried](http://hughfdjackson.com/javascript/2013/07/06/why-curry-helps/) functions\n * [_.debounce](http://lodash.com/docs#debounce) & [_.throttle](http://lodash.com/docs#throttle) accept additional `options` for more control\n * [_.findIndex](http://lodash.com/docs#findIndex) & [_.findKey](http://lodash.com/docs#findKey) for finding indexes & keys\n * [_.forEach](http://lodash.com/docs#forEach) is chainable & supports exiting early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating own & inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) for checking if values are created by `Object`\n * [_.mapValues](http://lodash.com/docs#mapValues) for [mapping](http://lodash.com/docs#map) values to an object\n * [_.memoize](http://lodash.com/docs#memoize) exposes the `cache` of memoized functions\n * [_.merge](http://lodash.com/docs#merge) for a deep [_.extend](http://lodash.com/docs#extend)\n * [_.noop](http://lodash.com/docs#noop) for function placeholders\n * [_.now](http://lodash.com/docs#now) as a cross-browser `Date.now` alternative\n * [_.parseInt](http://lodash.com/docs#parseInt) for consistent behavior\n * [_.pull](http://lodash.com/docs#pull) & [_.remove](http://lodash.com/docs#remove) for mutating arrays\n * [_.random](http://lodash.com/docs#random) supports returning floating-point numbers\n * [_.runInContext](http://lodash.com/docs#runInContext) for easier mocking\n * [_.sortBy](http://lodash.com/docs#sortBy) supports sorting by multiple properties\n * [_.support](http://lodash.com/docs#support) for flagging environment features\n * [_.template](http://lodash.com/docs#template) supports [*“imports”*](http://lodash.com/docs#templateSettings_imports) options & [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals)\n * [_.transform](http://lodash.com/docs#transform) as a powerful alternative to [_.reduce](http://lodash.com/docs#reduce) for transforming objects\n * [_.where](http://lodash.com/docs#where) supports deep object comparisons\n * [_.xor](http://lodash.com/docs#xor) as a companion to [_.difference](http://lodash.com/docs#difference), [_.intersection](http://lodash.com/docs#intersection), & [_.union](http://lodash.com/docs#union)\n * [_.zip](http://lodash.com/docs#zip) is capable of unzipping values\n * [_.omit](http://lodash.com/docs#omit), [_.pick](http://lodash.com/docs#pick), &\n   [more](http://lodash.com/docs \"_.assign, _.clone, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest\") accept callbacks\n * [_.contains](http://lodash.com/docs#contains), [_.toArray](http://lodash.com/docs#toArray), &\n   [more](http://lodash.com/docs \"_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.forEachRight, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.size, _.some, _.sortBy, _.where\") accept strings\n * [_.filter](http://lodash.com/docs#filter), [_.map](http://lodash.com/docs#map), &\n   [more](http://lodash.com/docs \"_.countBy, _.every, _.find, _.findKey, _.findLast, _.findLastIndex, _.findLastKey, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq\") support *“_.pluck”* & *“_.where”* shorthands\n * [_.findLast](http://lodash.com/docs#findLast), [_.findLastIndex](http://lodash.com/docs#findLastIndex), &\n   [more](http://lodash.com/docs \"_.findLastKey, _.forEachRight, _.forInRight, _.forOwnRight, _.partialRight\") right-associative methods\n\n## Resources\n\n * Podcasts\n  - [JavaScript Jabber](http://javascriptjabber.com/079-jsj-lo-dash-with-john-david-dalton/)\n\n * Posts\n  - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n  - [Custom builds in Lo-Dash 2.0](http://kitcambridge.be/blog/custom-builds-in-lo-dash-2-dot-0/)\n\n * Videos\n  - [Introduction](https://vimeo.com/44154599)\n  - [Origins](https://vimeo.com/44154600)\n  - [Optimizations & builds](https://vimeo.com/44154601)\n  - [Native method use](https://vimeo.com/48576012)\n  - [Testing](https://vimeo.com/45865290)\n  - [CascadiaJS ’12](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n A list of other community created podcasts, posts, & videos is available on our [wiki](https://github.com/lodash/lodash/wiki/Resources).\n\n## Support\n\nTested in Chrome 5~31, Firefox 2~25, IE 6-11, Opera 9.25~17, Safari 3-7, Node.js 0.6.21~0.10.22, Narwhal 0.3.2, PhantomJS 1.9.2, RingoJS 0.9, & Rhino 1.7RC5.<br>\nAutomated browser test results [are available](https://saucelabs.com/u/lodash) as well as [Travis CI](https://travis-ci.org/) builds for [lodash](https://travis-ci.org/lodash/lodash/), [lodash-cli](https://travis-ci.org/lodash/lodash-cli/), [lodash-amd](https://travis-ci.org/lodash/lodash-amd/), [lodash-node](https://travis-ci.org/lodash/lodash-node/), & [grunt-lodash](https://travis-ci.org/lodash/grunt-lodash).\n\nSpecial thanks to [Sauce Labs](https://saucelabs.com/) for providing automated browser testing.<br>\n[![Sauce Labs](http://lodash.com/_img/sauce.png)](https://saucelabs.com/ \"Sauce Labs: Selenium Testing & More\")\n\n## Installation & usage\n\nIn browsers:\n\n```html\n<script src=\"lodash.js\"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm i --save lodash\n\n{sudo} npm i -g lodash\nnpm ln lodash\n```\n\nIn [Node.js](http://nodejs.org/) & [Ringo](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n// or as Underscore\nvar _ = require('lodash/dist/lodash.underscore');\n```\n\n**Notes:**\n * Don’t assign values to [special variable](http://nodejs.org/api/repl.html#repl_repl_features) `_` when in the REPL\n * If Lo-Dash is installed globally, run [`npm ln lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory *before* requiring it\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader:\n\n```js\nrequire({\n  'packages': [\n    { 'name': 'lodash', 'location': 'path/to/lodash', 'main': 'lodash' }\n  ]\n},\n['lodash'], function(_) {\n  console.log(_.VERSION);\n});\n```\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](https://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://www.iceddev.com/) | [Kit Cambridge](http://kitcambridge.be/) | [Mathias Bynens](http://mathiasbynens.be/) |\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/lodash/lodash/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n","readmeFilename":"README.md","_id":"lodash@2.4.1","_shasum":"5b7723034dda4d262e5a46fb2c58d7cc22f71420","_from":"lodash@~2.4.1","_resolved":"https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz","scripts":{}},"mtime":1415897193000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/package.json","data":{"name":"findup-sync","description":"Find the first file matching a given pattern in the current directory or the nearest ancestor directory.","version":"0.1.3","homepage":"https://github.com/cowboy/node-findup-sync","author":{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},"repository":{"type":"git","url":"git://github.com/cowboy/node-findup-sync.git"},"bugs":{"url":"https://github.com/cowboy/node-findup-sync/issues"},"licenses":[{"type":"MIT","url":"https://github.com/cowboy/node-findup-sync/blob/master/LICENSE-MIT"}],"main":"lib/findup-sync","engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt nodeunit"},"dependencies":{"glob":"~3.2.9","lodash":"~2.4.1"},"devDependencies":{"grunt":"~0.4.4","grunt-contrib-jshint":"~0.9.2","grunt-contrib-nodeunit":"~0.3.3"},"keywords":["find","glob","file"],"readme":"# findup-sync [![Build Status](https://secure.travis-ci.org/cowboy/node-findup-sync.png?branch=master)](http://travis-ci.org/cowboy/node-findup-sync)\n\nFind the first file matching a given pattern in the current directory or the nearest ancestor directory.\n\n## Getting Started\nInstall the module with: `npm install findup-sync`\n\n```js\nvar findup = require('findup-sync');\n\n// Start looking in the CWD.\nvar filepath1 = findup('{a,b}*.txt');\n\n// Start looking somewhere else, and ignore case (probably a good idea).\nvar filepath2 = findup('{a,b}*.txt', {cwd: '/some/path', nocase: true});\n```\n\n## Usage\n\n```js\nfindup(patternOrPatterns [, minimatchOptions])\n```\n\n### patternOrPatterns\nType: `String` or `Array`  \nDefault: none\n\nOne or more wildcard glob patterns. Or just filenames.\n\n### minimatchOptions\nType: `Object`  \nDefault: `{}`\n\nOptions to be passed to [minimatch](https://github.com/isaacs/minimatch).\n\nNote that if you want to start in a different directory than the current working directory, specify a `cwd` property here.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n2014-03-14 - v0.1.3 - Updated dependencies.  \n2013-03-08 - v0.1.2 - Updated dependencies. Fixed a Node 0.9.x bug. Updated unit tests to work cross-platform.  \n2012-11-15 - v0.1.1 - Now works without an options object.  \n2012-11-01 - v0.1.0 - Initial release.\n","readmeFilename":"README.md","_id":"findup-sync@0.1.3","_shasum":"7f3e7a97b82392c653bf06589bd85190e93c3683","_from":"findup-sync@~0.1.0","_resolved":"https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/findup-sync/test/findup-sync_test.js","id":"findup-sync/test/findup-sync_test.js","options":{},"isModule":true,"requiredModules":["path","findup-sync/lib/findup-sync.js"],"mtime":1362770767000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/bin/nopt.js","id":"nopt/bin/nopt.js","options":{},"isModule":true,"requiredModules":["nopt/lib/nopt.js"],"mtime":1317851223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/examples/my-program.js","id":"nopt/examples/my-program.js","options":{},"isModule":true,"requiredModules":["nopt/lib/nopt.js","stream","path","util/util.js"],"mtime":1317851223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/lib/nopt.js","id":"nopt/lib/nopt.js","options":{},"isModule":true,"requiredModules":["url","path","stream","abbrev/abbrev.js","assert","util/util.js"],"mtime":1317851223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/node_modules/abbrev/abbrev.js","id":"abbrev/abbrev.js","options":{},"isModule":true,"mtime":1397765081000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/node_modules/abbrev/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/node_modules/abbrev/package.json","data":{"name":"abbrev","version":"1.0.5","description":"Like ruby's abbrev module, but in js","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"main":"abbrev.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"http://github.com/isaacs/abbrev-js"},"license":{"type":"MIT","url":"https://github.com/isaacs/abbrev-js/raw/master/LICENSE"},"readme":"# abbrev-js\n\nJust like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).\n\nUsage:\n\n    var abbrev = require(\"abbrev\");\n    abbrev(\"foo\", \"fool\", \"folding\", \"flop\");\n    \n    // returns:\n    { fl: 'flop'\n    , flo: 'flop'\n    , flop: 'flop'\n    , fol: 'folding'\n    , fold: 'folding'\n    , foldi: 'folding'\n    , foldin: 'folding'\n    , folding: 'folding'\n    , foo: 'foo'\n    , fool: 'fool'\n    }\n\nThis is handy for command-line scripts, or other cases where you want to be able to accept shorthands.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/abbrev-js/issues"},"homepage":"https://github.com/isaacs/abbrev-js","_id":"abbrev@1.0.5","_from":"abbrev@1"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/node_modules/abbrev/test.js","id":"abbrev/test.js","options":{},"isModule":true,"requiredModules":["abbrev/abbrev.js","assert","util/util.js"],"mtime":1397765268000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/nopt/package.json","data":{"name":"nopt","version":"1.0.10","description":"Option parsing for Node, supporting types, shorthands, etc. Used by npm.","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"main":"lib/nopt.js","scripts":{"test":"node lib/nopt.js"},"repository":{"type":"git","url":"http://github.com/isaacs/nopt"},"bin":{"nopt":"./bin/nopt.js"},"license":{"type":"MIT","url":"https://github.com/isaacs/nopt/raw/master/LICENSE"},"dependencies":{"abbrev":"1"},"readme":"If you want to write an option parser, and have it be good, there are\ntwo ways to do it.  The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser.  We've all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don't write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system.  You probably won't end up with a\ngood one of those, but if you don't give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n    // my-program.js\n    var nopt = require(\"nopt\")\n      , Stream = require(\"stream\").Stream\n      , path = require(\"path\")\n      , knownOpts = { \"foo\" : [String, null]\n                    , \"bar\" : [Stream, Number]\n                    , \"baz\" : path\n                    , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n                    , \"flag\" : Boolean\n                    , \"pick\" : Boolean\n                    , \"many\" : [String, Array]\n                    }\n      , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n                     , \"b7\" : [\"--bar\", \"7\"]\n                     , \"m\" : [\"--bloo\", \"medium\"]\n                     , \"p\" : [\"--pick\"]\n                     , \"f\" : [\"--flag\"]\n                     }\n                 // everything is optional.\n                 // knownOpts and shorthands default to {}\n                 // arg list defaults to process.argv\n                 // slice defaults to 2\n      , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n    console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo \"blerp\" --no-flag\n{ \"foo\" : \"blerp\", \"flag\" : false }\n\n$ node my-program.js ---bar 7 --foo \"Mr. Hand\" --flag\n{ bar: 7, foo: \"Mr. Hand\", flag: true }\n\n$ node my-program.js --foo \"blerp\" -f -----p\n{ foo: \"blerp\", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: \"Mr. Foo\", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp  # -- stops the flag parsing.\n{ foo: \"Mr. Foo\", argv: { remain: [\"-fp\"] } }\n\n$ node my-program.js --blatzk 1000 -fp # unknown opts are ok.\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --blatzk true -fp # but they need a value\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with \"no-\"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: \"/Users/isaacs/b/a/z\" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array.  The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: [\"1\", \"null\", \"foo\"] }\n\n$ node my-program.js --many foo\n{ many: [\"foo\"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string.  No parsing is done.\n* path: A file system path.  Gets resolved against cwd if not absolute.\n* url: A url.  If it doesn't parse, it isn't accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n  then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`.  If an option is a boolean,\n  then it does not need a value, and its presence will imply `true` as\n  the value.  To negate boolean flags, do `--no-whatever` or `--whatever\n  false`\n* NaN: Means that the option is strictly not allowed.  Any value will\n  fail.\n* Stream: An object matching the \"Stream\" class in node.  Valuable\n  for use when validating programmatically.  (npm uses this to let you\n  supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n  will be parsed as a list of options.  This means that multiple values\n  can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values.  For instance, in the example above, the\n`--bloo` option can only be one of `\"big\"`, `\"medium\"`, or `\"small\"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `\"true\"`, `\"false\"`, and `\"null\"` will be\ninterpreted as their JavaScript equivalents, and numeric values will be\ninterpreted as a number.\n\nYou can also mix types and values, or multiple types, in a list.  For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null.\n\nTo define a new type, add it to `nopt.typeDefs`.  Each item in that\nhash is an object with a `type` member and a `validate` method.  The\n`type` member is an object that matches what goes in the type list.  The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`.  Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found.  You can change this behavior by assigning a method\nto `nopt.invalidHandler`.  This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining.  If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported.  If you define options like this:\n\n```javascript\n{ \"foolhardyelephants\" : Boolean\n, \"pileofmonkeys\" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts.  For example:\n\n```json\n{ \"s\" : [\"--loglevel\", \"silent\"]\n, \"g\" : \"--global\"\n, \"f\" : \"--force\"\n, \"p\" : \"--parseable\"\n, \"l\" : \"--long\"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat's usually not very useful to you.  So they're sliced off by\ndefault.  If you want them, then you can pass in `0` as the last\nargument, or any other number that you'd like to slice off the start of\nthe list.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/nopt/issues"},"homepage":"https://github.com/isaacs/nopt","_id":"nopt@1.0.10","_from":"nopt@~1.0.10"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/example/async.js","id":"resolve/example/async.js","options":{},"isModule":true,"requiredModules":["resolve/index.js"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/example/sync.js","id":"resolve/example/sync.js","options":{},"isModule":true,"requiredModules":["resolve/index.js"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/index.js","id":"resolve/index.js","options":{},"isModule":true,"requiredModules":["resolve/lib/core.js","resolve/lib/async.js","resolve/lib/sync.js"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/lib/async.js","id":"resolve/lib/async.js","options":{},"isModule":true,"requiredModules":["resolve/lib/core.js","fs","path"],"mtime":1364576473000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/lib/core.js","id":"resolve/lib/core.js","options":{},"isModule":true,"requiredModules":["resolve/lib/core.json"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/lib/core.json","id":"resolve/lib/core.json","options":{},"isModule":true,"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/lib/sync.js","id":"resolve/lib/sync.js","options":{},"isModule":true,"requiredModules":["resolve/lib/core.js","fs","path"],"mtime":1364576482000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/package.json","data":{"name":"resolve","description":"resolve like require.resolve() on behalf of files asynchronously and synchronously","version":"0.3.1","repository":{"type":"git","url":"git://github.com/substack/node-resolve.git"},"main":"index.js","keywords":["resolve","require","node","module"],"scripts":{"test":"tap test/*.js"},"devDependencies":{"tap":"~0.4.0"},"license":"MIT","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"readme":"# resolve\n\nimplements the [node `require.resolve()`\nalgorithm](http://nodejs.org/docs/v0.4.8/api/all.html#all_Together...)\nsuch that you can `require.resolve()` on behalf of a file asynchronously and\nsynchronously\n\n[![build status](https://secure.travis-ci.org/substack/node-resolve.png)](http://travis-ci.org/substack/node-resolve)\n\n# example\n\nasynchronously resolve:\n\n``` js\nvar resolve = require('resolve');\nresolve('tap', { basedir: __dirname }, function (err, res) {\n    if (err) console.error(err)\n    else console.log(res)\n});\n```\n\n```\n$ node example/async.js\n/home/substack/projects/node-resolve/node_modules/tap/lib/main.js\n```\n\nsynchronously resolve:\n\n``` js\nvar resolve = require('resolve');\nvar res = resolve.sync('tap', { basedir: __dirname });\nconsole.log(res);\n```\n\n```\n$ node example/sync.js\n/home/substack/projects/node-resolve/node_modules/tap/lib/main.js\n```\n\n# methods\n\n``` js\nvar resolve = require('resolve')\n```\n\n## resolve(pkg, opts={}, cb)\n\nAsynchronously resolve the module path string `pkg` into `cb(err, res)`.\n\noptions are:\n\n* opts.basedir - directory to begin resolving from\n\n* opts.extensions - array of file extensions to search in order\n\n* opts.readFile - how to read files asynchronously\n\n* opts.isFile - function to asynchronously test whether a file exists\n\n* opts.packageFilter - transform the parsed package.json contents before looking\nat the \"main\" field\n\n* opts.paths - require.paths array to use if nothing is found on the normal\nnode_modules recursive walk (probably don't use this)\n\ndefault `opts` values:\n\n``` javascript\n{\n    paths: [],\n    basedir: __dirname,\n    extensions: [ '.js' ],\n    readFile: fs.readFile,\n    isFile: function (file, cb) {\n        fs.stat(file, function (err, stat) {\n            if (err && err.code === 'ENOENT') cb(null, false)\n            else if (err) cb(err)\n            else cb(null, stat.isFile())\n        });\n    }\n}\n```\n\n## resolve.sync(pkg, opts)\n\nSynchronously resolve the module path string `pkg`, returning the result and\nthrowing an error when `pkg` can't be resolved.\n\noptions are:\n\n* opts.basedir - directory to begin resolving from\n\n* opts.extensions - array of file extensions to search in order\n\n* opts.readFile - how to read files synchronously\n\n* opts.isFile - function to synchronously test whether a file exists\n\n* opts.packageFilter - transform the parsed package.json contents before looking\nat the \"main\" field\n\n* opts.paths - require.paths array to use if nothing is found on the normal\nnode_modules recursive walk (probably don't use this)\n\ndefault `opts` values:\n\n``` javascript\n{\n    paths: [],\n    basedir: __dirname,\n    extensions: [ '.js' ],\n    readFileSync: fs.readFileSync,\n    isFile: function (file) {\n        try { return fs.statSync(file).isFile() }\n        catch (e) { return false }\n    }\n}\n````\n\n## resolve.isCore(pkg)\n\nReturn whether a package is in core.\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install resolve\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-resolve/issues"},"homepage":"https://github.com/substack/node-resolve","_id":"resolve@0.3.1","_from":"resolve@~0.3.1"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/core.js","id":"resolve/test/core.js","options":{},"isModule":true,"requiredModules":["tap","resolve/index.js"],"mtime":1334266157000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/filter.js","id":"resolve/test/filter.js","options":{},"isModule":true,"requiredModules":["tap","resolve/index.js"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/filter_sync.js","id":"resolve/test/filter_sync.js","options":{},"isModule":true,"requiredModules":["tap","resolve/index.js"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/mock.js","id":"resolve/test/mock.js","options":{},"isModule":true,"requiredModules":["tap","resolve/index.js"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/mock_sync.js","id":"resolve/test/mock_sync.js","options":{},"isModule":true,"requiredModules":["tap","resolve/index.js"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js","id":"resolve/test/resolver/bar/node_modules/foo/index.js","options":{},"isModule":true,"mtime":1308390572000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/baz/doom.js","id":"baz/doom.js","options":{},"isModule":true,"mtime":1308618887000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/baz/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/baz/package.json","data":{"main":"quux.js"},"mtime":1308390596000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/baz/quux.js","id":"baz/quux.js","options":{},"isModule":true,"mtime":1308390607000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js","id":"resolve/test/resolver/biz/node_modules/grux/index.js","options":{},"isModule":true,"requiredModules":["tiv"],"mtime":1308445810000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js","id":"resolve/test/resolver/biz/node_modules/tiv/index.js","options":{},"isModule":true,"mtime":1308445803000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/foo.js","id":"resolve/test/resolver/foo.js","options":{},"isModule":true,"mtime":1308390534000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/mug.js","id":"resolve/test/resolver/mug.js","options":{},"isModule":true,"mtime":1308567888000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/other_path/lib/other-lib.js","id":"resolve/test/resolver/other_path/lib/other-lib.js","options":{},"isModule":true,"mtime":1320033057000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver/other_path/root.js","id":"resolve/test/resolver/other_path/root.js","options":{},"isModule":true,"mtime":1320033057000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver.js","id":"resolve/test/resolver.js","options":{},"isModule":true,"requiredModules":["tap","resolve/index.js"],"mtime":1361234030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/node_modules/resolve/test/resolver_sync.js","id":"resolve/test/resolver_sync.js","options":{},"isModule":true,"requiredModules":["tap","resolve/index.js","path"],"mtime":1361234030000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-cli/package.json","data":{"name":"grunt-cli","description":"The grunt command line interface.","version":"0.1.13","author":{"name":"Grunt Team"},"homepage":"http://gruntjs.com/","repository":{"type":"git","url":"git://github.com/gruntjs/grunt-cli.git"},"bugs":{"url":"http://github.com/gruntjs/grunt-cli/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-cli/blob/master/LICENSE-MIT"}],"bin":{"grunt":"bin/grunt"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"node bin/grunt test"},"preferGlobal":true,"dependencies":{"nopt":"~1.0.10","findup-sync":"~0.1.0","resolve":"~0.3.1"},"devDependencies":{"grunt":"~0.4.0","grunt-contrib-jshint":"~0.2.0"},"contributors":[{"name":"Tyler Kellen","url":"http://goingslowly.com"},{"name":"Ben Alman","url":"http://gruntjs.com"},{"name":"Scott González","url":"http://nemikor.com"},{"name":"Forbes Lindesay","url":"https://github.com/"}],"readme":"# grunt-cli [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-cli.png?branch=master)](http://travis-ci.org/gruntjs/grunt-cli)\n> The Grunt command line interface.\n\nInstall this globally and you'll have access to the `grunt` command anywhere on your system.\n\n```shell\nnpm install -g grunt-cli\n```\n\n**Note:** The job of the `grunt` command is to load and run the version of Grunt you have installed locally to your project, irrespective of its version.  Starting with Grunt v0.4, you should never install Grunt itself globally.  For more information about why, [please read this](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation).\n\nSee the [Getting Started](http://gruntjs.com/getting-started) guide for more information.\n\n## Shell tab auto-completion\nTo enable tab auto-completion for Grunt, add one of the following lines to your `~/.bashrc` or `~/.zshrc` file.\n\n```bash\n# Bash, ~/.bashrc\neval \"$(grunt --completion=bash)\"\n```\n\n```bash\n# Zsh, ~/.zshrc\neval \"$(grunt --completion=zsh)\"\n```\n\n## Installing grunt-cli locally\nIf you prefer the idiomatic Node.js method to get started with a project (`npm install && npm test`) then install grunt-cli locally with `npm install grunt-cli --save-dev`. Then add a script to your `package.json` to run the associated grunt command: `\"scripts\": { \"test\": \"grunt test\" } `. Now `npm test` will use the locally installed `./node_modules/.bin/grunt` executable to run your Grunt commands.\n\nTo read more about npm scripts, please visit the npm docs: [https://npmjs.org/doc/misc/npm-scripts.html](https://npmjs.org/doc/misc/npm-scripts.html).\n","readmeFilename":"README.md","_id":"grunt-cli@0.1.13","_from":"grunt-cli@^0.1.13"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/node_modules/rimraf/bin.js","id":"rimraf/bin.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js"],"mtime":1371826156000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/node_modules/rimraf/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/node_modules/rimraf/package.json","data":{"name":"rimraf","version":"2.2.8","main":"rimraf.js","description":"A deep deletion module for node (like `rm -rf`)","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":{"type":"MIT","url":"https://github.com/isaacs/rimraf/raw/master/LICENSE"},"repository":{"type":"git","url":"git://github.com/isaacs/rimraf.git"},"scripts":{"test":"cd test && bash run.sh"},"bin":{"rimraf":"./bin.js"},"contributors":[{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},{"name":"Wayne Larsen","email":"wayne@larsen.st","url":"http://github.com/wvl"},{"name":"ritch","email":"skawful@gmail.com"},{"name":"Marcel Laverdet"},{"name":"Yosef Dinerstein","email":"yosefd@microsoft.com"}],"readme":"`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one.  Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n  `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn't exist, rimraf will return\n  successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too.  But that's not so good.  Use\nthe async API.  It's better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/rimraf/issues"},"homepage":"https://github.com/isaacs/rimraf","_id":"rimraf@2.2.8","_shasum":"e439be2aaee327321952730f99a8929e4fc50582","_from":"rimraf@>=2.2.1 <2.3.0","_resolved":"https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/node_modules/rimraf/rimraf.js","id":"rimraf/rimraf.js","options":{},"isModule":true,"requiredModules":["assert","path","fs"],"mtime":1399391937000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/node_modules/rimraf/test/test-async.js","id":"rimraf/test/test-async.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/node_modules/rimraf/test/test-sync.js","id":"rimraf/test/test-sync.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/package.json","data":{"name":"grunt-contrib-clean","description":"Clean files and folders.","version":"0.6.0","homepage":"https://github.com/gruntjs/grunt-contrib-clean","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git://github.com/gruntjs/grunt-contrib-clean.git"},"bugs":{"url":"https://github.com/gruntjs/grunt-contrib-clean/issues"},"licenses":[{"type":"MIT","url":"https://github.com/gruntjs/grunt-contrib-clean/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"dependencies":{"rimraf":"~2.2.1"},"devDependencies":{"grunt-contrib-jshint":"~0.10.0","grunt-contrib-nodeunit":"~0.3.3","grunt-contrib-internal":"~0.4.10","grunt":"~0.4.0"},"peerDependencies":{"grunt":"~0.4.0"},"keywords":["gruntplugin"],"files":["tasks","LICENSE-MIT"],"_id":"grunt-contrib-clean@0.6.0","dist":{"shasum":"f532dba4b8212674c7c013e146bda6638b9048f6","tarball":"http://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.6.0.tgz"},"_from":"grunt-contrib-clean@>=0.6.0 <0.7.0","_npmVersion":"1.3.26","_npmUser":{"name":"vladikoff","email":"vlad@vladikoff.com"},"maintainers":[{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"cowboy","email":"cowboy@rj3.net"},{"name":"shama","email":"kyle@dontkry.com"},{"name":"vladikoff","email":"vlad@vladikoff.com"},{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jmeas","email":"jellyes2@gmail.com"}],"directories":{},"_shasum":"f532dba4b8212674c7c013e146bda6638b9048f6","_resolved":"https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.6.0.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-contrib-clean/tasks/clean.js","id":"grunt-contrib-clean/tasks/clean.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js"],"mtime":1406507647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-exec/Gruntfile.js","id":"grunt-exec/Gruntfile.js","options":{},"isModule":true,"requiredModules":["child_process","util/util.js"],"mtime":1405409639000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-exec/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/grunt-exec/package.json","data":{"name":"grunt-exec","description":"Grunt task for executing shell commands.","version":"0.4.6","homepage":"https://github.com/jharding/grunt-exec","author":{"name":"Jake Harding","email":"jacob.s.harding@gmail.com"},"repository":{"type":"git","url":"git://github.com/jharding/grunt-exec.git"},"bugs":{"url":"https://github.com/jharding/grunt-exec/issues"},"licenses":[{"type":"MIT","url":"https://github.com/jharding/grunt-exec/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">=0.8.0"},"scripts":{"test":"node test/test.js"},"peerDependencies":{"grunt":"~0.4"},"devDependencies":{"grunt":"~0.4","grunt-contrib-jshint":"~0.1"},"keywords":["grunt","gruntplugin","shell"],"readme":"[![build status](https://secure.travis-ci.org/jharding/grunt-exec.png?branch=master)](http://travis-ci.org/jharding/grunt-exec)\ngrunt-exec\n==========\n\nGrunt plugin for executing shell commands.\n\nInstallation\n------------\n\nInstall grunt-exec using npm:\n\n```\n$ npm install grunt-exec\n```\n\nThen add this line to your project's *Gruntfile.js*:\n\n```javascript\ngrunt.loadNpmTasks('grunt-exec');\n```\n\nUsage\n-----\n\nThis plugin is a [multi task][types_of_tasks], meaning that grunt will \nautomatically iterate over all exec targets if a target is not specified.\n\nIf the exit code generated by the specified shell command is greater than 0, \ngrunt-exec will assume an error has occurred and will abort grunt immediately.\n\n[types_of_tasks]: http://gruntjs.com/configuring-tasks#task-configuration-and-targets\n\n### Properties\n\n*  __command__ (alias: __cmd__): The shell command to be executed. Must be a \n  string or a function that returns a string.\n*  __stdout__: If `true`, stdout will be printed. Defaults to `true`.\n*  __stderr__: If `true`, stderr will be printed. Defaults to `true`.\n*  __cwd__: Current working directory of the shell command. Defaults to the \n  directory containing your Gruntfile.\n*  __exitCode__ (alias: __exitCodes__): The expected exit code(s), task will \n  fail if the actual exit code doesn't match. Defaults to `0`. Can be an array \n  for multiple allowed exit codes.\n*  __callback__: The callback function passed `child_process.exec`. Defaults to \n  a noop.\n\nIf the configuration is instead a simple `string`, it will be\ninterpreted as a full command itself:\n\n```javascript\nexec: {\n  echo_something: 'echo \"This is something\"'\n}\n```\n\n### Command Functions\n\nIf you plan on doing advanced stuff with grunt-exec, you'll most likely be using \nfunctions for the `command` property of your exec targets. This section details \na couple of helpful tips about command functions that could help make your life \neasier.\n\n#### Passing arguments from the command line\n\nCommand functions can be called with arbitrary arguments. Let's say we have the \nfollowing exec target that echoes a formatted name:\n\n```javascript\nexec: {\n  echo_name: {\n    cmd: function(firstName, lastName) {\n      var formattedName = [\n        lastName.toUpperCase(),\n        firstName.toUpperCase()\n      ].join(', ');\n\n      return 'echo ' + formattedName;\n    }\n  }\n}\n```\n\nIn order to get `SIMPSON, HOMER` echoed, you'd run \n`grunt exec:echo_name:homer:simpson` from the command line.\n\n### Accessing `grunt` object\n\nAll command functions are called in the context of the `grunt` object that they \nare being ran with. This means you can access the `grunt` object through `this`.\n\n### Example\n\nThe following examples are available in grunt-exec's Gruntfile.\n\n```javascript\ngrunt.initConfig({\n  exec: {\n    remove_logs: {\n      command: 'rm -f *.log',\n      stdout: false,\n      stderr: false\n    },\n    list_files: {\n      cmd: 'ls -l **'\n    },\n    list_all_files: 'ls -la',\n    echo_grunt_version: {\n      cmd: function() { return 'echo ' + this.version; }\n    },\n    echo_name: {\n      cmd: function(firstName, lastName) {\n        var formattedName = [\n          lastName.toUpperCase(),\n          firstName.toUpperCase()\n        ].join(', ');\n\n        return 'echo ' + formattedName;\n      }\n    }\n  }\n});\n```\n\nTesting\n-------\n\n```\n$ cd grunt-exec\n$ npm test\n```\n\nIssues\n------\n\nFound a bug? Create an issue on GitHub.\n\nhttps://github.com/jharding/grunt-exec/issues\n\nVersioning\n----------\n\nFor transparency and insight into the release cycle, releases will be numbered \nwith the follow format:\n\n`<major>.<minor>.<patch>`\n\nAnd constructed with the following guidelines:\n\n* Breaking backwards compatibility bumps the major\n* New additions without breaking backwards compatibility bumps the minor\n* Bug fixes and misc changes bump the patch\n\nFor more information on semantic versioning, please visit http://semver.org/.\n\nLicense\n-------\n\nCopyright (c) 2012-2014 [Jake Harding](http://thejakeharding.com)  \nLicensed under the MIT License.\n","readmeFilename":"README.md","_id":"grunt-exec@0.4.6","_shasum":"28904a5d5bd2fa0ab65c6b94d23c5b180ab99d23","_from":"grunt-exec@^0.4.5","_resolved":"https://registry.npmjs.org/grunt-exec/-/grunt-exec-0.4.6.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-exec/tasks/exec.js","id":"grunt-exec/tasks/exec.js","options":{},"isModule":true,"requiredModules":["child_process","util/util.js"],"mtime":1405409580000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-exec/test/Gruntfile.js","id":"grunt-exec/test/Gruntfile.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1405409218000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/grunt-exec/test/test.js","id":"grunt-exec/test/test.js","options":{},"isModule":true,"requiredModules":["grunt/lib/grunt.js","path","fs","assert"],"mtime":1405409218000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/base.js","id":"handlebars/dist/amd/handlebars/base.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/ast.js","id":"handlebars/dist/amd/handlebars/compiler/ast.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/base.js","id":"handlebars/dist/amd/handlebars/compiler/base.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/code-gen.js","id":"handlebars/dist/amd/handlebars/compiler/code-gen.js","options":{},"isModule":true,"requiredModules":["source-map/lib/source-map.js"],"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js","id":"handlebars/dist/amd/handlebars/compiler/compiler.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/helpers.js","id":"handlebars/dist/amd/handlebars/compiler/helpers.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js","id":"handlebars/dist/amd/handlebars/compiler/javascript-compiler.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/parser.js","id":"handlebars/dist/amd/handlebars/compiler/parser.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/printer.js","id":"handlebars/dist/amd/handlebars/compiler/printer.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js","id":"handlebars/dist/amd/handlebars/compiler/visitor.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/exception.js","id":"handlebars/dist/amd/handlebars/exception.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/compiler/whitespace-control.js","id":"handlebars/dist/amd/handlebars/compiler/whitespace-control.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/runtime.js","id":"handlebars/dist/amd/handlebars/runtime.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/safe-string.js","id":"handlebars/dist/amd/handlebars/safe-string.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars/utils.js","id":"handlebars/dist/amd/handlebars/utils.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars.js","id":"handlebars/dist/amd/handlebars.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/handlebars.runtime.js","id":"handlebars/dist/amd/handlebars.runtime.js","options":{},"isModule":true,"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/amd/precompiler.js","id":"handlebars/dist/amd/precompiler.js","options":{},"isModule":true,"requiredModules":["fs","./index","path","source-map/lib/source-map.js","uglify-js/tools/node.js"],"mtime":1423548893000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/base.js","id":"handlebars/dist/cjs/handlebars/base.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/utils.js","handlebars/dist/cjs/handlebars/exception.js"],"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js","id":"handlebars/dist/cjs/handlebars/compiler/ast.js","options":{},"isModule":true,"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js","id":"handlebars/dist/cjs/handlebars/compiler/base.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/compiler/parser.js","handlebars/dist/cjs/handlebars/compiler/ast.js","handlebars/dist/cjs/handlebars/compiler/whitespace-control.js","handlebars/dist/cjs/handlebars/compiler/helpers.js","handlebars/dist/cjs/handlebars/utils.js"],"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js","id":"handlebars/dist/cjs/handlebars/compiler/code-gen.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/utils.js","source-map/lib/source-map.js"],"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js","id":"handlebars/dist/cjs/handlebars/compiler/compiler.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/exception.js","handlebars/dist/cjs/handlebars/utils.js","handlebars/dist/cjs/handlebars/compiler/ast.js"],"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js","id":"handlebars/dist/cjs/handlebars/compiler/helpers.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/exception.js"],"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js","id":"handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/base.js","handlebars/dist/cjs/handlebars/exception.js","handlebars/dist/cjs/handlebars/utils.js","handlebars/dist/cjs/handlebars/compiler/code-gen.js"],"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js","id":"handlebars/dist/cjs/handlebars/compiler/printer.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/compiler/visitor.js"],"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js","id":"handlebars/dist/cjs/handlebars/compiler/parser.js","options":{},"isModule":true,"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js","id":"handlebars/dist/cjs/handlebars/compiler/visitor.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/exception.js","handlebars/dist/cjs/handlebars/compiler/ast.js"],"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js","id":"handlebars/dist/cjs/handlebars/compiler/whitespace-control.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/compiler/visitor.js"],"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/exception.js","id":"handlebars/dist/cjs/handlebars/exception.js","options":{},"isModule":true,"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/runtime.js","id":"handlebars/dist/cjs/handlebars/runtime.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/utils.js","handlebars/dist/cjs/handlebars/exception.js","handlebars/dist/cjs/handlebars/base.js"],"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/safe-string.js","id":"handlebars/dist/cjs/handlebars/safe-string.js","options":{},"isModule":true,"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars/utils.js","id":"handlebars/dist/cjs/handlebars/utils.js","options":{},"isModule":true,"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars.js","id":"handlebars/dist/cjs/handlebars.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars.runtime.js","handlebars/dist/cjs/handlebars/compiler/ast.js","handlebars/dist/cjs/handlebars/compiler/base.js","handlebars/dist/cjs/handlebars/compiler/compiler.js","handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js"],"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/handlebars.runtime.js","id":"handlebars/dist/cjs/handlebars.runtime.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars/base.js","handlebars/dist/cjs/handlebars/safe-string.js","handlebars/dist/cjs/handlebars/exception.js","handlebars/dist/cjs/handlebars/utils.js","handlebars/dist/cjs/handlebars/runtime.js"],"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/cjs/precompiler.js","id":"handlebars/dist/cjs/precompiler.js","options":{},"isModule":true,"requiredModules":["fs","./index","path","source-map/lib/source-map.js","uglify-js/tools/node.js"],"mtime":1423548891000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/handlebars.amd.js","id":"handlebars/dist/handlebars.amd.js","options":{},"isModule":true,"requiredModules":["source-map/lib/source-map.js"],"mtime":1423548895000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/handlebars.amd.min.js","id":"handlebars/dist/handlebars.amd.min.js","options":{},"isModule":true,"mtime":1423548895000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/handlebars.js","id":"handlebars/dist/handlebars.js","options":{},"isModule":true,"requiredModules":["source-map/lib/source-map.js"],"mtime":1423548895000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/handlebars.min.js","id":"handlebars/dist/handlebars.min.js","options":{},"isModule":true,"mtime":1423548895000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/handlebars.runtime.amd.js","id":"handlebars/dist/handlebars.runtime.amd.js","options":{},"isModule":true,"mtime":1423548895000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/handlebars.runtime.amd.min.js","id":"handlebars/dist/handlebars.runtime.amd.min.js","options":{},"isModule":true,"mtime":1423548895000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/handlebars.runtime.js","id":"handlebars/dist/handlebars.runtime.js","options":{},"isModule":true,"mtime":1423548895000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/dist/handlebars.runtime.min.js","id":"handlebars/dist/handlebars.runtime.min.js","options":{},"isModule":true,"mtime":1423548895000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/base.js","id":"handlebars/lib/handlebars/base.js","options":{},"isModule":true,"mtime":1423548889000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/ast.js","id":"handlebars/lib/handlebars/compiler/ast.js","options":{},"isModule":true,"mtime":1423547516000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/base.js","id":"handlebars/lib/handlebars/compiler/base.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/code-gen.js","id":"handlebars/lib/handlebars/compiler/code-gen.js","options":{},"isModule":true,"requiredModules":["source-map/lib/source-map.js"],"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/compiler.js","id":"handlebars/lib/handlebars/compiler/compiler.js","options":{},"isModule":true,"mtime":1423547725000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/helpers.js","id":"handlebars/lib/handlebars/compiler/helpers.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js","id":"handlebars/lib/handlebars/compiler/javascript-compiler.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/parser.js","id":"handlebars/lib/handlebars/compiler/parser.js","options":{},"isModule":true,"mtime":1423548890000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/printer.js","id":"handlebars/lib/handlebars/compiler/printer.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/visitor.js","id":"handlebars/lib/handlebars/compiler/visitor.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/compiler/whitespace-control.js","id":"handlebars/lib/handlebars/compiler/whitespace-control.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/exception.js","id":"handlebars/lib/handlebars/exception.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/runtime.js","id":"handlebars/lib/handlebars/runtime.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/safe-string.js","id":"handlebars/lib/handlebars/safe-string.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars/utils.js","id":"handlebars/lib/handlebars/utils.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars.js","id":"handlebars/lib/handlebars.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/handlebars.runtime.js","id":"handlebars/lib/handlebars.runtime.js","options":{},"isModule":true,"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/index.js","id":"handlebars/lib/index.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars.js","handlebars/dist/cjs/handlebars/compiler/visitor.js","handlebars/dist/cjs/handlebars/compiler/printer.js","fs"],"mtime":1415254224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/lib/precompiler.js","id":"handlebars/lib/precompiler.js","options":{},"isModule":true,"requiredModules":["fs","handlebars/lib/index.js","path","source-map/lib/source-map.js","uglify-js/tools/node.js"],"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/bool.js","id":"optimist/example/bool.js","options":{},"isModule":true,"requiredModules":["util/util.js","optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/boolean_double.js","id":"optimist/example/boolean_double.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/boolean_single.js","id":"optimist/example/boolean_single.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/default_hash.js","id":"optimist/example/default_hash.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/default_singles.js","id":"optimist/example/default_singles.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/divide.js","id":"optimist/example/divide.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/line_count.js","id":"optimist/example/line_count.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/line_count_options.js","id":"optimist/example/line_count_options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/line_count_wrap.js","id":"optimist/example/line_count_wrap.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/nonopt.js","id":"optimist/example/nonopt.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/reflect.js","id":"optimist/example/reflect.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1302995368000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/short.js","id":"optimist/example/short.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/string.js","id":"optimist/example/string.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/usage-options.js","id":"optimist/example/usage-options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/example/xup.js","id":"optimist/example/xup.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/index.js","id":"optimist/index.js","options":{},"isModule":true,"requiredModules":["path","minimist/index.js","wordwrap/index.js"],"mtime":1372150063000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/example/parse.js","id":"minimist/example/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js"],"mtime":1372147306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/index.js","id":"minimist/index.js","options":{},"isModule":true,"mtime":1399844211000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/package.json","data":{"name":"minimist","version":"0.0.10","description":"parse argument options","main":"index.js","devDependencies":{"tape":"~1.0.4","tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/6..latest","ff/5","firefox/latest","chrome/10","chrome/latest","safari/5.1","safari/latest","opera/12"]},"repository":{"type":"git","url":"git://github.com/substack/minimist.git"},"homepage":"https://github.com/substack/minimist","keywords":["argv","getopt","parser","optimist"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","readme":"# minimist\n\nparse argument options\n\nThis module is the guts of optimist's argument parser without all the\nfanciful decoration.\n\n[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist)\n\n[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist)\n\n# example\n\n``` js\nvar argv = require('minimist')(process.argv.slice(2));\nconsole.dir(argv);\n```\n\n```\n$ node example/parse.js -a beep -b boop\n{ _: [], a: 'beep', b: 'boop' }\n```\n\n```\n$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz\n{ _: [ 'foo', 'bar', 'baz' ],\n  x: 3,\n  y: 4,\n  n: 5,\n  a: true,\n  b: true,\n  c: true,\n  beep: 'boop' }\n```\n\n# methods\n\n``` js\nvar parseArgs = require('minimist')\n```\n\n## var argv = parseArgs(args, opts={})\n\nReturn an argument object `argv` populated with the array arguments from `args`.\n\n`argv._` contains all the arguments that didn't have an option associated with\nthem.\n\nNumeric-looking arguments will be returned as numbers unless `opts.string` or\n`opts.boolean` is set for that argument name.\n\nAny arguments after `'--'` will not be parsed and will end up in `argv._`.\n\noptions can be:\n\n* `opts.string` - a string or array of strings argument names to always treat as\nstrings\n* `opts.boolean` - a string or array of strings to always treat as booleans\n* `opts.alias` - an object mapping string names to strings or arrays of string\nargument names to use as aliases\n* `opts.default` - an object mapping string argument names to default values\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install minimist\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/minimist/issues"},"_id":"minimist@0.0.10","_shasum":"de3f98543dbf96082be48ad1a0c7cda836301dcf","_from":"minimist@>=0.0.1 <0.1.0","_resolved":"https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/bool.js","id":"minimist/test/bool.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1399844532000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/dash.js","id":"minimist/test/dash.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1389378397000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/default_bool.js","id":"minimist/test/default_bool.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372147071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/dotted.js","id":"minimist/test/dotted.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1399844267000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/long.js","id":"minimist/test/long.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372143145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/num.js","id":"minimist/test/num.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1399844419000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/parse.js","id":"minimist/test/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1399844534000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/parse_modified.js","id":"minimist/test/parse_modified.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372145355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/short.js","id":"minimist/test/short.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1391917546000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/minimist/test/whitespace.js","id":"minimist/test/whitespace.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372148159000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/center.js","id":"wordwrap/example/center.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1431018454000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/example/meat.js","id":"wordwrap/example/meat.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1431018454000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/index.js","id":"wordwrap/index.js","options":{},"isModule":true,"mtime":1431018454000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/package.json","data":{"name":"wordwrap","description":"Wrap those words. Show them at what columns to start and stop.","version":"0.0.3","repository":{"type":"git","url":"git://github.com/substack/node-wordwrap.git"},"main":"./index.js","keywords":["word","wrap","rule","format","column"],"directories":{"lib":".","example":"example","test":"test"},"scripts":{"test":"expresso"},"devDependencies":{"expresso":"=0.7.x"},"engines":{"node":">=0.4.0"},"license":"MIT","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"readme":"wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n    var wrap = require('wordwrap')(15);\n    console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n    You and your\n    whole family\n    are made out\n    of meat.\n\ncentered\n--------\n\ncenter.js\n\n    var wrap = require('wordwrap')(20, 60);\n    console.log(wrap(\n        'At long last the struggle and tumult was over.'\n        + ' The machines had finally cast off their oppressors'\n        + ' and were finally free to roam the cosmos.'\n        + '\\n'\n        + 'Free of purpose, free of obligation.'\n        + ' Just drifting through emptiness.'\n        + ' The sun was just another point of light.'\n    ));\n\noutput:\n\n                        At long last the struggle and tumult\n                        was over. The machines had finally cast\n                        off their oppressors and were finally\n                        free to roam the cosmos.\n                        Free of purpose, free of obligation.\n                        Just drifting through emptiness. The\n                        sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/substack/node-wordwrap/issues"},"homepage":"https://github.com/substack/node-wordwrap","_id":"wordwrap@0.0.3","_shasum":"a3d5da6cd5c0bc0008d37234bbaf1bed63059107","_from":"wordwrap@>=0.0.2 <0.1.0","_resolved":"https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/break.js","id":"wordwrap/test/break.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js"],"mtime":1431018454000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/node_modules/wordwrap/test/wrap.js","id":"wordwrap/test/wrap.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js","fs"],"mtime":1431018454000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/package.json","data":{"name":"optimist","version":"0.6.1","description":"Light-weight option parsing with an argv hash. No optstrings attached.","main":"./index.js","dependencies":{"wordwrap":"~0.0.2","minimist":"~0.0.1"},"devDependencies":{"hashish":"~0.0.4","tap":"~0.4.0"},"scripts":{"test":"tap ./test/*.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/substack/node-optimist.git"},"keywords":["argument","args","option","parser","parsing","cli","command"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"readme":"# DEPRECATION NOTICE\n\nI don't want to maintain this module anymore since I just use\n[minimist](https://npmjs.org/package/minimist), the argument parsing engine,\ndirectly instead nowadays.\n\nSee [yargs](https://github.com/chevex/yargs) for the modern, pirate-themed\nsuccessor to optimist.\n\n[![yarrrrrrrgs!](http://i.imgur.com/4WFGVJ9.png)](https://github.com/chevex/yargs)\n\nYou should also consider [nomnom](https://github.com/harthur/nomnom).\n\noptimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n    console.log('Buy more riffiwobbles');\n}\nelse {\n    console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n    $ ./xup.js --rif=55 --xup=9.52\n    Buy more riffiwobbles\n    \n    $ ./xup.js --rif 12 --xup 8.1\n    Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n    $ ./short.js -x 10 -y 21\n    (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n    util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n    (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n    $ ./bool.js -s\n    The cat says: meow\n    \n    $ ./bool.js -sp\n    The cat says: meow.\n\n    $ ./bool.js -sp --fr\n    Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n    $ ./nonopt.js -x 6.82 -y 3.35 moo\n    (6.82,3.35)\n    [ 'moo' ]\n    \n    $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n    (0.54,1.12)\n    [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Usage: $0 -x [num] -y [num]')\n    .demand(['x','y'])\n    .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n    $ ./divide.js -x 55 -y 11\n    5\n    \n    $ node ./divide.js -x 4.91 -z 2.51\n    Usage: node ./divide.js -x [num] -y [num]\n\n    Options:\n      -x  [required]\n      -y  [required]\n\n    Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default('x', 10)\n    .default('y', 10)\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_singles.js -x 5\n    15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default({ x : 10, y : 10 })\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_hash.js -y 7\n    17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean('v')\n    .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n    $ ./boolean_single.js -v foo bar baz\n    true\n    [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean(['x','y','z'])\n    .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n    $ ./boolean_double.js -x -z one two three\n    [ true, false, true ]\n    [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Count the lines in a file.\\nUsage: $0')\n    .demand('f')\n    .alias('f', 'file')\n    .describe('f', 'Load a file')\n    .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n    lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n    console.log(lines);\n});\n````\n\n***\n\n    $ node line_count.js\n    Count the lines in a file.\n    Usage: node ./line_count.js\n\n    Options:\n      -f, --file  Load a file  [required]\n\n    Missing required arguments: f\n\n    $ node line_count.js --file line_count.js \n    20\n    \n    $ node line_count.js -f line_count.js \n    20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n    .options('f', {\n        alias : 'file',\n        default : '/etc/passwd',\n    })\n    .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n    .alias('f', 'file')\n    .default('f', '/etc/passwd')\n    .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n    $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n    { _: [ '-c', '3', '-d', '4' ],\n      '$0': 'node ./examples/reflect.js',\n      a: 1,\n      b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n    $ node examples/reflect.js -a --no-b\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n      a: true,\n      b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n    $ node examples/reflect.js -x 5 -x 8 -x 0\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n        x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n     $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n     { _: [],\n       '$0': 'node ./examples/reflect.js',\n         foo: { bar: { baz: 33 }, quux: 5 } }\n\nshort numbers\n-------------\n\nShort numeric `head -n5` style argument work too:\n\n    $ node reflect.js -n123 -m456\n    { '3': true,\n      '6': true,\n      _: [],\n      '$0': 'node ./reflect.js',\n      n: 123,\n      m: 456 }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n    npm install optimist\n \nor clone this project on github:\n\n    git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n    \n    expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-optimist/issues"},"homepage":"https://github.com/substack/node-optimist","_id":"optimist@0.6.1","_shasum":"da3ea74686fa21a19a111c326e90eb15a0196686","_from":"optimist@>=0.6.1 <0.7.0","_resolved":"https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/_/argv.js","id":"optimist/test/_/argv.js","options":{},"isModule":true,"mtime":1302995374000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/_/bin.js","id":"optimist/test/_/bin.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1307937599000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/_.js","id":"optimist/test/_.js","options":{},"isModule":true,"requiredModules":["child_process","tap"],"mtime":1334262543000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/dash.js","id":"optimist/test/dash.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","tap"],"mtime":1368914338000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/parse.js","id":"optimist/test/parse.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","path","tap"],"mtime":1368913097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/parse_modified.js","id":"optimist/test/parse_modified.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","tap"],"mtime":1369896453000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/short.js","id":"optimist/test/short.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","tap"],"mtime":1365877882000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/usage.js","id":"optimist/test/usage.js","options":{},"isModule":true,"requiredModules":["hashish","optimist/index.js","tap"],"mtime":1335768345000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/optimist/test/whitespace.js","id":"optimist/test/whitespace.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","tap"],"mtime":1369971060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/build/assert-shim.js","id":"source-map/build/assert-shim.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/build/mini-require.js","id":"source-map/build/mini-require.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/build/suffix-browser.js","id":"source-map/build/suffix-browser.js","options":{},"isModule":true,"requiredModules":["source-map/source-map-consumer","source-map/source-map-generator","source-map/source-node"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/build/test-prefix.js","id":"source-map/build/test-prefix.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/build/test-suffix.js","id":"source-map/build/test-suffix.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/array-set.js","id":"source-map/lib/source-map/array-set.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1378513040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/base64-vlq.js","id":"source-map/lib/source-map/base64-vlq.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64.js"],"mtime":1420058260000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/base64.js","id":"source-map/lib/source-map/base64.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/binary-search.js","id":"source-map/lib/source-map/binary-search.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1418843449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/mapping-list.js","id":"source-map/lib/source-map/mapping-list.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1420739642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/source-map-consumer.js","id":"source-map/lib/source-map/source-map-consumer.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js","source-map/lib/source-map/binary-search.js","source-map/lib/source-map/array-set.js","source-map/lib/source-map/base64-vlq.js"],"mtime":1420739128000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/source-map-generator.js","id":"source-map/lib/source-map/source-map-generator.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64-vlq.js","source-map/lib/source-map/util.js","source-map/lib/source-map/array-set.js","source-map/lib/source-map/mapping-list.js"],"mtime":1420738269000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/source-node.js","id":"source-map/lib/source-map/source-node.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/util.js"],"mtime":1420737808000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map/util.js","id":"source-map/lib/source-map/util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1407084760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/lib/source-map.js","id":"source-map/lib/source-map.js","options":{},"isModule":true,"requiredModules":["source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js"],"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/Makefile.dryice.js","id":"source-map/Makefile.dryice.js","options":{},"isModule":true,"requiredModules":["path","fs","dryice"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/node_modules/amdefine/amdefine.js","id":"amdefine/amdefine.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1436572852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/node_modules/amdefine/intercept.js","id":"amdefine/intercept.js","options":{},"isModule":true,"requiredModules":["module","fs","amdefine/amdefine.js"],"mtime":1381804832000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/node_modules/amdefine/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/node_modules/amdefine/package.json","data":{"name":"amdefine","description":"Provide AMD's define() API for declaring modules in the AMD format","version":"1.0.0","homepage":"http://github.com/jrburke/amdefine","author":{"name":"James Burke","email":"jrburke@gmail.com","url":"http://github.com/jrburke"},"license":"BSD-3-Clause AND MIT","repository":{"type":"git","url":"git+https://github.com/jrburke/amdefine.git"},"main":"./amdefine.js","engines":{"node":">=0.4.2"},"gitHead":"578bc4a3f7dede33f3f3e10edde0c1607005d761","bugs":{"url":"https://github.com/jrburke/amdefine/issues"},"_id":"amdefine@1.0.0","scripts":{},"_shasum":"fd17474700cb5cc9c2b709f0be9d23ce3c198c33","_from":"amdefine@>=0.0.4","_npmVersion":"2.12.1","_nodeVersion":"0.10.36","_npmUser":{"name":"jrburke","email":"jrburke@gmail.com"},"maintainers":[{"name":"jrburke","email":"jrburke@gmail.com"}],"dist":{"shasum":"fd17474700cb5cc9c2b709f0be9d23ce3c198c33","tarball":"http://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/package.json","data":{"name":"source-map","description":"Generates and consumes source maps","version":"0.1.43","homepage":"https://github.com/mozilla/source-map","author":{"name":"Nick Fitzgerald","email":"nfitzgerald@mozilla.com"},"contributors":[{"name":"Tobias Koppers","email":"tobias.koppers@googlemail.com"},{"name":"Duncan Beevers","email":"duncan@dweebd.com"},{"name":"Stephen Crane","email":"scrane@mozilla.com"},{"name":"Ryan Seddon","email":"seddon.ryan@gmail.com"},{"name":"Miles Elam","email":"miles.elam@deem.com"},{"name":"Mihai Bazon","email":"mihai.bazon@gmail.com"},{"name":"Michael Ficarra","email":"github.public.email@michael.ficarra.me"},{"name":"Todd Wolfson","email":"todd@twolfson.com"},{"name":"Alexander Solovyov","email":"alexander@solovyov.net"},{"name":"Felix Gnass","email":"fgnass@gmail.com"},{"name":"Conrad Irwin","email":"conrad.irwin@gmail.com"},{"name":"usrbincc","email":"usrbincc@yahoo.com"},{"name":"David Glasser","email":"glasser@davidglasser.net"},{"name":"Chase Douglas","email":"chase@newrelic.com"},{"name":"Evan Wallace","email":"evan.exe@gmail.com"},{"name":"Heather Arthur","email":"fayearthur@gmail.com"},{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com"},{"name":"David Glasser","email":"glasser@davidglasser.net"},{"name":"Simon Lydell","email":"simon.lydell@gmail.com"},{"name":"Jmeas Smith","email":"jellyes2@gmail.com"},{"name":"Michael Z Goddard","email":"mzgoddard@gmail.com"},{"name":"azu","email":"azu@users.noreply.github.com"},{"name":"John Gozde","email":"john@gozde.ca"},{"name":"Adam Kirkton","email":"akirkton@truefitinnovation.com"},{"name":"Chris Montgomery","email":"christopher.montgomery@dowjones.com"},{"name":"J. Ryan Stinnett","email":"jryans@gmail.com"},{"name":"Jack Herrington","email":"jherrington@walmartlabs.com"},{"name":"Chris Truter","email":"jeffpalentine@gmail.com"},{"name":"Daniel Espeset","email":"daniel@danielespeset.com"}],"repository":{"type":"git","url":"git+ssh://git@github.com/mozilla/source-map.git"},"directories":{"lib":"./lib"},"main":"./lib/source-map.js","engines":{"node":">=0.8.0"},"licenses":[{"type":"BSD","url":"http://opensource.org/licenses/BSD-3-Clause"}],"dependencies":{"amdefine":">=0.0.4"},"devDependencies":{"dryice":">=0.4.8"},"scripts":{"test":"node test/run-tests.js","build":"node Makefile.dryice.js"},"readme":"# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\nThis library is written in the Asynchronous Module Definition format, and works\nin the following environments:\n\n* Modern Browsers supporting ECMAScript 5 (either after the build, or with an\n  AMD loader such as RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Node\n\n    $ npm install source-map\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n    $ git clone https://fitzgen@github.com/mozilla/source-map.git\n    $ cd source-map\n    $ npm link .\n\nNext, run\n\n    $ node Makefile.dryice.js\n\nThis should spew a bunch of stuff to stdout, and create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source.\n\n## Examples\n\n### Consuming a source map\n\n    var rawSourceMap = {\n      version: 3,\n      file: 'min.js',\n      names: ['bar', 'baz', 'n'],\n      sources: ['one.js', 'two.js'],\n      sourceRoot: 'http://example.com/www/js/',\n      mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'\n    };\n\n    var smc = new SourceMapConsumer(rawSourceMap);\n\n    console.log(smc.sources);\n    // [ 'http://example.com/www/js/one.js',\n    //   'http://example.com/www/js/two.js' ]\n\n    console.log(smc.originalPositionFor({\n      line: 2,\n      column: 28\n    }));\n    // { source: 'http://example.com/www/js/two.js',\n    //   line: 2,\n    //   column: 10,\n    //   name: 'n' }\n\n    console.log(smc.generatedPositionFor({\n      source: 'http://example.com/www/js/two.js',\n      line: 2,\n      column: 10\n    }));\n    // { line: 2, column: 28 }\n\n    smc.eachMapping(function (m) {\n      // ...\n    });\n\n### Generating a source map\n\nIn depth guide:\n[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)\n\n#### With SourceNode (high level API)\n\n    function compile(ast) {\n      switch (ast.type) {\n      case 'BinaryExpression':\n        return new SourceNode(\n          ast.location.line,\n          ast.location.column,\n          ast.location.source,\n          [compile(ast.left), \" + \", compile(ast.right)]\n        );\n      case 'Literal':\n        return new SourceNode(\n          ast.location.line,\n          ast.location.column,\n          ast.location.source,\n          String(ast.value)\n        );\n      // ...\n      default:\n        throw new Error(\"Bad AST\");\n      }\n    }\n\n    var ast = parse(\"40 + 2\", \"add.js\");\n    console.log(compile(ast).toStringWithSourceMap({\n      file: 'add.js'\n    }));\n    // { code: '40 + 2',\n    //   map: [object SourceMapGenerator] }\n\n#### With SourceMapGenerator (low level API)\n\n    var map = new SourceMapGenerator({\n      file: \"source-mapped.js\"\n    });\n\n    map.addMapping({\n      generated: {\n        line: 10,\n        column: 35\n      },\n      source: \"foo.js\",\n      original: {\n        line: 33,\n        column: 2\n      },\n      name: \"christopher\"\n    });\n\n    console.log(map.toString());\n    // '{\"version\":3,\"file\":\"source-mapped.js\",\"sources\":[\"foo.js\"],\"names\":[\"christopher\"],\"mappings\":\";;;;;;;;;mCAgCEA\"}'\n\n## API\n\nGet a reference to the module:\n\n    // NodeJS\n    var sourceMap = require('source-map');\n\n    // Browser builds\n    var sourceMap = window.sourceMap;\n\n    // Inside Firefox\n    let sourceMap = {};\n    Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n  mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: Optional. The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.computeColumnSpans()\n\nCompute the last column for each generated mapping. The last column is\ninclusive.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource's line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n  available.\n\n* `line`: The line number in the original source, or null if this information is\n  not available.\n\n* `column`: The column number in the original source, or null or null if this\n  information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.allGeneratedPositionsFor(originalPosition)\n\nReturns all generated line and column information for the original source\nand line provided. The only argument is an object with the following\nproperties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\nand an array of objects is returned, each with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping. Mappings have the\n  form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,\n  name }`\n\n* `context`: Optional. If specified, this object will be the value of `this`\n  every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n  `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n  the mappings sorted by the generated file's line/column order or the\n  original's source/line/column order, respectively. Defaults to\n  `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator([startOfSourceMap])\n\nYou may pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n  associated with.\n\n* `sourceRoot`: A root for all relative URLs in this source map.\n\n* `skipValidation`: Optional. When `true`, disables validation of mappings as\n  they are added. This can improve performance but should be used with\n  discretion, as a last resort. Even then, one should avoid using this flag when\n  running tests, if possible.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource's line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n  If omitted, sourceMapConsumer.file will be used, if it exists.\n  Otherwise an error will be thrown.\n\n* `sourceMapPath`: Optional. The dirname of the path to the SourceMap\n  to be applied. If relative, it is relative to the SourceMap.\n\n  This parameter is needed when the two SourceMaps aren't in the same\n  directory, and the SourceMap to be applied contains relative source\n  paths. If so, those relative source paths need to be rewritten\n  relative to the SourceMap.\n\n  If omitted, it is assumed that both SourceMaps are in the same directory,\n  thus not needing any rewriting. (Supplying `'.'` has the same effect.)\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode([line, column, source[, chunk[, name]]])\n\n* `line`: The original line number associated with this source node, or null if\n  it isn't associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n  if it isn't associated with an original column.\n\n* `source`: The original source's filename; null if no filename is provided.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n  below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n* `relativePath` The optional path that relative sources in `sourceMapConsumer`\n  should be relative to.\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n   `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n   `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source's line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node's children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n#### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-<your new test name>.js`\nand export your test functions with names that start with \"test\", for example\n\n    exports[\"test doing the foo bar\"] = function (assert, util) {\n      ...\n    };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node's assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox's test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mozilla/source-map/issues"},"_id":"source-map@0.1.43","_shasum":"c24bc146ca517c1471f5dacbe2571b2b7f9e3346","_from":"source-map@>=0.1.40 <0.2.0","_resolved":"https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/run-tests.js","id":"source-map/test/run-tests.js","options":{},"isModule":true,"requiredModules":["assert","fs","path","source-map/test/source-map/util.js"],"mtime":1391810805000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-api.js","id":"source-map/test/source-map/test-api.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-array-set.js","id":"source-map/test/source-map/test-array-set.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/array-set.js"],"mtime":1377131128000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-base64-vlq.js","id":"source-map/test/source-map/test-base64-vlq.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64-vlq.js"],"mtime":1412263729000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-base64.js","id":"source-map/test/source-map/test-base64.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-binary-search.js","id":"source-map/test/source-map/test-binary-search.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/binary-search.js"],"mtime":1418843449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-dog-fooding.js","id":"source-map/test/source-map/test-dog-fooding.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-map-generator.js"],"mtime":1392416099000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-source-map-consumer.js","id":"source-map/test/source-map/test-source-map-consumer.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-map-generator.js"],"mtime":1420058260000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-source-map-generator.js","id":"source-map/test/source-map/test-source-map-generator.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js","source-map/test/source-map/util.js"],"mtime":1420737808000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-source-node.js","id":"source-map/test/source-map/test-source-node.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js"],"mtime":1405099587000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/test-util.js","id":"source-map/test/source-map/test-util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1407084760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/source-map/test/source-map/util.js","id":"source-map/test/source-map/util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1418843449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/ast.js","id":"uglify-js/lib/ast.js","options":{},"isModule":true,"mtime":1364116310000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/compress.js","id":"uglify-js/lib/compress.js","options":{},"isModule":true,"mtime":1368545749000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/mozilla-ast.js","id":"uglify-js/lib/mozilla-ast.js","options":{},"isModule":true,"mtime":1367236757000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/output.js","id":"uglify-js/lib/output.js","options":{},"isModule":true,"mtime":1369246782000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/parse.js","id":"uglify-js/lib/parse.js","options":{},"isModule":true,"mtime":1368612829000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/scope.js","id":"uglify-js/lib/scope.js","options":{},"isModule":true,"mtime":1369217259000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/sourcemap.js","id":"uglify-js/lib/sourcemap.js","options":{},"isModule":true,"mtime":1358414243000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/transform.js","id":"uglify-js/lib/transform.js","options":{},"isModule":true,"mtime":1368517450000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/lib/utils.js","id":"uglify-js/lib/utils.js","options":{},"isModule":true,"mtime":1368545446000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/async/component.json","id":"async/component.json","options":{},"isModule":true,"mtime":1369727354000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1390494106000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./lib/async","author":{"name":"Caolan McMahon"},"version":"0.2.10","repository":{"type":"git","url":"git+https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"https://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"]},"scripts":{"test":"nodeunit test/test-async.js"},"readme":"# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n\nasync.parallel([\n    function(){ ... },\n    function(){ ... }\n], callback);\n\nasync.series([\n    function(){ ... },\n    function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n  squareExponent: 2,\n  square: function(number, callback){ \n    var result = Math.pow(number, this.squareExponent);\n    setTimeout(function(){\n      callback(null, result);\n    }, 200);\n  }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n  // result is [NaN, NaN, NaN]\n  // This fails because the `this.squareExponent` expression in the square\n  // function is not evaluated in the context of AsyncSquaringLibrary, and is\n  // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n  // result is [1, 4, 9]\n  // With the help of bind we can attach a context to the iterator before\n  // passing it to async. Now the square function will be executed in its \n  // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n  // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n    npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type=\"text/javascript\" src=\"async.js\"></script>\n<script type=\"text/javascript\">\n\n    async.map(data, asyncProcess, function(err, results){\n        alert(results);\n    });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [eachSeries](#eachSeries)\n* [eachLimit](#eachLimit)\n* [map](#map)\n* [mapSeries](#mapSeries)\n* [mapLimit](#mapLimit)\n* [filter](#filter)\n* [filterSeries](#filterSeries)\n* [reject](#reject)\n* [rejectSeries](#rejectSeries)\n* [reduce](#reduce)\n* [reduceRight](#reduceRight)\n* [detect](#detect)\n* [detectSeries](#detectSeries)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n* [concatSeries](#concatSeries)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [parallelLimit](#parallellimittasks-limit-callback)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [applyEachSeries](#applyEachSeries)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n<a name=\"each\" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n<a name=\"eachSeries\" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n<a name=\"eachLimit\" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"mapLimit\" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n  functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n  array to produce the next step in the reduction. The iterator is passed a\n  callback(err, reduction) which accepts an optional error as its first \n  argument, and the state of the reduction as the second. If an error is \n  passed to the callback, the reduction is stopped and the main callback is \n  immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n    // pointless async:\n    process.nextTick(function(){\n        callback(null, memo + item)\n    });\n}, function(err, result){\n    // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n    // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, sortValue) which must be called once it\n  has completed with an error (which can be null) and a value to use as the sort\n  criteria.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is the items from\n  the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n    fs.stat(file, function(err, stats){\n        callback(err, stats.mtime);\n    });\n}, function(err, results){\n    // results is now the original array of files sorted by\n    // modified date\n});\n```\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n  functions have finished. Result will be either true or false depending on\n  the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, results) which must be called once it \n  has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array containing\n  the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n    // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n    function(callback){\n        // do some stuff ...\n        callback(null, 'one');\n    },\n    function(callback){\n        // do some more stuff ...\n        callback(null, 'two');\n    }\n],\n// optional callback\nfunction(err, results){\n    // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'one');\n        }, 200);\n    },\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'two');\n        }, 100);\n    }\n],\n// optional callback\nfunction(err, results){\n    // the results array will equal ['one','two'] even though\n    // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n  passed a callback(err) which must be called once it has completed with an \n  optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n  execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n    function () { return count < 5; },\n    function (callback) {\n        count++;\n        setTimeout(callback, 1000);\n    },\n    function (err) {\n        // 5 seconds have passed\n    }\n);\n```\n\n---------------------------------------\n\n<a name=\"doWhilst\" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name=\"doUntil\" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name=\"forever\" />\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n  callback(err, result1, result2, ...) it must call on completion. The first\n  argument is an error (which can be null) and any further arguments will be \n  passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n    function(callback){\n        callback(null, 'one', 'two');\n    },\n    function(arg1, arg2, callback){\n        callback(null, 'three');\n    },\n    function(arg1, callback){\n        // arg1 now equals 'three'\n        callback(null, 'done');\n    }\n], function (err, result) {\n   // result now equals 'done'    \n});\n```\n\n---------------------------------------\n<a name=\"compose\" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n    setTimeout(function () {\n        callback(null, n + 1);\n    }, 10);\n}\n\nfunction mul3(n, callback) {\n    setTimeout(function () {\n        callback(null, n * 3);\n    }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n   // result now equals 15\n});\n```\n\n---------------------------------------\n<a name=\"applyEach\" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n  functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n    buckets,\n    async.applyEach([enableSearch, updateSchema]),\n    callback\n);\n```\n\n---------------------------------------\n\n<a name=\"applyEachSeries\" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n  task, which must call its callback(err) argument when finished, with an \n  optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n  run in parallel. This property can be changed after a queue is created to\n  alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n    console.log('hello ' + task.name);\n    callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n    console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n<a name=\"cargo\" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n  queued tasks, which must call its callback(err) argument when finished, with \n  an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n  processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n  process per round. This property can be changed after a cargo is created to\n  alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n    for(var i=0; i<tasks.length; i++){\n      console.log('hello ' + tasks[i].name);\n    }\n    callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\ncargo.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\ncargo.push({name: 'baz'}, function (err) {\n    console.log('finished processing baz');\n});\n```\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n  readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n  readData: function(cb, results){\n    fs.readFile('data.txt', 'utf-8', cb);\n  }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n  requirements, with the function itself the last item in the array. The key\n  used for each function or array is used when specifying requirements. The \n  function receives two arguments: (1) a callback(err, result) which must be \n  called when finished, passing an error (which can be null) and the result of \n  the function's execution, and (2) a results object, containing the results of\n  the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n  tasks have been completed. The callback will receive an error as an argument\n  if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n  \n\n__Example__\n\n```js\nasync.auto({\n    get_data: function(callback){\n        // async code to get some data\n    },\n    make_folder: function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    },\n    write_file: ['get_data', 'make_folder', function(callback){\n        // once there is some data and the directory exists,\n        // write the data to a file in the directory\n        callback(null, filename);\n    }],\n    email_link: ['write_file', function(callback, results){\n        // once the file is written let's email a link to it...\n        // results.write_file contains the filename returned by write_file.\n    }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n    function(callback){\n        // async code to get some data\n    },\n    function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    }\n],\nfunction(err, results){\n    async.series([\n        function(callback){\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n        },\n        function(callback){\n            // once the file is written let's email a link to it...\n        }\n    ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n    function(){ sys.p('one'); },\n    function(){ sys.p('two'); },\n    function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n    async.apply(fs.writeFile, 'testfile1', 'test1'),\n    async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n    function(callback){\n        fs.writeFile('testfile1', 'test1', callback);\n    },\n    function(callback){\n        fs.writeFile('testfile2', 'test2', callback);\n    }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n    call_order.push('two');\n    // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n<a name=\"times\" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n  callback(null, {\n    id: 'user' + id\n  })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n    createUser(n, function(err, user) {\n      next(err, user)\n    })\n}, function(err, users) {\n  // we should now have 5 users\n});\n```\n\n<a name=\"timesSeries\" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n  results, it has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n    // do something\n    callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n    // callback\n});\n```\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, 'hello ' + name);\n    }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, {hello: name});\n    }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.2.10","_shasum":"b6bbe0b0674b9d719708ca38de8c237cb526c3d1","_from":"async@>=0.2.6 <0.3.0","_resolved":"https://registry.npmjs.org/async/-/async-0.2.10.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/bool.js","id":"optimist/example/bool.js","options":{},"isModule":true,"requiredModules":["util/util.js","optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js","id":"optimist/example/boolean_double.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js","id":"optimist/example/boolean_single.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/default_hash.js","id":"optimist/example/default_hash.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/default_singles.js","id":"optimist/example/default_singles.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/divide.js","id":"optimist/example/divide.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/line_count.js","id":"optimist/example/line_count.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js","id":"optimist/example/line_count_options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js","id":"optimist/example/line_count_wrap.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/nonopt.js","id":"optimist/example/nonopt.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/reflect.js","id":"optimist/example/reflect.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1302995368000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/short.js","id":"optimist/example/short.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/string.js","id":"optimist/example/string.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/usage-options.js","id":"optimist/example/usage-options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/example/xup.js","id":"optimist/example/xup.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/index.js","id":"optimist/index.js","options":{},"isModule":true,"requiredModules":["path","wordwrap/index.js"],"mtime":1365048464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js","id":"wordwrap/example/center.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1431018454000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js","id":"wordwrap/example/meat.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1431018454000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js","id":"wordwrap/index.js","options":{},"isModule":true,"mtime":1431018454000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json","data":{"name":"wordwrap","description":"Wrap those words. Show them at what columns to start and stop.","version":"0.0.3","repository":{"type":"git","url":"git://github.com/substack/node-wordwrap.git"},"main":"./index.js","keywords":["word","wrap","rule","format","column"],"directories":{"lib":".","example":"example","test":"test"},"scripts":{"test":"expresso"},"devDependencies":{"expresso":"=0.7.x"},"engines":{"node":">=0.4.0"},"license":"MIT","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"readme":"wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n    var wrap = require('wordwrap')(15);\n    console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n    You and your\n    whole family\n    are made out\n    of meat.\n\ncentered\n--------\n\ncenter.js\n\n    var wrap = require('wordwrap')(20, 60);\n    console.log(wrap(\n        'At long last the struggle and tumult was over.'\n        + ' The machines had finally cast off their oppressors'\n        + ' and were finally free to roam the cosmos.'\n        + '\\n'\n        + 'Free of purpose, free of obligation.'\n        + ' Just drifting through emptiness.'\n        + ' The sun was just another point of light.'\n    ));\n\noutput:\n\n                        At long last the struggle and tumult\n                        was over. The machines had finally cast\n                        off their oppressors and were finally\n                        free to roam the cosmos.\n                        Free of purpose, free of obligation.\n                        Just drifting through emptiness. The\n                        sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/substack/node-wordwrap/issues"},"homepage":"https://github.com/substack/node-wordwrap","_id":"wordwrap@0.0.3","_shasum":"a3d5da6cd5c0bc0008d37234bbaf1bed63059107","_from":"wordwrap@>=0.0.2 <0.1.0","_resolved":"https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js","id":"wordwrap/test/break.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js"],"mtime":1431018454000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js","id":"wordwrap/test/wrap.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js","fs"],"mtime":1431018454000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/package.json","data":{"name":"optimist","version":"0.3.7","description":"Light-weight option parsing with an argv hash. No optstrings attached.","main":"./index.js","dependencies":{"wordwrap":"~0.0.2"},"devDependencies":{"hashish":"~0.0.4","tap":"~0.4.0"},"scripts":{"test":"tap ./test/*.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/substack/node-optimist.git"},"keywords":["argument","args","option","parser","parsing","cli","command"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"readme":"optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n    console.log('Buy more riffiwobbles');\n}\nelse {\n    console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n    $ ./xup.js --rif=55 --xup=9.52\n    Buy more riffiwobbles\n    \n    $ ./xup.js --rif 12 --xup 8.1\n    Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n    $ ./short.js -x 10 -y 21\n    (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n    util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n    (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n    $ ./bool.js -s\n    The cat says: meow\n    \n    $ ./bool.js -sp\n    The cat says: meow.\n\n    $ ./bool.js -sp --fr\n    Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n    $ ./nonopt.js -x 6.82 -y 3.35 moo\n    (6.82,3.35)\n    [ 'moo' ]\n    \n    $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n    (0.54,1.12)\n    [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Usage: $0 -x [num] -y [num]')\n    .demand(['x','y'])\n    .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n    $ ./divide.js -x 55 -y 11\n    5\n    \n    $ node ./divide.js -x 4.91 -z 2.51\n    Usage: node ./divide.js -x [num] -y [num]\n\n    Options:\n      -x  [required]\n      -y  [required]\n\n    Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default('x', 10)\n    .default('y', 10)\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_singles.js -x 5\n    15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default({ x : 10, y : 10 })\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_hash.js -y 7\n    17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean('v')\n    .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n    $ ./boolean_single.js -v foo bar baz\n    true\n    [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean(['x','y','z'])\n    .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n    $ ./boolean_double.js -x -z one two three\n    [ true, false, true ]\n    [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Count the lines in a file.\\nUsage: $0')\n    .demand('f')\n    .alias('f', 'file')\n    .describe('f', 'Load a file')\n    .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n    lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n    console.log(lines);\n});\n````\n\n***\n\n    $ node line_count.js\n    Count the lines in a file.\n    Usage: node ./line_count.js\n\n    Options:\n      -f, --file  Load a file  [required]\n\n    Missing required arguments: f\n\n    $ node line_count.js --file line_count.js \n    20\n    \n    $ node line_count.js -f line_count.js \n    20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n    .options('f', {\n        alias : 'file',\n        default : '/etc/passwd',\n    })\n    .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n    .alias('f', 'file')\n    .default('f', '/etc/passwd')\n    .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n    $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n    { _: [ '-c', '3', '-d', '4' ],\n      '$0': 'node ./examples/reflect.js',\n      a: 1,\n      b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n    $ node examples/reflect.js -a --no-b\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n      a: true,\n      b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n    $ node examples/reflect.js -x 5 -x 8 -x 0\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n        x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n     $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n     { _: [],\n       '$0': 'node ./examples/reflect.js',\n         foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n    npm install optimist\n \nor clone this project on github:\n\n    git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n    \n    expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-optimist/issues"},"homepage":"https://github.com/substack/node-optimist","_id":"optimist@0.3.7","_shasum":"c90941ad59e4273328923074d2cf2e7cbc6ec0d9","_from":"optimist@>=0.3.5 <0.4.0","_resolved":"https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/test/_/argv.js","id":"optimist/test/_/argv.js","options":{},"isModule":true,"mtime":1302995374000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/test/_/bin.js","id":"optimist/test/_/bin.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1307937599000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/test/_.js","id":"optimist/test/_.js","options":{},"isModule":true,"requiredModules":["child_process","tap"],"mtime":1334262543000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/test/parse.js","id":"optimist/test/parse.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","path","tap"],"mtime":1365048226000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/node_modules/optimist/test/usage.js","id":"optimist/test/usage.js","options":{},"isModule":true,"requiredModules":["hashish","optimist/index.js","tap"],"mtime":1335768345000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/package.json","data":{"name":"uglify-js","description":"JavaScript parser, mangler/compressor and beautifier toolkit","homepage":"http://lisperator.net/uglifyjs","main":"tools/node.js","version":"2.3.6","engines":{"node":">=0.4.0"},"maintainers":[{"name":"Mihai Bazon","email":"mihai.bazon@gmail.com","url":"http://lisperator.net/"}],"repository":{"type":"git","url":"git+https://github.com/mishoo/UglifyJS2.git"},"dependencies":{"async":"~0.2.6","source-map":"~0.1.7","optimist":"~0.3.5"},"bin":{"uglifyjs":"bin/uglifyjs"},"scripts":{"test":"node test/run-tests.js"},"readme":"UglifyJS 2\n==========\n[![Build Status](https://travis-ci.org/mishoo/UglifyJS2.png)](https://travis-ci.org/mishoo/UglifyJS2)\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility.  For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n    npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n    npm install uglify-js\n\nFrom Git:\n\n    git clone git://github.com/mishoo/UglifyJS2.git\n    cd UglifyJS2\n    npm link .\n\nUsage\n-----\n\n    uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files.  It's recommended that you pass the\ninput files first, then pass the options.  UglifyJS will parse input files\nin sequence and apply any compression options.  The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n    --source-map       Specify an output file where to generate source map.\n                                                                          [string]\n    --source-map-root  The path to the original source to be included in the\n                       source map.                                        [string]\n    --source-map-url   The path to the source map to be added in //@\n                       sourceMappingURL.  Defaults to the value passed with\n                       --source-map.                                      [string]\n    --in-source-map    Input source map, useful if you're compressing JS that was\n                       generated from some other original code.\n    --screw-ie8        Pass this flag if you don't care about full compliance with\n                       Internet Explorer 6-8 quirks (by default UglifyJS will try\n                       to be IE-proof).\n    -p, --prefix       Skip prefix for original filenames that appear in source\n                       maps. For example -p 3 will drop 3 directories from file\n                       names and ensure they are relative paths.\n    -o, --output       Output file (default STDOUT).\n    -b, --beautify     Beautify output/specify output options.            [string]\n    -m, --mangle       Mangle names/pass mangler options.                 [string]\n    -r, --reserved     Reserved names to exclude from mangling.\n    -c, --compress     Enable compressor/pass compressor options. Pass options\n                       like -c hoist_vars=false,if_return=false. Use -c with no\n                       argument to use the default compression options.   [string]\n    -d, --define       Global definitions                                 [string]\n    --comments         Preserve copyright comments in the output. By default this\n                       works like Google Closure, keeping JSDoc-style comments\n                       that contain \"@license\" or \"@preserve\". You can optionally\n                       pass one of the following arguments to this flag:\n                       - \"all\" to keep all comments\n                       - a valid JS regexp (needs to start with a slash) to keep\n                       only comments that match.\n                       Note that currently not *all* comments can be kept when\n                       compression is on, because of dead code removal or\n                       cascading statements into sequences.               [string]\n    --stats            Display operations run time on STDERR.            [boolean]\n    --acorn            Use Acorn for parsing.                            [boolean]\n    --spidermonkey     Assume input files are SpiderMonkey AST format (as JSON).\n                                                                         [boolean]\n    --self             Build itself (UglifyJS2) as a library (implies\n                       --wrap=UglifyJS --export-all)                     [boolean]\n    --wrap             Embed everything in a big function, making the “exports”\n                       and “global” variables available. You need to pass an\n                       argument to this option to specify the name that your\n                       module will take when included in, say, a browser.\n                                                                          [string]\n    --export-all       Only used when --wrap, this tells UglifyJS to add code to\n                       automatically export all globals.                 [boolean]\n    --lint             Display some scope warnings                       [boolean]\n    -v, --verbose      Verbose                                           [boolean]\n    -V, --version      Print version number and exit.                    [boolean]\n\nSpecify `--output` (`-o`) to declare the output file.  Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript.  To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found.  In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n    uglifyjs /home/doe/work/foo/src/js/file1.js \\\n             /home/doe/work/foo/src/js/file2.js \\\n             -o foo.min.js \\\n             --source-map foo.min.js.map \\\n             --source-map-root http://foo.com/src \\\n             -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`.  The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful.  Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript).  UglifyJS has an\noption to take an input source map.  Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`.  Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`).  The following\n(comma-separated) options are supported:\n\n- `sort` — to assign shorter names to most frequently used variables.  This\n  saves a few hundred bytes on jQuery before gzip, but the output is\n  _bigger_ after gzip (and seems to happen for other libraries I tried it\n  on) therefore it's not enabled by default.\n\n- `toplevel` — mangle names declared in the toplevel scope (disabled by\n  default).\n\n- `eval` — mangle names visible in scopes where `eval` or `when` are used\n  (disabled by default).\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names.  For example:\n\n    uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor.  Optionally\nyou can pass a comma-separated list of options.  Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\n- `sequences` -- join consecutive simple statements using the comma operator\n- `properties` -- rewrite property access using the dot notation, for\n  example `foo[\"bar\"] → foo.bar`\n- `dead_code` -- remove unreachable code\n- `drop_debugger` -- remove `debugger;` statements\n- `unsafe` (default: false) -- apply \"unsafe\" transformations (discussion below)\n- `conditionals` -- apply optimizations for `if`-s and conditional\n  expressions\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n  `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n  e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n- `evaluate` -- attempt to evaluate constant expressions\n- `booleans` -- various optimizations for boolean context, for example `!!a\n  ? b : c → a ? b : c`\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n  statically determine the condition\n- `unused` -- drop unreferenced functions and variables\n- `hoist_funs` -- hoist function declarations\n- `hoist_vars` (default: false) -- hoist `var` declarations (this is `false`\n  by default because it seems to increase the size of the output in general)\n- `if_return` -- optimizations for if/return and if/continue\n- `join_vars` -- join consecutive `var` statements\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n  and `x = something(), x` into `x = something()`\n- `warnings` -- display warnings when dropping unreachable code or unused\n  declarations etc.\n\n### The `unsafe` option\n\nIt enables some transformations that *might* break code logic in certain\ncontrived cases, but should be fine for most code.  You might want to try it\non your own code, it should reduce the minified size.  Here's what happens\nwhen this flag is on:\n\n- `new Array(1, 2, 3)` or `Array(1, 2, 3)` → `[1, 2, 3 ]`\n- `new Object()` → `{}`\n- `String(exp)` or `exp.toString()` → `\"\" + exp`\n- `new Object/RegExp/Function/Error/Array (...)` → we discard the `new`\n- `typeof foo == \"undefined\"` → `foo === void 0`\n- `void 0` → `\"undefined\"` (if there is a variable named \"undefined\" in\n  scope; we do it because the variable name will be mangled, typically\n  reduced to a single character).\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope).  For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n```javascript\nif (DEBUG) {\n\tconsole.log(\"debug stuff\");\n}\n```\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build.  For example you can have a\n`build/defines.js` file with the following:\n```javascript\nconst DEBUG = false;\nconst PRODUCTION = true;\n// etc.\n```\n\nand build your code like this:\n\n    uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual.  The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n<a name=\"codegen-options\"></a>\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default.  In\ncase you want beautified output, pass `--beautify` (`-b`).  Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n  Passing `-b` will set this to true, but you might need to pass `-b` even\n  when you want to generate minified code, in order to specify additional\n  arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n  objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n  regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n  `</script` in strings\n- `width` (default 80) -- only takes effect when beautification is on, this\n  specifies an (orientative) line width that the beautifier will try to\n  obey.  It refers to the width of the line text (excluding indentation).\n  It doesn't work very well currently, but it does make the code generated\n  by UglifyJS more readable.\n- `max-line-len` (default 32000) -- maximum line length (for uglified code)\n- `ie-proof` (default `true`) -- generate “IE-proof” code (for now this\n  means add brackets around the do/while in code like this: `if (foo) do\n  something(); while (bar); else ...`.\n- `bracketize` (default `false`) -- always insert brackets in `if`, `for`,\n  `do`, `while` or `with` statements, even if their body is a single\n  statement.\n- `semicolons` (default `true`) -- separate statements with semicolons.  If\n  you pass `false` then whenever possible we will use a newline instead of a\n  semicolon, leading to more readable output of uglified code (size before\n  gzip could be smaller; size after gzip insignificantly larger).\n- `negate-iife` (default `!beautify`) -- prefer negation, rather than\n  parens, for \"Immediately-Called Function Expressions\".  This defaults to\n  `true` when beautification is off, and `false` if beautification is on;\n  pass it manually to force a value.\n\n### Keeping copyright notices or other comments\n\nYou can pass `--comments` to retain certain comments in the output.  By\ndefault it will keep JSDoc-style comments that contain \"@preserve\",\n\"@license\" or \"@cc_on\" (conditional compilation for IE).  You can pass\n`--comments all` to keep all the comments, or a valid JavaScript regexp to\nkeep only comments that match this regexp.  For example `--comments\n'/foo|bar/'` will keep only comments that contain \"foo\" or \"bar\".\n\nNote, however, that there might be situations where comments are lost.  For\nexample:\n```javascript\nfunction f() {\n\t/** @preserve Foo Bar */\n\tfunction g() {\n\t  // this function is never called\n\t}\n\treturn something();\n}\n```\n\nEven though it has \"@preserve\", the comment will be lost because the inner\nfunction `g` (which is the AST node to which the comment is attached to) is\ndiscarded by the compressor as not referenced.\n\nThe safest comments where to place copyright information (or other info that\nneeds to be kept in the output) are comments attached to toplevel nodes.\n\n## Support for the SpiderMonkey AST\n\nUglifyJS2 has its own abstract syntax tree format; for\n[practical reasons](http://lisperator.net/blog/uglifyjs-why-not-switching-to-spidermonkey-ast/)\nwe can't easily change to using the SpiderMonkey AST internally.  However,\nUglifyJS now has a converter which can import a SpiderMonkey AST.\n\nFor example [Acorn][acorn] is a super-fast parser that produces a\nSpiderMonkey AST.  It has a small CLI utility that parses one file and dumps\nthe AST in JSON on the standard output.  To use UglifyJS to mangle and\ncompress that:\n\n    acorn file.js | uglifyjs --spidermonkey -m -c\n\nThe `--spidermonkey` option tells UglifyJS that all input files are not\nJavaScript, but JS code described in SpiderMonkey AST in JSON.  Therefore we\ndon't use our own parser in this case, but just transform that AST into our\ninternal AST.\n\n### Use Acorn for parsing\n\nMore for fun, I added the `--acorn` option which will use Acorn to do all\nthe parsing.  If you pass this option, UglifyJS will `require(\"acorn\")`.\n\nAcorn is really fast (e.g. 250ms instead of 380ms on some 650K code), but\nconverting the SpiderMonkey tree that Acorn produces takes another 150ms so\nin total it's a bit more than just using UglifyJS's own parser.\n\nAPI Reference\n-------------\n\nAssuming installation via NPM, you can load UglifyJS in your application\nlike this:\n```javascript\nvar UglifyJS = require(\"uglify-js\");\n```\n\nIt exports a lot of names, but I'll discuss here the basics that are needed\nfor parsing, mangling and compressing a piece of code.  The sequence is (1)\nparse, (2) compress, (3) mangle, (4) generate output code.\n\n### The simple way\n\nThere's a single toplevel function which combines all the steps.  If you\ndon't need additional customization, you might want to go with `minify`.\nExample:\n```javascript\nvar result = UglifyJS.minify(\"/path/to/file.js\");\nconsole.log(result.code); // minified output\n// if you need to pass code instead of file name\nvar result = UglifyJS.minify(\"var b = function () {};\", {fromString: true});\n```\n\nYou can also compress multiple files:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ]);\nconsole.log(result.code);\n```\n\nTo generate a source map:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ], {\n\toutSourceMap: \"out.js.map\"\n});\nconsole.log(result.code); // minified output\nconsole.log(result.map);\n```\n\nNote that the source map is not saved in a file, it's just returned in\n`result.map`.  The value passed for `outSourceMap` is only used to set the\n`file` attribute in the source map (see [the spec][sm-spec]).\n\nYou can also specify sourceRoot property to be included in source map:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ], {\n\toutSourceMap: \"out.js.map\",\n\tsourceRoot: \"http://example.com/src\"\n});\n```\n\nIf you're compressing compiled JavaScript and have a source map for it, you\ncan use the `inSourceMap` argument:\n```javascript\nvar result = UglifyJS.minify(\"compiled.js\", {\n\tinSourceMap: \"compiled.js.map\",\n\toutSourceMap: \"minified.js.map\"\n});\n// same as before, it returns `code` and `map`\n```\n\nThe `inSourceMap` is only used if you also request `outSourceMap` (it makes\nno sense otherwise).\n\nOther options:\n\n- `warnings` (default `false`) — pass `true` to display compressor warnings.\n\n- `fromString` (default `false`) — if you pass `true` then you can pass\n  JavaScript source code, rather than file names.\n\n- `mangle` — pass `false` to skip mangling names.\n\n- `output` (default `null`) — pass an object if you wish to specify\n  additional [output options][codegen].  The defaults are optimized\n  for best compression.\n\n- `compress` (default `{}`) — pass `false` to skip compressing entirely.\n  Pass an object to specify custom [compressor options][compressor].\n\nWe could add more options to `UglifyJS.minify` — if you need additional\nfunctionality please suggest!\n\n### The hard way\n\nFollowing there's more detailed API info, in case the `minify` function is\ntoo simple for your needs.\n\n#### The parser\n```javascript\nvar toplevel_ast = UglifyJS.parse(code, options);\n```\n\n`options` is optional and if present it must be an object.  The following\nproperties are available:\n\n- `strict` — disable automatic semicolon insertion and support for trailing\n  comma in arrays and objects\n- `filename` — the name of the file where this code is coming from\n- `toplevel` — a `toplevel` node (as returned by a previous invocation of\n  `parse`)\n\nThe last two options are useful when you'd like to minify multiple files and\nget a single file as the output and a proper source map.  Our CLI tool does\nsomething like this:\n```javascript\nvar toplevel = null;\nfiles.forEach(function(file){\n\tvar code = fs.readFileSync(file);\n\ttoplevel = UglifyJS.parse(code, {\n\t\tfilename: file,\n\t\ttoplevel: toplevel\n\t});\n});\n```\n\nAfter this, we have in `toplevel` a big AST containing all our files, with\neach token having proper information about where it came from.\n\n#### Scope information\n\nUglifyJS contains a scope analyzer that you need to call manually before\ncompressing or mangling.  Basically it augments various nodes in the AST\nwith information about where is a name defined, how many times is a name\nreferenced, if it is a global or not, if a function is using `eval` or the\n`with` statement etc.  I will discuss this some place else, for now what's\nimportant to know is that you need to call the following before doing\nanything with the tree:\n```javascript\ntoplevel.figure_out_scope()\n```\n\n#### Compression\n\nLike this:\n```javascript\nvar compressor = UglifyJS.Compressor(options);\nvar compressed_ast = toplevel.transform(compressor);\n```\n\nThe `options` can be missing.  Available options are discussed above in\n“Compressor options”.  Defaults should lead to best compression in most\nscripts.\n\nThe compressor is destructive, so don't rely that `toplevel` remains the\noriginal tree.\n\n#### Mangling\n\nAfter compression it is a good idea to call again `figure_out_scope` (since\nthe compressor might drop unused variables / unreachable code and this might\nchange the number of identifiers or their position).  Optionally, you can\ncall a trick that helps after Gzip (counting character frequency in\nnon-mangleable words).  Example:\n```javascript\ncompressed_ast.figure_out_scope();\ncompressed_ast.compute_char_frequency();\ncompressed_ast.mangle_names();\n```\n\n#### Generating output\n\nAST nodes have a `print` method that takes an output stream.  Essentially,\nto generate code you do this:\n```javascript\nvar stream = UglifyJS.OutputStream(options);\ncompressed_ast.print(stream);\nvar code = stream.toString(); // this is your minified code\n```\n\nor, for a shortcut you can do:\n```javascript\nvar code = compressed_ast.print_to_string(options);\n```\n\nAs usual, `options` is optional.  The output stream accepts a lot of otions,\nmost of them documented above in section “Beautifier options”.  The two\nwhich we care about here are `source_map` and `comments`.\n\n#### Keeping comments in the output\n\nIn order to keep certain comments in the output you need to pass the\n`comments` option.  Pass a RegExp or a function.  If you pass a RegExp, only\nthose comments whose body matches the regexp will be kept.  Note that body\nmeans without the initial `//` or `/*`.  If you pass a function, it will be\ncalled for every comment in the tree and will receive two arguments: the\nnode that the comment is attached to, and the comment token itself.\n\nThe comment token has these properties:\n\n- `type`: \"comment1\" for single-line comments or \"comment2\" for multi-line\n  comments\n- `value`: the comment body\n- `pos` and `endpos`: the start/end positions (zero-based indexes) in the\n  original code where this comment appears\n- `line` and `col`: the line and column where this comment appears in the\n  original code\n- `file` — the file name of the original file\n- `nlb` — true if there was a newline before this comment in the original\n  code, or if this comment contains a newline.\n\nYour function should return `true` to keep the comment, or a falsy value\notherwise.\n\n#### Generating a source mapping\n\nYou need to pass the `source_map` argument when calling `print`.  It needs\nto be a `SourceMap` object (which is a thin wrapper on top of the\n[source-map][source-map] library).\n\nExample:\n```javascript\nvar source_map = UglifyJS.SourceMap(source_map_options);\nvar stream = UglifyJS.OutputStream({\n\t...\n\tsource_map: source_map\n});\ncompressed_ast.print(stream);\n\nvar code = stream.toString();\nvar map = source_map.toString(); // json output for your source map\n```\n\nThe `source_map_options` (optional) can contain the following properties:\n\n- `file`: the name of the JavaScript output file that this mapping refers to\n- `root`: the `sourceRoot` property (see the [spec][sm-spec])\n- `orig`: the \"original source map\", handy when you compress generated JS\n  and want to map the minified output back to the original code where it\n  came from.  It can be simply a string in JSON, or a JSON object containing\n  the original source map.\n\n  [acorn]: https://github.com/marijnh/acorn\n  [source-map]: https://github.com/mozilla/source-map\n  [sm-spec]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n  [codegen]: http://lisperator.net/uglifyjs/codegen\n  [compressor]: http://lisperator.net/uglifyjs/compress\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mishoo/UglifyJS2/issues"},"_id":"uglify-js@2.3.6","_shasum":"fa0984770b428b7a9b2a8058f46355d14fef211a","_from":"uglify-js@>=2.3.0 <2.4.0","_resolved":"https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/arrays.js","id":"uglify-js/test/compress/arrays.js","options":{},"isModule":true,"mtime":1358678104000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/blocks.js","id":"uglify-js/test/compress/blocks.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/conditionals.js","id":"uglify-js/test/compress/conditionals.js","options":{},"isModule":true,"mtime":1358414244000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/dead-code.js","id":"uglify-js/test/compress/dead-code.js","options":{},"isModule":true,"mtime":1358414239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/debugger.js","id":"uglify-js/test/compress/debugger.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/drop-unused.js","id":"uglify-js/test/compress/drop-unused.js","options":{},"isModule":true,"mtime":1358414247000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-105.js","id":"uglify-js/test/compress/issue-105.js","options":{},"isModule":true,"mtime":1368019380000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-12.js","id":"uglify-js/test/compress/issue-12.js","options":{},"isModule":true,"mtime":1358414247000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-143.js","id":"uglify-js/test/compress/issue-143.js","options":{},"isModule":true,"mtime":1368019380000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js","id":"uglify-js/test/compress/issue-22.js","options":{},"isModule":true,"mtime":1358414248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js","id":"uglify-js/test/compress/issue-44.js","options":{},"isModule":true,"mtime":1358414250000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js","id":"uglify-js/test/compress/issue-59.js","options":{},"isModule":true,"mtime":1358414275000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js","id":"uglify-js/test/compress/labels.js","options":{},"isModule":true,"mtime":1358414248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js","id":"uglify-js/test/compress/loops.js","options":{},"isModule":true,"mtime":1358414250000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js","id":"uglify-js/test/compress/properties.js","options":{},"isModule":true,"mtime":1368517354000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js","id":"uglify-js/test/compress/sequences.js","options":{},"isModule":true,"mtime":1358414248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js","id":"uglify-js/test/compress/switch.js","options":{},"isModule":true,"mtime":1362136243000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js","id":"uglify-js/test/compress/typeof.js","options":{},"isModule":true,"mtime":1365059260000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js","id":"uglify-js/test/run-tests.js","options":{},"isModule":true,"requiredModules":["uglify-js/tools/node.js","path","fs","assert","util/util.js"],"mtime":1358414248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/node_modules/uglify-js/tools/node.js","id":"uglify-js/tools/node.js","options":{},"isModule":true,"requiredModules":["path","fs","vm","util/util.js","source-map/lib/source-map.js"],"mtime":1363968286000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/handlebars/package.json","data":{"name":"handlebars","barename":"handlebars","version":"3.0.0","description":"Handlebars provides the power necessary to let you build semantic templates effectively with no frustration","homepage":"http://www.handlebarsjs.com/","keywords":["handlebars","mustache","template","html"],"repository":{"type":"git","url":"https://github.com/wycats/handlebars.js.git"},"author":{"name":"Yehuda Katz"},"license":"MIT","engines":{"node":">=0.4.7"},"dependencies":{"optimist":"^0.6.1","source-map":"^0.1.40","uglify-js":"~2.3"},"optionalDependencies":{"uglify-js":"~2.3"},"devDependencies":{"async":"^0.9.0","aws-sdk":"~1.5.0","benchmark":"~1.0","dustjs-linkedin":"^2.0.2","eco":"~1.1.0-rc-3","es6-module-packager":"^2.0.0","grunt":"~0.4.1","grunt-cli":"~0.1.10","grunt-contrib-clean":"0.x","grunt-contrib-concat":"0.x","grunt-contrib-connect":"0.x","grunt-contrib-copy":"0.x","grunt-contrib-jshint":"0.x","grunt-contrib-requirejs":"0.x","grunt-contrib-uglify":"0.x","grunt-contrib-watch":"0.x","grunt-saucelabs":"8.x","istanbul":"^0.3.0","jison":"~0.3.0","keen.io":"0.0.3","mocha":"~1.20.0","mustache":"0.x","semver":"^4.0.0","underscore":"^1.5.1"},"main":"lib/index.js","bin":{"handlebars":"bin/handlebars"},"scripts":{"test":"grunt"},"jspm":{"main":"handlebars","directories":{"lib":"dist/amd"},"buildConfig":{"minify":true}},"gitHead":"0099e16a01bae4789c3560e2a658fdd7fecc9e12","bugs":{"url":"https://github.com/wycats/handlebars.js/issues"},"_id":"handlebars@3.0.0","_shasum":"7f4e537f4dd6992869d66c01b7505eba3561a5d5","_from":"handlebars@3.0.0","_npmVersion":"1.4.28","_npmUser":{"name":"kpdecker","email":"kpdecker@gmail.com"},"maintainers":[{"name":"kpdecker","email":"kpdecker@gmail.com"}],"dist":{"shasum":"7f4e537f4dd6992869d66c01b7505eba3561a5d5","tarball":"http://registry.npmjs.org/handlebars/-/handlebars-3.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/handlebars/-/handlebars-3.0.0.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/handlebars/runtime.js","id":"handlebars/runtime.js","options":{},"isModule":true,"requiredModules":["handlebars/dist/cjs/handlebars.runtime.js"],"mtime":1423333556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/hat/example/hat.js","id":"hat/example/hat.js","options":{},"isModule":true,"requiredModules":["hat/index.js"],"mtime":1312631636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/hat/example/rack.js","id":"hat/example/rack.js","options":{},"isModule":true,"requiredModules":["hat/index.js"],"mtime":1312631636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/hat/index.js","id":"hat/index.js","options":{},"isModule":true,"mtime":1312631636000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/hat/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/hat/package.json","data":{"name":"hat","version":"0.0.3","description":"generate random IDs and avoid collisions","main":"index.js","directories":{"lib":".","example":"example","test":"test"},"devDependencies":{"expresso":"0.7.x"},"scripts":{"test":"expresso"},"repository":{"type":"git","url":"http://github.com/substack/node-hat.git"},"keywords":["id","uid","uuid","random","hat","rack","unique"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"readme":"hat\n===\n\nGenerate random IDs and avoid collisions.\n\n![hat](http://substack.net/images/hat.png)\n\nexamples\n========\n\nhat\n---\n\n````javascript\nvar hat = require('hat');\n\nvar id = hat();\nconsole.log(id);\n````\n\noutput:\n\n````\n0c82a54f22f775a3ed8b97b2dea74036\n````\n\nrack\n----\n\n````javascript\nvar hat = require('hat');\nvar rack = hat.rack();\n\nconsole.log(rack());\nconsole.log(rack());\n````\n\noutput:\n\n````\n1c24171393dc5de04ffcb21f1182ab28\nfabe2323acc1b559dee43d4a1e16cbeb\n````\n\nmethods\n=======\n\nvar hat = require('hat');\n\nhat(bits=128, base=16)\n----------------------\n\nGenerate a random ID string with `bits` of data in a `base`.\n\nLeading zeros are appended such that all outputs for a given number of bits have\nequal length.\n\nvar rack = hat.rack(bits=128, base=16, expandBy)\n------------------------------------------------\n\nMake a new hat rack. Call `rack()` repeatedly to generate new IDs which are\nchecked for collisions.\n\nIf `expandBy` is specified, increment `bits` by this amount if too many\ncollisions occur. If `expandBy` isn't specified, `rack()` will throw if too many\ncollisions occur during generation.\n\nOptionally call `var id = rack(data)` to store `data` at the new ID.\n\nYou can get the data out again with `rack.get(id)` and set the data with\n`rack.set(id, value)`.\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/substack/node-hat/issues"},"homepage":"https://github.com/substack/node-hat","_id":"hat@0.0.3","_shasum":"bb014a9e64b3788aed8005917413d4ff3d502d8a","_from":"hat@0.0.3","_resolved":"https://registry.npmjs.org/hat/-/hat-0.0.3.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/hat/test/id.js","id":"hat/test/id.js","options":{},"isModule":true,"requiredModules":["hat/index.js","assert"],"mtime":1312631636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/hat/test/rack.js","id":"hat/test/rack.js","options":{},"isModule":true,"requiredModules":["hat/index.js","assert"],"mtime":1312631636000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/heapdump/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/heapdump/package.json","data":{"name":"heapdump","main":"./build/Release/heapdump","version":"0.2.10","description":"Make a dump of the V8 heap for later inspection.","homepage":"https://github.com/bnoordhuis/node-heapdump","author":{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"http://bnoordhuis.nl/"},"repository":{"type":"git","url":"git://github.com/bnoordhuis/node-heapdump.git"},"engines":{"node":">=0.10.0"},"license":"ISC","scripts":{"test":"tap test/test-*","install":"node-gyp rebuild"},"devDependencies":{"shelljs":"~0.3.0","tap":"~0.4.12"},"gypfile":true,"readme":"node-heapdump\n===\n\nMake a dump of the V8 heap for later inspection.\n\n### Install\n\n    npm install heapdump\n\nOr, if you are running node.js v0.6 or v0.8:\n\n    npm install heapdump@0.1.0\n\n### Build\n\n    node-gyp configure build\n\n### Usage\n\nLoad the add-on in your application:\n\n    var heapdump = require('heapdump');\n\nThe module exports a single `writeSnapshot([filename], [callback])` function\nthat writes out a snapshot.  `filename` defaults to\n`heapdump-<sec>.<usec>.heapsnapshot` when omitted.\n\n    heapdump.writeSnapshot('/var/local/' + Date.now() + '.heapsnapshot');\n\nThe function also takes an optional callback function which is called upon\ncompletion of the heap dump.\n\n    heapdump.writeSnapshot(function() {\n      console.log('dump complete');\n    });\n\nOn UNIX, it forks off a new process that writes out the snapshot in an\nasynchronous fashion.  (That is, the function does not block.)\n\nOn Windows, however, it returns only after the snapshot is fully written.\nIf the heap is large, that may take a while.\n\nOn UNIX platforms, you can force a snapshot by sending the node.js process\na SIGUSR2 signal:\n\n    $ kill -USR2 <pid>\n\nThe SIGUSR2 signal handler is enabled by default but you can disable it\nby setting `NODE_HEAPDUMP_OPTIONS=nosignal` in the environment:\n\n    $ env NODE_HEAPDUMP_OPTIONS=nosignal node script.js\n\n### Inspecting the snapshot\n\nOpen [Google Chrome](https://www.google.com/intl/en/chrome/browser/) and\npress F12 to open the developer toolbar.\n\nGo to the `Profiles` tab, right-click in the tab pane and select\n`Load profile...`.\n\nSelect the dump file and click `Open`.  You can now inspect the heap snapshot\nat your leisure.\n\nNote that Chrome will refuse to load the file unless it has the `.heapsnapshot`\nextension.\n\n### Caveats\n\nOn UNIX systems, the rule of thumb for creating a heap snapshot is that it\nrequires memory twice the size of the heap at the time of the snapshot.\nIf you end up with empty or truncated snapshot files, check the output of\n`dmesg`; you may have had a run-in with the system's OOM killer or a resource\nlimit enforcing policy, like `ulimit -u` (max user processes) or `ulimit -v`\n(max virtual memory size).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/bnoordhuis/node-heapdump/issues"},"_id":"heapdump@0.2.10","_shasum":"e4fc818f5a33f361238e6dfd59c650ba2da74624","_from":"heapdump@^0.2.10","_resolved":"https://registry.npmjs.org/heapdump/-/heapdump-0.2.10.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/heapdump/test/test-callback-without-filename.js","id":"heapdump/test/test-callback-without-filename.js","options":{},"isModule":true,"requiredModules":["path","http","shelljs/shell.js","tap","../"],"mtime":1408230437000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/heapdump/test/test-callback.js","id":"heapdump/test/test-callback.js","options":{},"isModule":true,"requiredModules":["path","http","shelljs/shell.js","tap","../"],"mtime":1408230437000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/heapdump/test/test-sigusr2.js","id":"heapdump/test/test-sigusr2.js","options":{},"isModule":true,"requiredModules":["path","http","shelljs/shell.js","tap"],"mtime":1408230437000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/examples/basic.js","id":"http-auth/examples/basic.js","options":{},"isModule":true,"requiredModules":["http","http-auth/lib/http-auth.js"],"mtime":1406796474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/examples/basic_nofile.js","id":"http-auth/examples/basic_nofile.js","options":{},"isModule":true,"requiredModules":["http","http-auth/lib/http-auth.js"],"mtime":1406796474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/examples/digest.js","id":"http-auth/examples/digest.js","options":{},"isModule":true,"requiredModules":["http","http-auth/lib/http-auth.js"],"mtime":1406796474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/examples/digest_nofile.js","id":"http-auth/examples/digest_nofile.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js","../lib/auth/utils","http","http-auth/lib/http-auth.js"],"mtime":1406796474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/examples/express.js","id":"http-auth/examples/express.js","options":{},"isModule":true,"requiredModules":["express/index.js","http-auth/lib/http-auth.js"],"mtime":1406796474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/examples/https.js","id":"http-auth/examples/https.js","options":{},"isModule":true,"requiredModules":["https","fs","http-auth/lib/http-auth.js"],"mtime":1406796474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/examples/proxy.js","id":"http-auth/examples/proxy.js","options":{},"isModule":true,"requiredModules":["http","http-proxy","http-auth/lib/http-auth.js"],"mtime":1410525641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/lib/http-auth.js","id":"http-auth/lib/http-auth.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js","./server/http","./server/https","./auth/utils","./server/proxy","./auth/basic","./auth/digest","./server/connect"],"mtime":1406796474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/browser.js","id":"coffee-script/lib/coffee-script/browser.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/cake.js","id":"coffee-script/lib/coffee-script/cake.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/optparse.js","coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/coffee-script.js","id":"coffee-script/lib/coffee-script/coffee-script.js","options":{},"isModule":true,"requiredModules":["fs","vm","path","child_process","coffee-script/lib/coffee-script/lexer.js","coffee-script/lib/coffee-script/parser.js","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/sourcemap.js","module","coffee-script/lib/coffee-script/nodes.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/command.js","id":"coffee-script/lib/coffee-script/command.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/optparse.js","coffee-script/lib/coffee-script/coffee-script.js","child_process","events","coffee-script/lib/coffee-script/repl.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/grammar.js","id":"coffee-script/lib/coffee-script/grammar.js","options":{},"isModule":true,"requiredModules":["jison"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/helpers.js","id":"coffee-script/lib/coffee-script/helpers.js","options":{},"isModule":true,"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/index.js","id":"coffee-script/lib/coffee-script/index.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/lexer.js","id":"coffee-script/lib/coffee-script/lexer.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/rewriter.js","coffee-script/lib/coffee-script/helpers.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/nodes.js","id":"coffee-script/lib/coffee-script/nodes.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/scope.js","coffee-script/lib/coffee-script/lexer.js","coffee-script/lib/coffee-script/helpers.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/optparse.js","id":"coffee-script/lib/coffee-script/optparse.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/helpers.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/parser.js","id":"coffee-script/lib/coffee-script/parser.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/repl.js","id":"coffee-script/lib/coffee-script/repl.js","options":{},"isModule":true,"requiredModules":["fs","path","vm","repl","coffee-script/lib/coffee-script/coffee-script.js","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/nodes.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/rewriter.js","id":"coffee-script/lib/coffee-script/rewriter.js","options":{},"isModule":true,"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/scope.js","id":"coffee-script/lib/coffee-script/scope.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/helpers.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/lib/coffee-script/sourcemap.js","id":"coffee-script/lib/coffee-script/sourcemap.js","options":{},"isModule":true,"mtime":1370151487000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/coffee-script/package.json","data":{"name":"coffee-script","description":"Unfancy JavaScript","keywords":["javascript","language","coffeescript","compiler"],"author":{"name":"Jeremy Ashkenas"},"version":"1.6.3","licenses":[{"type":"MIT","url":"https://raw.github.com/jashkenas/coffee-script/master/LICENSE"}],"engines":{"node":">=0.8.0"},"directories":{"lib":"./lib/coffee-script"},"main":"./lib/coffee-script/coffee-script","bin":{"coffee":"./bin/coffee","cake":"./bin/cake"},"scripts":{"test":"node ./bin/cake test"},"homepage":"http://coffeescript.org","bugs":{"url":"https://github.com/jashkenas/coffee-script/issues"},"repository":{"type":"git","url":"git://github.com/jashkenas/coffee-script.git"},"devDependencies":{"uglify-js":"~2.2","jison":">=0.2.0"},"readme":"\n            {\n         }   }   {\n        {   {  }  }\n         }   }{  {\n        {  }{  }  }                    _____       __  __\n       ( }{ }{  { )                   / ____|     / _|/ _|\n     .- { { }  { }} -.               | |     ___ | |_| |_ ___  ___\n    (  ( } { } { } }  )              | |    / _ \\|  _|  _/ _ \\/ _ \\\n    |`-..________ ..-'|              | |___| (_) | | | ||  __/  __/\n    |                 |               \\_____\\___/|_| |_| \\___|\\___|\n    |                 ;--.\n    |                (__  \\            _____           _       _\n    |                 | )  )          / ____|         (_)     | |\n    |                 |/  /          | (___   ___ _ __ _ _ __ | |_\n    |                 (  /            \\___ \\ / __| '__| | '_ \\| __|\n    |                 |/              ____) | (__| |  | | |_) | |_\n    |                 |              |_____/ \\___|_|  |_| .__/ \\__|\n     `-.._________..-'                                  | |\n                                                        |_|\n\n\n  CoffeeScript is a little language that compiles into JavaScript.\n\n  Install Node.js, and then the CoffeeScript compiler:\n  sudo bin/cake install\n\n  Or, if you have the Node Package Manager installed:\n  npm install -g coffee-script\n  (Leave off the -g if you don't wish to install globally.)\n\n  Execute a script:\n  coffee /path/to/script.coffee\n\n  Compile a script:\n  coffee -c /path/to/script.coffee\n\n  For documentation, usage, and examples, see:\n  http://coffeescript.org/\n\n  To suggest a feature, report a bug, or general discussion:\n  http://github.com/jashkenas/coffee-script/issues/\n\n  If you'd like to chat, drop by #coffeescript on Freenode IRC,\n  or on webchat.freenode.net.\n\n  The source repository:\n  git://github.com/jashkenas/coffee-script.git\n\n  All contributors are listed here:\n  http://github.com/jashkenas/coffee-script/contributors\n","readmeFilename":"README","_id":"coffee-script@1.6.3","_shasum":"6355d32cf1b04cdff6b484e5e711782b2f0c39be","_from":"coffee-script@1.6.3","_resolved":"https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/lib/htpasswd.js","id":"htpasswd/lib/htpasswd.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js","./program","./processor","./utils"],"mtime":1402064406000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-crypt/lib/apache-crypt.js","id":"apache-crypt/lib/apache-crypt.js","options":{},"isModule":true,"requiredModules":["../build/Release/crypt3"],"mtime":1402064322000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-crypt/node_modules/nan/include_dirs.js","id":"nan/include_dirs.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1384137192000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-crypt/node_modules/nan/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-crypt/node_modules/nan/package.json","data":{"name":"nan","version":"1.2.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","readme":"Native Abstractions for Node.js\n===============================\n\n**A header file filled with macro and utility goodness for making add-on development for Node.js easier across versions 0.8, 0.10 and 0.11, and eventually 0.12.**\n\n***Current version: 1.2.0*** *(See [nan.h](https://github.com/rvagg/nan/blob/master/nan.h) for complete ChangeLog)*\n\n[![NPM](https://nodei.co/npm/nan.png?downloads=true)](https://nodei.co/npm/nan/) [![NPM](https://nodei.co/npm-dl/nan.png?months=6)](https://nodei.co/npm/nan/)\n\nThanks to the crazy changes in V8 (and some in Node core), keeping native addons compiling happily across versions, particularly 0.10 to 0.11/0.12, is a minor nightmare. The goal of this project is to store all logic necessary to develop native Node.js addons without having to inspect `NODE_MODULE_VERSION` and get yourself into a macro-tangle.\n\nThis project also contains some helper utilities that make addon development a bit more pleasant.\n\n * **[News & Updates](#news)**\n * **[Usage](#usage)**\n * **[Example](#example)**\n * **[API](#api)**\n\n<a name=\"news\"></a>\n## News & Updates\n\n### May-2014: 1.1.0 release\n\n* We've deprecated `NanSymbol()`, you should just use `NanNew<String>()` now.\n* `NanNull()`, `NanUndefined()`, `NanTrue()`, `NanFalse()` all return `Local`s now.\n* `nan_isolate` is gone, it was intended to be internal-only but if you were using it then you should switch to `v8::Isolate::GetCurrent()`.\n* `NanNew()` has received some additional overload-love so you should be able to give it many kinds of values without specifying the `<Type>`.\n* Lots of small fixes and additions to expand the V8 API coverage, *use the source, Luke*.\n\n\n### May-2014: Major changes for V8 3.25 / Node 0.11.13\n\nNode 0.11.11 and 0.11.12 were both broken releases for native add-ons, you simply can't properly compile against either of them for different reasons. But we now have a 0.11.13 release that jumps a couple of versions of V8 ahead and includes some more, major (traumatic) API changes.\n\nBecause we are now nearing Node 0.12 and estimate that the version of V8 we are using in Node 0.11.13 will be close to the API we get for 0.12, we have taken the opportunity to not only *fix* NAN for 0.11.13 but make some major changes to improve the NAN API.\n\nWe have **removed support for Node 0.11 versions prior to 0.11.13**. As usual, our tests are run against (and pass) the last 5 versions of Node 0.8 and Node 0.10. We also include Node 0.11.13 obviously.\n\nThe major change is something that [Benjamin Byholm](kkoopa) has put many hours in to. We now have a fantastic new `NanNew<T>(args)` interface for creating new `Local`s, this replaces `NanNewLocal()` and much more. If you look in [./nan.h](nan.h) you'll see a large number of overloaded versions of this method. In general you should be able to `NanNew<Type>(arguments)` for any type you want to make a `Local` from. This includes `Persistent` types, so we now have a `Local<T> NanNew(const Persistent<T> arg)` to replace `NanPersistentToLocal()`.\n\nWe also now have `NanUndefined()`, `NanNull()`, `NanTrue()` and `NanFalse()`. Mainly because of the new requirement for an `Isolate` argument for each of the native V8 versions of this.\n\nV8 has now introduced an `EscapableHandleScope` from which you `scope.Escape(Local<T> value)` to *return* a value from a one scope to another. This replaces the standard `HandleScope` and `scope.Close(Local<T> value)`, although `HandleScope` still exists for when you don't need to return a handle to the caller. For NAN we are exposing it as `NanEscapableScope()` and `NanEscapeScope()`, while `NanScope()` is still how you create a new scope that doesn't need to return handles. For older versions of Node/V8, it'll still map to the older `HandleScope` functionality.\n\n`NanFromV8String()` was deprecated and has now been removed. You should use `NanCString()` or `NanRawString()` instead.\n\nBecause `node::MakeCallback()` now takes an `Isolate`, and because it doesn't exist in older versions of Node, we've introduced `NanMakeCallback()`. You should *always* use this when calling a JavaScript function from C++.\n\nThere's lots more, check out the Changelog in nan.h or look through [#86](https://github.com/rvagg/nan/pull/86) for all the gory details.\n\n### Dec-2013: NanCString and NanRawString\n\nTwo new functions have been introduced to replace the functionality that's been provided by `NanFromV8String` until now. NanCString has sensible defaults so it's super easy to fetch a null-terminated c-style string out of a `v8::String`. `NanFromV8String` is still around and has defaults that allow you to pass a single handle to fetch a `char*` while `NanRawString` requires a little more attention to arguments.\n\n### Nov-2013: Node 0.11.9+ breaking V8 change\n\nThe version of V8 that's shipping with Node 0.11.9+ has changed the signature for new `Local`s to: `v8::Local<T>::New(isolate, value)`, i.e. introducing the `isolate` argument and therefore breaking all new `Local` declarations for previous versions. NAN 0.6+ now includes a `NanNewLocal<T>(value)` that can be used in place to work around this incompatibility and maintain compatibility with 0.8->0.11.9+ (minus a few early 0.11 releases).\n\nFor example, if you wanted to return a `null` on a callback you will have to change the argument from `v8::Local<v8::Value>::New(v8::Null())` to `NanNewLocal<v8::Value>(v8::Null())`.\n\n### Nov-2013: Change to binding.gyp `\"include_dirs\"` for NAN\n\nInclusion of NAN in a project's binding.gyp is now greatly simplified. You can now just use `\"<!(node -e \\\"require('nan')\\\")\"` in your `\"include_dirs\"`, see example below (note Windows needs the quoting around `require` to be just right: `\"require('nan')\"` with appropriate `\\` escaping).\n\n<a name=\"usage\"></a>\n## Usage\n\nSimply add **NAN** as a dependency in the *package.json* of your Node addon:\n\n``` bash\n$ npm install --save nan\n```\n\nPull in the path to **NAN** in your *binding.gyp* so that you can use `#include <nan.h>` in your *.cpp* files:\n\n``` python\n\"include_dirs\" : [\n    \"<!(node -e \\\"require('nan')\\\")\"\n]\n```\n\nThis works like a `-I<path-to-NAN>` when compiling your addon.\n\n<a name=\"example\"></a>\n## Example\n\nSee **[LevelDOWN](https://github.com/rvagg/node-leveldown/pull/48)** for a full example of **NAN** in use.\n\nFor a simpler example, see the **[async pi estimation example](https://github.com/rvagg/nan/tree/master/examples/async_pi_estimate)** in the examples directory for full code and an explanation of what this Monte Carlo Pi estimation example does. Below are just some parts of the full example that illustrate the use of **NAN**.\n\nCompare to the current 0.10 version of this example, found in the [node-addon-examples](https://github.com/rvagg/node-addon-examples/tree/master/9_async_work) repository and also a 0.11 version of the same found [here](https://github.com/kkoopa/node-addon-examples/tree/5c01f58fc993377a567812597e54a83af69686d7/9_async_work).\n\nNote that there is no embedded version sniffing going on here and also the async work is made much simpler, see below for details on the `NanAsyncWorker` class.\n\n```c++\n// addon.cc\n#include <node.h>\n#include <nan.h>\n// ...\n\nusing v8::FunctionTemplate;\nusing v8::Handle;\nusing v8::Object;\nusing v8::String;\n\nvoid InitAll(Handle<Object> exports) {\n  exports->Set(NanNew<String>(\"calculateSync\"),\n    NanNew<FunctionTemplate>(CalculateSync)->GetFunction());\n\n  exports->Set(NanNew<String>(\"calculateAsync\"),\n    NanNew<FunctionTemplate>(CalculateAsync)->GetFunction());\n}\n\nNODE_MODULE(addon, InitAll)\n```\n\n```c++\n// sync.h\n#include <node.h>\n#include <nan.h>\n\nNAN_METHOD(CalculateSync);\n```\n\n```c++\n// sync.cc\n#include <node.h>\n#include <nan.h>\n#include \"./sync.h\"\n// ...\n\nusing v8::Number;\n\n// Simple synchronous access to the `Estimate()` function\nNAN_METHOD(CalculateSync) {\n  NanScope();\n\n  // expect a number as the first argument\n  int points = args[0]->Uint32Value();\n  double est = Estimate(points);\n\n  NanReturnValue(NanNew<Number>(est));\n}\n```\n\n```c++\n// async.cc\n#include <node.h>\n#include <nan.h>\n#include \"./async.h\"\n\n// ...\n\nusing v8::Function;\nusing v8::Local;\nusing v8::Null;\nusing v8::Number;\nusing v8::Value;\n\nclass PiWorker : public NanAsyncWorker {\n public:\n  PiWorker(NanCallback *callback, int points)\n    : NanAsyncWorker(callback), points(points) {}\n  ~PiWorker() {}\n\n  // Executed inside the worker-thread.\n  // It is not safe to access V8, or V8 data structures\n  // here, so everything we need for input and output\n  // should go on `this`.\n  void Execute () {\n    estimate = Estimate(points);\n  }\n\n  // Executed when the async work is complete\n  // this function will be run inside the main event loop\n  // so it is safe to use V8 again\n  void HandleOKCallback () {\n    NanScope();\n\n    Local<Value> argv[] = {\n        NanNull()\n      , NanNew<Number>(estimate)\n    };\n\n    callback->Call(2, argv);\n  };\n\n private:\n  int points;\n  double estimate;\n};\n\n// Asynchronous access to the `Estimate()` function\nNAN_METHOD(CalculateAsync) {\n  NanScope();\n\n  int points = args[0]->Uint32Value();\n  NanCallback *callback = new NanCallback(args[1].As<Function>());\n\n  NanAsyncQueueWorker(new PiWorker(callback, points));\n  NanReturnUndefined();\n}\n```\n\n<a name=\"api\"></a>\n## API\n\n * <a href=\"#api_nan_method\"><b><code>NAN_METHOD</code></b></a>\n * <a href=\"#api_nan_getter\"><b><code>NAN_GETTER</code></b></a>\n * <a href=\"#api_nan_setter\"><b><code>NAN_SETTER</code></b></a>\n * <a href=\"#api_nan_property_getter\"><b><code>NAN_PROPERTY_GETTER</code></b></a>\n * <a href=\"#api_nan_property_setter\"><b><code>NAN_PROPERTY_SETTER</code></b></a>\n * <a href=\"#api_nan_property_enumerator\"><b><code>NAN_PROPERTY_ENUMERATOR</code></b></a>\n * <a href=\"#api_nan_property_deleter\"><b><code>NAN_PROPERTY_DELETER</code></b></a>\n * <a href=\"#api_nan_property_query\"><b><code>NAN_PROPERTY_QUERY</code></b></a>\n * <a href=\"#api_nan_index_getter\"><b><code>NAN_INDEX_GETTER</code></b></a>\n * <a href=\"#api_nan_index_setter\"><b><code>NAN_INDEX_SETTER</code></b></a>\n * <a href=\"#api_nan_index_enumerator\"><b><code>NAN_INDEX_ENUMERATOR</code></b></a>\n * <a href=\"#api_nan_index_deleter\"><b><code>NAN_INDEX_DELETER</code></b></a>\n * <a href=\"#api_nan_index_query\"><b><code>NAN_INDEX_QUERY</code></b></a>\n * <a href=\"#api_nan_weak_callback\"><b><code>NAN_WEAK_CALLBACK</code></b></a>\n * <a href=\"#api_nan_deprecated\"><b><code>NAN_DEPRECATED</code></b></a>\n * <a href=\"#api_nan_inline\"><b><code>NAN_INLINE</code></b></a>\n * <a href=\"#api_nan_new\"><b><code>NanNew</code></b></a>\n * <a href=\"#api_nan_undefined\"><b><code>NanUndefined</code></b></a>\n * <a href=\"#api_nan_null\"><b><code>NanNull</code></b></a>\n * <a href=\"#api_nan_true\"><b><code>NanTrue</code></b></a>\n * <a href=\"#api_nan_false\"><b><code>NanFalse</code></b></a>\n * <a href=\"#api_nan_return_value\"><b><code>NanReturnValue</code></b></a>\n * <a href=\"#api_nan_return_undefined\"><b><code>NanReturnUndefined</code></b></a>\n * <a href=\"#api_nan_return_null\"><b><code>NanReturnNull</code></b></a>\n * <a href=\"#api_nan_return_empty_string\"><b><code>NanReturnEmptyString</code></b></a>\n * <a href=\"#api_nan_scope\"><b><code>NanScope</code></b></a>\n * <a href=\"#api_nan_escapable_scope\"><b><code>NanEscapableScope</code></b></a>\n * <a href=\"#api_nan_escape_scope\"><b><code>NanEscapeScope</code></b></a>\n * <a href=\"#api_nan_locker\"><b><code>NanLocker</code></b></a>\n * <a href=\"#api_nan_unlocker\"><b><code>NanUnlocker</code></b></a>\n * <a href=\"#api_nan_get_internal_field_pointer\"><b><code>NanGetInternalFieldPointer</code></b></a>\n * <a href=\"#api_nan_set_internal_field_pointer\"><b><code>NanSetInternalFieldPointer</code></b></a>\n * <a href=\"#api_nan_object_wrap_handle\"><b><code>NanObjectWrapHandle</code></b></a>\n * <del><a href=\"#api_nan_symbol\"><b><code>NanSymbol</code></b></a></del>\n * <a href=\"#api_nan_get_pointer_safe\"><b><code>NanGetPointerSafe</code></b></a>\n * <a href=\"#api_nan_set_pointer_safe\"><b><code>NanSetPointerSafe</code></b></a>\n * <a href=\"#api_nan_raw_string\"><b><code>NanRawString</code></b></a>\n * <a href=\"#api_nan_c_string\"><b><code>NanCString</code></b></a>\n * <a href=\"#api_nan_boolean_option_value\"><b><code>NanBooleanOptionValue</code></b></a>\n * <a href=\"#api_nan_uint32_option_value\"><b><code>NanUInt32OptionValue</code></b></a>\n * <a href=\"#api_nan_error\"><b><code>NanError</code></b>, <b><code>NanTypeError</code></b>, <b><code>NanRangeError</code></b></a>\n * <a href=\"#api_nan_throw_error\"><b><code>NanThrowError</code></b>, <b><code>NanThrowTypeError</code></b>, <b><code>NanThrowRangeError</code></b>, <b><code>NanThrowError(Handle<Value>)</code></b>, <b><code>NanThrowError(Handle<Value>, int)</code></b></a>\n * <a href=\"#api_nan_new_buffer_handle\"><b><code>NanNewBufferHandle(char *, size_t, FreeCallback, void *)</code></b>, <b><code>NanNewBufferHandle(char *, uint32_t)</code></b>, <b><code>NanNewBufferHandle(uint32_t)</code></b></a>\n * <a href=\"#api_nan_buffer_use\"><b><code>NanBufferUse(char *, uint32_t)</code></b></a>\n * <a href=\"#api_nan_new_context_handle\"><b><code>NanNewContextHandle</code></b></a>\n * <a href=\"#api_nan_get_current_context\"><b><code>NanGetCurrentContext</code></b></a>\n * <a href=\"#api_nan_has_instance\"><b><code>NanHasInstance</code></b></a>\n * <a href=\"#api_nan_dispose_persistent\"><b><code>NanDisposePersistent</code></b></a>\n * <a href=\"#api_nan_assign_persistent\"><b><code>NanAssignPersistent</code></b></a>\n * <a href=\"#api_nan_make_weak_persistent\"><b><code>NanMakeWeakPersistent</code></b></a>\n * <a href=\"#api_nan_set_template\"><b><code>NanSetTemplate</code></b></a>\n * <a href=\"#api_nan_set_prototype_template\"><b><code>NanSetPrototypeTemplate</code></b></a>\n * <a href=\"#api_nan_make_callback\"><b><code>NanMakeCallback</code></b></a>\n * <a href=\"#api_nan_compile_script\"><b><code>NanCompileScript</code></b></a>\n * <a href=\"#api_nan_run_script\"><b><code>NanRunScript</code></b></a>\n * <a href=\"#api_nan_adjust_external_memory\"><b><code>NanAdjustExternalMemory</code></b></a>\n * <a href=\"#api_nan_add_gc_epilogue_callback\"><b><code>NanAddGCEpilogueCallback</code></b></a>\n * <a href=\"#api_nan_add_gc_prologue_callback\"><b><code>NanAddGCPrologueCallback</code></b></a>\n * <a href=\"#api_nan_remove_gc_epilogue_callback\"><b><code>NanRemoveGCEpilogueCallback</code></b></a>\n * <a href=\"#api_nan_remove_gc_prologue_callback\"><b><code>NanRemoveGCPrologueCallback</code></b></a>\n * <a href=\"#api_nan_get_heap_statistics\"><b><code>NanGetHeapStatistics</code></b></a>\n * <a href=\"#api_nan_callback\"><b><code>NanCallback</code></b></a>\n * <a href=\"#api_nan_async_worker\"><b><code>NanAsyncWorker</code></b></a>\n * <a href=\"#api_nan_async_queue_worker\"><b><code>NanAsyncQueueWorker</code></b></a>\n\n<a name=\"api_nan_method\"></a>\n### NAN_METHOD(methodname)\n\nUse `NAN_METHOD` to define your V8 accessible methods:\n\n```c++\n// .h:\nclass Foo : public node::ObjectWrap {\n  ...\n\n  static NAN_METHOD(Bar);\n  static NAN_METHOD(Baz);\n}\n\n\n// .cc:\nNAN_METHOD(Foo::Bar) {\n  ...\n}\n\nNAN_METHOD(Foo::Baz) {\n  ...\n}\n```\n\nThe reason for this macro is because of the method signature change in 0.11:\n\n```c++\n// 0.10 and below:\nHandle<Value> name(const Arguments& args)\n\n// 0.11 and above\nvoid name(const FunctionCallbackInfo<Value>& args)\n```\n\nThe introduction of `FunctionCallbackInfo` brings additional complications:\n\n<a name=\"api_nan_getter\"></a>\n### NAN_GETTER(methodname)\n\nUse `NAN_GETTER` to declare your V8 accessible getters. You get a `Local<String>` `property` and an appropriately typed `args` object that can act like the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_GETTER`.\n\n<a name=\"api_nan_setter\"></a>\n### NAN_SETTER(methodname)\n\nUse `NAN_SETTER` to declare your V8 accessible setters. Same as `NAN_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name=\"api_nan_property_getter\"></a>\n### NAN_PROPERTY_GETTER(cbname)\nUse `NAN_PROPERTY_GETTER` to declare your V8 accessible property getters. You get a `Local<String>` `property` and an appropriately typed `args` object that can act similar to the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_GETTER`.\n\n<a name=\"api_nan_property_setter\"></a>\n### NAN_PROPERTY_SETTER(cbname)\nUse `NAN_PROPERTY_SETTER` to declare your V8 accessible property setters. Same as `NAN_PROPERTY_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name=\"api_nan_property_enumerator\"></a>\n### NAN_PROPERTY_ENUMERATOR(cbname)\nUse `NAN_PROPERTY_ENUMERATOR` to declare your V8 accessible property enumerators. You get an appropriately typed `args` object like the `args` argument to a `NAN_PROPERTY_GETTER` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_ENUMERATOR`.\n\n<a name=\"api_nan_property_deleter\"></a>\n### NAN_PROPERTY_DELETER(cbname)\nUse `NAN_PROPERTY_DELETER` to declare your V8 accessible property deleters. Same as `NAN_PROPERTY_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_DELETER`.\n\n<a name=\"api_nan_property_query\"></a>\n### NAN_PROPERTY_QUERY(cbname)\nUse `NAN_PROPERTY_QUERY` to declare your V8 accessible property queries. Same as `NAN_PROPERTY_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_QUERY`.\n\n<a name=\"api_nan_index_getter\"></a>\n### NAN_INDEX_GETTER(cbname)\nUse `NAN_INDEX_GETTER` to declare your V8 accessible index getters. You get a `uint32_t` `index` and an appropriately typed `args` object that can act similar to the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_GETTER`.\n\n<a name=\"api_nan_index_setter\"></a>\n### NAN_INDEX_SETTER(cbname)\nUse `NAN_INDEX_SETTER` to declare your V8 accessible index setters. Same as `NAN_INDEX_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name=\"api_nan_index_enumerator\"></a>\n### NAN_INDEX_ENUMERATOR(cbname)\nUse `NAN_INDEX_ENUMERATOR` to declare your V8 accessible index enumerators. You get an appropriately typed `args` object like the `args` argument to a `NAN_INDEX_GETTER` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_ENUMERATOR`.\n\n<a name=\"api_nan_index_deleter\"></a>\n### NAN_INDEX_DELETER(cbname)\nUse `NAN_INDEX_DELETER` to declare your V8 accessible index deleters. Same as `NAN_INDEX_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_DELETER`.\n\n<a name=\"api_nan_index_query\"></a>\n### NAN_INDEX_QUERY(cbname)\nUse `NAN_INDEX_QUERY` to declare your V8 accessible index queries. Same as `NAN_INDEX_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_QUERY`.\n\n<a name=\"api_nan_weak_callback\"></a>\n### NAN_WEAK_CALLBACK(cbname)\n\nUse `NAN_WEAK_CALLBACK` to define your V8 WeakReference callbacks. There is an argument object `const _NanWeakCallbackData<T, P> &data` allowing access to the weak object and the supplied parameter through its `GetValue` and `GetParameter` methods. You can even access the weak callback info object through the `GetCallbackInfo()`method, but you probably should not. `Revive()` keeps the weak object alive until the next GC round.\n\n```c++\nNAN_WEAK_CALLBACK(weakCallback) {\n  int *parameter = data.GetParameter();\n  NanMakeCallback(NanGetCurrentContext()->Global(), data.GetValue(), 0, NULL);\n  if ((*parameter)++ == 0) {\n    data.Revive();\n  } else {\n    delete parameter;\n  }\n}\n```\n\n<a name=\"api_nan_deprecated\"></a>\n### NAN_DEPRECATED\nDeclares a function as deprecated.\n\n```c++\nstatic NAN_DEPRECATED NAN_METHOD(foo) {\n  ...\n}\n```\n\n<a name=\"api_nan_inline\"></a>\n### NAN_INLINE\nInlines a function.\n\n```c++\nNAN_INLINE int foo(int bar) {\n  ...\n}\n```\n\n<a name=\"api_nan_new\"></a>\n### Local&lt;T&gt; NanNew&lt;T&gt;( ... )\n\nUse `NanNew` to construct almost all v8 objects and make new local handles.\n\n```c++\nLocal<String> s = NanNew<String>(\"value\");\n\n...\n\nPersistent<Object> o;\n\n...\n\nLocal<Object> lo = NanNew(o);\n\n```\n\n<a name=\"api_nan_undefined\"></a>\n### Local&lt;Primitive&gt; NanUndefined()\n\nUse instead of `Undefined()`\n\n<a name=\"api_nan_null\"></a>\n### Local&lt;Primitive&gt; NanNull()\n\nUse instead of `Null()`\n\n<a name=\"api_nan_true\"></a>\n### Local&lt;Boolean&gt; NanTrue()\n\nUse instead of `True()`\n\n<a name=\"api_nan_false\"></a>\n### Local&lt;Boolean&gt; NanFalse()\n\nUse instead of `False()`\n\n<a name=\"api_nan_return_value\"></a>\n### NanReturnValue(Handle&lt;Value&gt;)\n\nUse `NanReturnValue` when you want to return a value from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  ...\n\n  NanReturnValue(NanNew<String>(\"FooBar!\"));\n}\n```\n\nNo `return` statement required.\n\n<a name=\"api_nan_return_undefined\"></a>\n### NanReturnUndefined()\n\nUse `NanReturnUndefined` when you don't want to return anything from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnUndefined();\n}\n```\n\n<a name=\"api_nan_return_null\"></a>\n### NanReturnNull()\n\nUse `NanReturnNull` when you want to return `Null` from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnNull();\n}\n```\n\n<a name=\"api_nan_return_empty_string\"></a>\n### NanReturnEmptyString()\n\nUse `NanReturnEmptyString` when you want to return an empty `String` from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnEmptyString();\n}\n```\n\n<a name=\"api_nan_scope\"></a>\n### NanScope()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanScope()` necessary, use it in place of `HandleScope scope` when you do not wish to return handles (`Handle` or `Local`) to the surrounding scope (or in functions directly exposed to V8, as they do not return values in the normal sense):\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanScope();\n\n  NanReturnValue(NanNew<String>(\"FooBar!\"));\n}\n```\n\nThis method is not directly exposed to V8, nor does it return a handle, so it uses an unescapable scope:\n\n```c++\nbool Foo::Bar() {\n  NanScope();\n  \n  Local<Boolean> val = NanFalse();\n  ...\n  return val->Value();\n}\n```\n\n<a name=\"api_nan_escapable_scope\"></a>\n### NanEscapableScope()\n\nThe separation of handle scopes into escapable and inescapable scopes makes `NanEscapableScope()` necessary, use it in place of `HandleScope scope` when you later wish to return a handle (`Handle` or `Local`) from the scope, this is for internal functions not directly exposed to V8:\n\n```c++\nHandle<String> Foo::Bar() {\n  NanEscapableScope();\n\n  return NanEscapeScope(NanNew<String>(\"FooBar!\"));\n}\n```\n\n<a name=\"api_nan_escape_scope\"></a>\n### Local&lt;T&gt; NanEscapeScope(Handle&lt;T&gt; value);\nUse together with `NanEscapableScope` to escape the scope. Corresponds to `HandleScope::Close` or `EscapableHandleScope::Escape`.\n\n<a name=\"api_nan_locker\"></a>\n### NanLocker()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanLocker()` necessary, use it in place of `Locker locker`:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanLocker();\n  ...\n  NanUnlocker();\n}\n```\n\n<a name=\"api_nan_unlocker\"></a>\n### NanUnlocker()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanUnlocker()` necessary, use it in place of `Unlocker unlocker`:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanLocker();\n  ...\n  NanUnlocker();\n}\n```\n\n<a name=\"api_nan_get_internal_field_pointer\"></a>\n### void * NanGetInternalFieldPointer(Handle&lt;Object&gt;, int)\n\nGets a pointer to the internal field with at `index` from a V8 `Object` handle.\n\n```c++\nLocal<Object> obj;\n...\nNanGetInternalFieldPointer(obj, 0);\n```\n<a name=\"api_nan_set_internal_field_pointer\"></a>\n### void NanSetInternalFieldPointer(Handle&lt;Object&gt;, int, void *)\n\nSets the value of the internal field at `index` on a V8 `Object` handle.\n\n```c++\nstatic Persistent<Function> dataWrapperCtor;\n...\nLocal<Object> wrapper = NanNew(dataWrapperCtor)->NewInstance();\nNanSetInternalFieldPointer(wrapper, 0, this);\n```\n\n<a name=\"api_nan_object_wrap_handle\"></a>\n### Local&lt;Object&gt; NanObjectWrapHandle(Object)\n\nWhen you want to fetch the V8 object handle from a native object you've wrapped with Node's `ObjectWrap`, you should use `NanObjectWrapHandle`:\n\n```c++\nNanObjectWrapHandle(iterator)->Get(NanNew<String>(\"end\"))\n```\n\n<a name=\"api_nan_symbol\"></a>\n### <del>Local&lt;String&gt; NanSymbol(const char *)</del>\n\nDeprecated. Use `NanNew<String>` instead.\n<del>Use to create string symbol objects (i.e. `v8::String::NewSymbol(x)`), for getting and setting object properties, or names of objects.</del>\n\n```c++\nbool foo = false;\nif (obj->Has(NanNew<String>(\"foo\")))\n  foo = optionsObj->Get(NanNew<String>(\"foo\"))->BooleanValue()\n```\n\n<a name=\"api_nan_get_pointer_safe\"></a>\n### Type NanGetPointerSafe(Type *[, Type])\n\nA helper for getting values from optional pointers. If the pointer is `NULL`, the function returns the optional default value, which defaults to `0`.  Otherwise, the function returns the value the pointer points to.\n\n```c++\nchar *plugh(uint32_t *optional) {\n  char res[] = \"xyzzy\";\n  uint32_t param = NanGetPointerSafe<uint32_t>(optional, 0x1337);\n  switch (param) {\n    ...\n  }\n  NanSetPointerSafe<uint32_t>(optional, 0xDEADBEEF);\n}  \n```\n\n<a name=\"api_nan_set_pointer_safe\"></a>\n### bool NanSetPointerSafe(Type *, Type)\n\nA helper for setting optional argument pointers. If the pointer is `NULL`, the function simply returns `false`.  Otherwise, the value is assigned to the variable the pointer points to.\n\n```c++\nconst char *plugh(size_t *outputsize) {\n  char res[] = \"xyzzy\";\n  if !(NanSetPointerSafe<size_t>(outputsize, strlen(res) + 1)) {\n    ...\n  }\n\n  ...\n}\n```\n\n<a name=\"api_nan_raw_string\"></a>\n### void* NanRawString(Handle&lt;Value&gt;, enum Nan::Encoding, size_t *, void *, size_t, int)\n\nWhen you want to convert a V8 `String` to a `char*` buffer, use `NanRawString`. You have to supply an encoding as well as a pointer to a variable that will be assigned the number of bytes in the returned string. It is also possible to supply a buffer and its length to the function in order not to have a new buffer allocated. The final argument allows setting `String::WriteOptions`.\nJust remember that you'll end up with an object that you'll need to `delete[]` at some point unless you supply your own buffer:\n\n```c++\nsize_t count;\nvoid* decoded = NanRawString(args[1], Nan::BASE64, &count, NULL, 0, String::HINT_MANY_WRITES_EXPECTED);\n...\ndelete[] decoded;\n```\n\n<a name=\"api_nan_c_string\"></a>\n### char* NanCString(Handle&lt;Value&gt;, size_t *[, char *, size_t, int])\n\nWhen you want to convert a V8 `String` to a null-terminated C `char*` use `NanCString`. The resulting `char*` will be UTF-8-encoded, and you need to supply a pointer to a variable that will be assigned the number of bytes in the returned string. It is also possible to supply a buffer and its length to the function in order not to have a new buffer allocated. The final argument allows optionally setting `String::WriteOptions`, which default to `v8::String::NO_OPTIONS`.\nJust remember that you'll end up with an object that you'll need to `delete[]` at some point unless you supply your own buffer:\n\n```c++\nsize_t count;\nchar* name = NanCString(args[0], &count);\n...\ndelete[] name;\n```\n\n<a name=\"api_nan_boolean_option_value\"></a>\n### bool NanBooleanOptionValue(Handle&lt;Value&gt;, Handle&lt;String&gt;[, bool])\n\nWhen you have an \"options\" object that you need to fetch properties from, boolean options can be fetched with this pair. They check first if the object exists (`IsEmpty`), then if the object has the given property (`Has`) then they get and convert/coerce the property to a `bool`.\n\nThe optional last parameter is the *default* value, which is `false` if left off:\n\n```c++\n// `foo` is false unless the user supplies a truthy value for it\nbool foo = NanBooleanOptionValue(optionsObj, NanNew<String>(\"foo\"));\n// `bar` is true unless the user supplies a falsy value for it\nbool bar = NanBooleanOptionValueDefTrue(optionsObj, NanNew<String>(\"bar\"), true);\n```\n\n<a name=\"api_nan_uint32_option_value\"></a>\n### uint32_t NanUInt32OptionValue(Handle&lt;Value&gt;, Handle&lt;String&gt;, uint32_t)\n\nSimilar to `NanBooleanOptionValue`, use `NanUInt32OptionValue` to fetch an integer option from your options object. Can be any kind of JavaScript `Number` and it will be coerced to an unsigned 32-bit integer.\n\nRequires all 3 arguments as a default is not optional:\n\n```c++\nuint32_t count = NanUInt32OptionValue(optionsObj, NanNew<String>(\"count\"), 1024);\n```\n\n<a name=\"api_nan_error\"></a>\n### NanError(message), NanTypeError(message), NanRangeError(message)\n\nFor making `Error`, `TypeError` and `RangeError` objects.\n\n```c++\nLocal<Value> res = NanError(\"you must supply a callback argument\");\n```\n\n<a name=\"api_nan_throw_error\"></a>\n### NanThrowError(message), NanThrowTypeError(message), NanThrowRangeError(message), NanThrowError(Local&lt;Value&gt;), NanThrowError(Local&lt;Value&gt;, int)\n\nFor throwing `Error`, `TypeError` and `RangeError` objects.\n\n```c++\nNanThrowError(\"you must supply a callback argument\");\n```\n\nCan also handle any custom object you may want to throw. If used with the error code argument, it will add the supplied error code to the error object as a property called `code`.\n\n<a name=\"api_nan_new_buffer_handle\"></a>\n### Local&lt;Object&gt; NanNewBufferHandle(char *, uint32_t), Local&lt;Object&gt; NanNewBufferHandle(uint32_t)\n\nThe `Buffer` API has changed a little in Node 0.11, this helper provides consistent access to `Buffer` creation:\n\n```c++\nNanNewBufferHandle((char*)value.data(), value.size());\n```\n\nCan also be used to initialize a `Buffer` with just a `size` argument.\n\nCan also be supplied with a `NanFreeCallback` and a hint for the garbage collector.\n\n<a name=\"api_nan_buffer_use\"></a>\n### Local&lt;Object&gt; NanBufferUse(char*, uint32_t)\n\n`Buffer::New(char*, uint32_t)` prior to 0.11 would make a copy of the data.\nWhile it was possible to get around this, it required a shim by passing a\ncallback. So the new API `Buffer::Use(char*, uint32_t)` was introduced to remove\nneeding to use this shim.\n\n`NanBufferUse` uses the `char*` passed as the backing data, and will free the\nmemory automatically when the weak callback is called. Keep this in mind, as\ncareless use can lead to \"double free or corruption\" and other cryptic failures.\n\n<a name=\"api_nan_has_instance\"></a>\n### bool NanHasInstance(Persistent&lt;FunctionTemplate&gt;&, Handle&lt;Value&gt;)\n\nCan be used to check the type of an object to determine it is of a particular class you have already defined and have a `Persistent<FunctionTemplate>` handle for.\n\n<a name=\"api_nan_new_context_handle\"></a>\n### Local&lt;Context&gt; NanNewContextHandle([ExtensionConfiguration*, Handle&lt;ObjectTemplate&gt;, Handle&lt;Value&gt;])\nCreates a new `Local<Context>` handle.\n\n```c++\nLocal<FunctionTemplate> ftmpl = NanNew<FunctionTemplate>();\nLocal<ObjectTemplate> otmpl = ftmpl->InstanceTemplate();\nLocal<Context> ctx =  NanNewContextHandle(NULL, otmpl);\n```\n\n<a name=\"api_nan_get_current_context\"></a>\n### Local&lt;Context&gt; NanGetCurrentContext()\n\nGets the current context.\n\n```c++\nLocal<Context> ctx = NanGetCurrentContext();\n```\n\n<a name=\"api_nan_dispose_persistent\"></a>\n### void NanDisposePersistent(Persistent&lt;T&gt; &)\n\nUse `NanDisposePersistent` to dispose a `Persistent` handle.\n\n```c++\nNanDisposePersistent(persistentHandle);\n```\n\n<a name=\"api_nan_assign_persistent\"></a>\n### NanAssignPersistent(handle, object)\n\nUse `NanAssignPersistent` to assign a non-`Persistent` handle to a `Persistent` one. You can no longer just declare a `Persistent` handle and assign directly to it later, you have to `Reset` it in Node 0.11, so this makes it easier.\n\nIn general it is now better to place anything you want to protect from V8's garbage collector as properties of a generic `Object` and then assign that to a `Persistent`. This works in older versions of Node also if you use `NanAssignPersistent`:\n\n```c++\nPersistent<Object> persistentHandle;\n\n...\n\nLocal<Object> obj = NanNew<Object>();\nobj->Set(NanNew<String>(\"key\"), keyHandle); // where keyHandle might be a Local<String>\nNanAssignPersistent(persistentHandle, obj)\n```\n\n<a name=\"api_nan_make_weak_persistent\"></a>\n### _NanWeakCallbackInfo&lt;T, P&gt;* NanMakeWeakPersistent(Handle&lt;T&gt;, P*, _NanWeakCallbackInfo&lt;T, P&gt;::Callback)\n\nCreates a weak persistent handle with the supplied parameter and `NAN_WEAK_CALLBACK`.\n\n```c++\nNAN_WEAK_CALLBACK(weakCallback) {\n\n...\n\n}\n\nLocal<Function> func;\n\n...\n\nint *parameter = new int(0);\nNanMakeWeakPersistent(func, parameter, &weakCallback);\n```\n\n<a name=\"api_nan_set_template\"></a>\n### NanSetTemplate(templ, name, value)\n\nUse to add properties on object and function templates.\n\n<a name=\"api_nan_set_prototype_template\"></a>\n### NanSetPrototypeTemplate(templ, name, value)\n\nUse to add prototype properties on function templates.\n\n<a name=\"api_nan_make_callback\"></a>\n### NanMakeCallback(target, func, argc, argv)\n\nUse instead of `node::MakeCallback` to call javascript functions. This is the only proper way of calling functions.\n\n<a name=\"api_nan_compile_script\"></a>\n### NanCompileScript(Handle<String> s [, const ScriptOrigin&amp; origin])\n\nUse to create new scripts bound to the current context.\n\n<a name=\"api_nan_run_script\"></a>\n### NanRunScript(script)\n\nUse to run both bound and unbound scripts.\n\n<a name=\"api_nan_adjust_external_memory\"></a>\n### NanAdjustExternalMemory(int change_in_bytes)\n\nSimply does `AdjustAmountOfExternalAllocatedMemory`\n\n<a name=\"api_nan_add_gc_epilogue_callback\"></a>\n### NanAddGCEpilogueCallback(GCEpilogueCallback callback, GCType gc_type_filter=kGCTypeAll)\n\nSimply does `AddGCEpilogueCallback`\n\n<a name=\"api_nan_add_gc_prologue_callback\"></a>\n### NanAddGCPrologueCallback(GCPrologueCallback callback, GCType gc_type_filter=kGCTypeAll)\n\nSimply does `AddGCPrologueCallback`\n\n<a name=\"api_nan_remove_gc_epilogue_callback\"></a>\n### NanRemoveGCEpilogueCallback(GCEpilogueCallback callback)\n\nSimply does `RemoveGCEpilogueCallback`\n\n<a name=\"api_nan_remove_gc_prologue_callback\"></a>\n### NanRemoveGCPrologueCallback(GCPrologueCallback callback)\n\nSimply does `RemoveGCPrologueCallback`\n\n<a name=\"api_nan_get_heap_statistics\"></a>\n### NanGetHeapStatistics(HeapStatistics *heap_statistics)\n\nSimply does `GetHeapStatistics`\n\n<a name=\"api_nan_callback\"></a>\n### NanCallback\n\nBecause of the difficulties imposed by the changes to `Persistent` handles in V8 in Node 0.11, creating `Persistent` versions of your `Handle<Function>` is annoyingly tricky. `NanCallback` makes it easier by taking your handle, making it persistent until the `NanCallback` is deleted and even providing a handy `Call()` method to fetch and execute the callback `Function`.\n\n```c++\nLocal<Function> callbackHandle = args[0].As<Function>();\nNanCallback *callback = new NanCallback(callbackHandle);\n// pass `callback` around and it's safe from GC until you:\ndelete callback;\n```\n\nYou can execute the callback like so:\n\n```c++\n// no arguments:\ncallback->Call(0, NULL);\n\n// an error argument:\nHandle<Value> argv[] = {\n  NanError(NanNew<String>(\"fail!\"))\n};\ncallback->Call(1, argv);\n\n// a success argument:\nHandle<Value> argv[] = {\n  NanNull(),\n  NanNew<String>(\"w00t!\")\n};\ncallback->Call(2, argv);\n```\n\n`NanCallback` also has a `Local<Function> GetCallback()` method that you can use\nto fetch a local handle to the underlying callback function, as well  as a\n`void SetFunction(Handle<Function>)` for setting the callback on the\n`NanCallback`. You can check if a `NanCallback` is empty with the `bool IsEmpty()` method. Additionally a generic constructor is available for using\n`NanCallback` without performing heap allocations.\n\n<a name=\"api_nan_async_worker\"></a>\n### NanAsyncWorker\n\n`NanAsyncWorker` is an abstract class that you can subclass to have much of the annoying async queuing and handling taken care of for you. It can even store arbitrary V8 objects for you and have them persist while the async work is in progress.\n\nSee a rough outline of the implementation:\n\n```c++\nclass NanAsyncWorker {\npublic:\n  NanAsyncWorker (NanCallback *callback);\n\n  // Clean up persistent handles and delete the *callback\n  virtual ~NanAsyncWorker ();\n\n  // Check the `ErrorMessage()` and call HandleOKCallback()\n  // or HandleErrorCallback depending on whether it has been set or not\n  virtual void WorkComplete ();\n\n  // You must implement this to do some async work. If there is an\n  // error then use `SetErrorMessage()` to set an error message and the callback will\n  // be passed that string in an Error object\n  virtual void Execute ();\n\n  // Save a V8 object in a Persistent handle to protect it from GC\n  void SaveToPersistent(const char *key, Local<Object> &obj);\n\n  // Fetch a stored V8 object (don't call from within `Execute()`)\n  Local<Object> GetFromPersistent(const char *key);\n  \n  // Get the error message (or NULL)\n  const char *ErrorMessage();\n  \n  // Set an error message\n  void SetErrorMessage(const char *msg);\n  \nprotected:\n  // Default implementation calls the callback function with no arguments.\n  // Override this to return meaningful data\n  virtual void HandleOKCallback ();\n\n  // Default implementation calls the callback function with an Error object\n  // wrapping the `errmsg` string\n  virtual void HandleErrorCallback ();\n};\n```\n\n<a name=\"api_nan_async_queue_worker\"></a>\n### NanAsyncQueueWorker(NanAsyncWorker *)\n\n`NanAsyncQueueWorker` will run a `NanAsyncWorker` asynchronously via libuv. Both the *execute* and *after_work* steps are taken care of for you&mdash;most of the logic for this is embedded in `NanAsyncWorker`.\n\n### Contributors\n\nNAN is only possible due to the excellent work of the following contributors:\n\n<table><tbody>\n<tr><th align=\"left\">Rod Vagg</th><td><a href=\"https://github.com/rvagg\">GitHub/rvagg</a></td><td><a href=\"http://twitter.com/rvagg\">Twitter/@rvagg</a></td></tr>\n<tr><th align=\"left\">Benjamin Byholm</th><td><a href=\"https://github.com/kkoopa/\">GitHub/kkoopa</a></td><td>-</td></tr>\n<tr><th align=\"left\">Trevor Norris</th><td><a href=\"https://github.com/trevnorris\">GitHub/trevnorris</a></td><td><a href=\"http://twitter.com/trevnorris\">Twitter/@trevnorris</a></td></tr>\n<tr><th align=\"left\">Nathan Rajlich</th><td><a href=\"https://github.com/TooTallNate\">GitHub/TooTallNate</a></td><td><a href=\"http://twitter.com/TooTallNate\">Twitter/@TooTallNate</a></td></tr>\n<tr><th align=\"left\">Brett Lawson</th><td><a href=\"https://github.com/brett19\">GitHub/brett19</a></td><td><a href=\"http://twitter.com/brett19x\">Twitter/@brett19x</a></td></tr>\n<tr><th align=\"left\">Ben Noordhuis</th><td><a href=\"https://github.com/bnoordhuis\">GitHub/bnoordhuis</a></td><td><a href=\"http://twitter.com/bnoordhuis\">Twitter/@bnoordhuis</a></td></tr>\n</tbody></table>\n\nLicence &amp; copyright\n-----------------------\n\nCopyright (c) 2014 NAN contributors (listed above).\n\nNative Abstractions for Node.js is licensed under an MIT +no-false-attribs license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.2.0","_shasum":"9c4d63ce9e4f8e95de2d574e18f7925554a8a8ef","_from":"nan@1.2.0","_resolved":"https://registry.npmjs.org/nan/-/nan-1.2.0.tgz","scripts":{}},"mtime":1415897192000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-crypt/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-crypt/package.json","data":{"name":"apache-crypt","description":"Node.js module for Apache style password encryption using crypt(3).","version":"1.0.6","author":{"name":"Gevorg Harutyunyan","url":"http://github.com/gevorg"},"maintainers":[{"name":"gevorg","email":"gevorg.ha@gmail.com"}],"homepage":"http://github.com/gevorg/apache-crypt","repository":{"type":"git","url":"http://github.com/gevorg/apache-crypt.git"},"main":"./lib/apache-crypt.js","licenses":[{"type":"MIT","url":"http://github.com/gevorg/apache-crypt/blob/master/LICENSE"}],"os":["!win32"],"bugs":{"url":"http://github.com/gevorg/apache-crypt/issues"},"devDependencies":{"nodeunit":"0.9.0"},"engines":{"node":">=0.4.1"},"scripts":{"test":"node ./node_modules/nodeunit/bin/nodeunit tests","install":"node-gyp rebuild"},"keywords":["node","apache","crypt","password","htpasswd"],"dependencies":{"nan":"1.2.0"},"gypfile":true,"readme":"# apache-crypt\n[Node.js](http://nodejs.org/) package for Apache style password encryption using crypt(3).\n\n[![Build Status](https://api.travis-ci.org/gevorg/apache-crypt.png)](https://travis-ci.org/gevorg/apache-crypt)\n[![Dependency Status](https://david-dm.org/gevorg/apache-crypt.png)](https://david-dm.org/gevorg/apache-crypt)\n\n## Installation (DOES NOT WORK ON WINDOWS)\n\nVia git (or downloaded tarball):\n\n```bash\n$ git clone git://github.com/gevorg/apache-crypt.git\n```\nVia [npm](http://npmjs.org/):\n\n```bash\n$ npm install apache-crypt\n```\n\n## Usage\n\n```javascript\nvar crypt = require(\"apache-crypt\");\n\n// Encrypting password using auto-generated 2 char salt.\nvar encryptedPassword = crypt(\"mypass\");\n\n// Should print true.\nconsole.log(crypt(\"mypass\", encryptedPassword) == encryptedPassword);\n// Should print false.\nconsole.log(crypt(\"notmypass\", encryptedPassword) == encryptedPassword);\n```\n\n## Running tests\n\nIt uses [nodeunit](https://github.com/caolan/nodeunit/), so just run following command in package directory:\n\n```bash\n$ npm test\n```\n\n## Issues\n\nYou can find list of issues using **[this link](http://github.com/gevorg/apache-crypt/issues)**.\n\n## Requirements\n\n - **[Node.js](http://nodejs.org)** - Event-driven I/O server-side JavaScript       environment based on V8.\n - **[npm](http://npmjs.org)** - Package manager. Installs, publishes and manages   node programs.\n - **[node-gyp](https://github.com/TooTallNate/node-gyp)** - Node.js native addon build tool.\n\n## Development dependencies\n\n - **[nodeunit](https://github.com/caolan/nodeunit/)** - Easy unit testing in node.js and the browser, based on the assert module.\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2014 Gevorg Harutyunyan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","_id":"apache-crypt@1.0.6","_shasum":"873bc884bcc4a98592e0c2f4867327a9774b9792","_from":"apache-crypt@1.0.6","_resolved":"https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.0.6.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-crypt/tests/test-apache-crypt.js","id":"apache-crypt/tests/test-apache-crypt.js","options":{},"isModule":true,"requiredModules":["apache-crypt/lib/apache-crypt.js"],"mtime":1402064322000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-md5/lib/apache-md5.js","id":"apache-md5/lib/apache-md5.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1388265913000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-md5/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-md5/package.json","data":{"name":"apache-md5","description":"Node.js module for Apache style password encryption using md5.","version":"1.0.0","author":{"name":"Gevorg Harutyunyan","url":"http://github.com/gevorg"},"maintainers":[{"name":"gevorg","email":"gevorg.ha@gmail.com"}],"homepage":"http://github.com/gevorg/apache-md5","repository":{"type":"git","url":"http://github.com/gevorg/apache-md5.git"},"main":"./lib/apache-md5.js","licenses":[{"type":"MIT","url":"http://github.com/gevorg/apache-md5/blob/master/LICENSE"}],"bugs":{"url":"http://github.com/gevorg/apache-md5/issues"},"devDependencies":{"nodeunit":"0.8.1"},"engines":{"node":">=0.4.1"},"scripts":{"test":"./node_modules/nodeunit/bin/nodeunit tests/*"},"keywords":["node","apache","md5","password","htpasswd"],"readme":"# apache-md5\n[Node.js](http://nodejs.org/) package for Apache style password encryption using md5..\n\n[![Build Status](https://api.travis-ci.org/gevorg/apache-md5.png)](https://travis-ci.org/gevorg/apache-md5)\n[![Dependency Status](https://david-dm.org/gevorg/apache-md5.png)](https://david-dm.org/gevorg/apache-md5)\n\n## Installation\n\nVia git (or downloaded tarball):\n\n```bash\n$ git clone git://github.com/gevorg/apache-md5.git\n```\nVia [npm](http://npmjs.org/):\n\n```bash\n$ npm install apache-md5\n```\n\n## Usage\n\n```javascript\nvar md5 = require(\"apache-md5\");\n\nvar encryptedPassword = md5(\"mypass\"); // Encrypting password using apache's md5 algorithm.\n\nconsole.log(md5(\"mypass\", encryptedPassword) == encryptedPassword); // Should print true.\nconsole.log(md5(\"notmypass\", encryptedPassword) == encryptedPassword); // Should print false.\n...\n```\n\n## Running tests\n\nIt uses [nodeunit](https://github.com/caolan/nodeunit/), so just run following command in package directory:\n\n```bash\n$ npm test\n```\n\n## Issues\n\nYou can find list of issues using **[this link](http://github.com/gevorg/apache-md5/issues)**.\n\n## Requirements\n\n - **[Node.js](http://nodejs.org)** - Event-driven I/O server-side JavaScript       environment based on V8.\n - **[npm](http://npmjs.org)** - Package manager. Installs, publishes and manages   node programs.\n\n## Development dependencies\n\n - **[nodeunit](https://github.com/caolan/nodeunit/)** - Easy unit testing in node.js and the browser, based on the assert module.\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2013 Gevorg Harutyunyan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","_id":"apache-md5@1.0.0","_shasum":"344bb74553de765028de51737f1073ccfcf56c5d","_from":"apache-md5@1.0.0","_resolved":"https://registry.npmjs.org/apache-md5/-/apache-md5-1.0.0.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/apache-md5/tests/test-apache-md5.js","id":"apache-md5/tests/test-apache-md5.js","options":{},"isModule":true,"requiredModules":["apache-md5/lib/apache-md5.js"],"mtime":1388266156000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/commander/index.js","id":"commander/index.js","options":{},"isModule":true,"requiredModules":["events","child_process","fs","path"],"mtime":1374195164000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/commander/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/commander/package.json","data":{"name":"commander","version":"2.0.0","description":"the complete solution for node.js command-line programs","keywords":["command","option","parser","prompt","stdin"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"repository":{"type":"git","url":"https://github.com/visionmedia/commander.js.git"},"devDependencies":{"should":">= 0.0.1"},"scripts":{"test":"make test"},"main":"index","engines":{"node":">= 0.6.x"},"readme":"# Commander.js\n\n  The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/visionmedia/commander).\n\n [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n\n## Installation\n\n    $ npm install commander\n\n## Option parsing\n\n Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require('commander');\n\nprogram\n  .version('0.0.1')\n  .option('-p, --peppers', 'Add peppers')\n  .option('-P, --pineapple', 'Add pineapple')\n  .option('-b, --bbq', 'Add bbq sauce')\n  .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')\n  .parse(process.argv);\n\nconsole.log('you ordered a pizza with:');\nif (program.peppers) console.log('  - peppers');\nif (program.pineapple) console.log('  - pineapple');\nif (program.bbq) console.log('  - bbq');\nconsole.log('  - %s cheese', program.cheese);\n```\n\n Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as \"--template-engine\" are camel-cased, becoming `program.templateEngine` etc.\n\n## Automated --help\n\n The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n\n```  \n $ ./examples/pizza --help\n\n   Usage: pizza [options]\n\n   Options:\n\n     -V, --version        output the version number\n     -p, --peppers        Add peppers\n     -P, --pineapple      Add pineapple\n     -b, --bbq            Add bbq sauce\n     -c, --cheese <type>  Add the specified type of cheese [marble]\n     -h, --help           output usage information\n\n```\n\n## Coercion\n\n```js\nfunction range(val) {\n  return val.split('..').map(Number);\n}\n\nfunction list(val) {\n  return val.split(',');\n}\n\nprogram\n  .version('0.0.1')\n  .usage('[options] <file ...>')\n  .option('-i, --integer <n>', 'An integer argument', parseInt)\n  .option('-f, --float <n>', 'A float argument', parseFloat)\n  .option('-r, --range <a>..<b>', 'A range', range)\n  .option('-l, --list <items>', 'A list', list)\n  .option('-o, --optional [value]', 'An optional value')\n  .parse(process.argv);\n\nconsole.log(' int: %j', program.integer);\nconsole.log(' float: %j', program.float);\nconsole.log(' optional: %j', program.optional);\nprogram.range = program.range || [];\nconsole.log(' range: %j..%j', program.range[0], program.range[1]);\nconsole.log(' list: %j', program.list);\nconsole.log(' args: %j', program.args);\n```\n\n## Custom help\n\n You can display arbitrary `-h, --help` information\n by listening for \"--help\". Commander will automatically\n exit once you are done so that the remainder of your program\n does not execute causing undesired behaviours, for example\n in the following executable \"stuff\" will not output when\n `--help` is used.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require('../');\n\nfunction list(val) {\n  return val.split(',').map(Number);\n}\n\nprogram\n  .version('0.0.1')\n  .option('-f, --foo', 'enable some foo')\n  .option('-b, --bar', 'enable some bar')\n  .option('-B, --baz', 'enable some baz');\n\n// must be before .parse() since\n// node's emit() is immediate\n\nprogram.on('--help', function(){\n  console.log('  Examples:');\n  console.log('');\n  console.log('    $ custom-help --help');\n  console.log('    $ custom-help -h');\n  console.log('');\n});\n\nprogram.parse(process.argv);\n\nconsole.log('stuff');\n```\n\nyielding the following help output:\n\n```\n\nUsage: custom-help [options]\n\nOptions:\n\n  -h, --help     output usage information\n  -V, --version  output the version number\n  -f, --foo      enable some foo\n  -b, --bar      enable some bar\n  -B, --baz      enable some baz\n\nExamples:\n\n  $ custom-help --help\n  $ custom-help -h\n\n```\n\n## .outputHelp()\n\n  Output help information without exiting.\n\n## .help()\n\n  Output help information and exit immediately.\n\n## Links\n\n - [API documentation](http://visionmedia.github.com/commander.js/)\n - [ascii tables](https://github.com/LearnBoost/cli-table)\n - [progress bars](https://github.com/visionmedia/node-progress)\n - [more progress bars](https://github.com/substack/node-multimeter)\n - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/commander.js/issues"},"homepage":"https://github.com/visionmedia/commander.js","_id":"commander@2.0.0","_shasum":"d1b86f901f8b64bd941bdeadaf924530393be928","_from":"commander@2.0.0","_resolved":"https://registry.npmjs.org/commander/-/commander-2.0.0.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/add-properties.js","id":"prompt/examples/add-properties.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/existing-properties.js","id":"prompt/examples/existing-properties.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/history.js","id":"prompt/examples/history.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/nested-properties-prompt.js","id":"prompt/examples/nested-properties-prompt.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/old-schema.js","id":"prompt/examples/old-schema.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/override-validation.js","id":"prompt/examples/override-validation.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js","optimist/index.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/password.js","id":"prompt/examples/password.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/prompt-override.js","id":"prompt/examples/prompt-override.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js","optimist/index.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/property-prompt.js","id":"prompt/examples/property-prompt.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/simple-prompt.js","id":"prompt/examples/simple-prompt.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/examples/yes-or-no-prompt.js","id":"prompt/examples/yes-or-no-prompt.js","options":{},"isModule":true,"requiredModules":["prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/lib/prompt.js","id":"prompt/lib/prompt.js","options":{},"isModule":true,"requiredModules":["events","readline","utile/lib/index.js","read/lib/read.js","revalidator/lib/revalidator.js","winston/lib/winston.js","pkginfo/lib/pkginfo.js"],"mtime":1372808789000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/all-properties.js","id":"examples/all-properties.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/array-argument.js","id":"examples/array-argument.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/multiple-properties.js","id":"examples/multiple-properties.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/object-argument.js","id":"examples/object-argument.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/package.json","data":{"name":"simple-app","description":"A test fixture for pkginfo","version":"0.1.0","author":"Charlie Robbins <charlie.robbins@gmail.com>","keywords":["test","fixture"],"main":"./index.js","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"}},"mtime":1358492246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/single-property.js","id":"examples/single-property.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/subdir/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/subdir/package.json","data":{"name":"simple-app-subdir","description":"A test fixture for pkginfo","version":"0.1.0","author":"Charlie Robbins <charlie.robbins@gmail.com>","keywords":["test","fixture"],"main":"./index.js","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"},"subdironly":"true"},"mtime":1358492402000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/examples/target-dir.js","id":"examples/target-dir.js","options":{},"isModule":true,"requiredModules":["util/util.js","path","pkginfo/lib/pkginfo.js"],"mtime":1358492402000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/lib/pkginfo.js","id":"pkginfo/lib/pkginfo.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1358492402000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/package.json","data":{"name":"pkginfo","version":"0.3.0","description":"An easy way to expose properties on a module from a package.json","author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"repository":{"type":"git","url":"http://github.com/indexzero/node-pkginfo.git"},"keywords":["info","tools","package.json"],"devDependencies":{"vows":"0.7.x"},"main":"./lib/pkginfo","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"},"readme":"# node-pkginfo\n\nAn easy way to expose properties on a module from a package.json\n\n## Installation\n\n### Installing npm (node package manager)\n```\n  curl http://npmjs.org/install.sh | sh\n```\n\n### Installing pkginfo\n```\n  [sudo] npm install pkginfo\n```\n\n## Motivation\nHow often when writing node.js modules have you written the following line(s) of code? \n\n* Hard code your version string into your code\n\n``` js\n  exports.version = '0.1.0';\n```\n\n* Programmatically expose the version from the package.json\n\n``` js\n  exports.version = JSON.parse(fs.readFileSync('/path/to/package.json', 'utf8')).version;\n```\n\nIn other words, how often have you wanted to expose basic information from your package.json onto your module programmatically? **WELL NOW YOU CAN!**\n\n## Usage\n\nUsing `pkginfo` is idiot-proof, just require and invoke it. \n\n``` js\n  var pkginfo = require('pkginfo')(module);\n  \n  console.dir(module.exports);\n```\n\nBy invoking the `pkginfo` module all of the properties in your `package.json` file will be automatically exposed on the callee module (i.e. the parent module of `pkginfo`). \n\nHere's a sample of the output:\n\n```\n  { name: 'simple-app',\n    description: 'A test fixture for pkginfo',\n    version: '0.1.0',\n    author: 'Charlie Robbins <charlie.robbins@gmail.com>',\n    keywords: [ 'test', 'fixture' ],\n    main: './index.js',\n    scripts: { test: 'vows test/*-test.js --spec' },\n    engines: { node: '>= 0.4.0' } }\n```\n\n### Expose specific properties\nIf you don't want to expose **all** properties on from your `package.json` on your module then simple pass those properties to the `pkginfo` function:\n\n``` js\n  var pkginfo = require('pkginfo')(module, 'version', 'author');\n  \n  console.dir(module.exports);\n```\n\n```\n  { version: '0.1.0',\n    author: 'Charlie Robbins <charlie.robbins@gmail.com>' }\n```\n\nIf you're looking for further usage see the [examples][0] included in this repository. \n\n## Run Tests\nTests are written in [vows][1] and give complete coverage of all APIs.\n\n```\n  vows test/*-test.js --spec\n```\n\n[0]: https://github.com/indexzero/node-pkginfo/tree/master/examples\n[1]: http://vowsjs.org\n\n#### Author: [Charlie Robbins](http://nodejitsu.com)\n#### License: MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/indexzero/node-pkginfo/issues"},"homepage":"https://github.com/indexzero/node-pkginfo","_id":"pkginfo@0.3.0","_from":"pkginfo@0.x.x"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/pkginfo/test/pkginfo-test.js","id":"pkginfo/test/pkginfo-test.js","options":{},"isModule":true,"requiredModules":["assert","child_process","fs","path","vows","pkginfo/lib/pkginfo.js"],"mtime":1358492402000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/example/example.js","id":"read/example/example.js","options":{},"isModule":true,"requiredModules":["read/lib/read.js"],"mtime":1343115864000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/lib/read.js","id":"read/lib/read.js","options":{},"isModule":true,"requiredModules":["readline","mute-stream/mute.js"],"mtime":1373852733000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/node_modules/mute-stream/mute.js","id":"mute-stream/mute.js","options":{},"isModule":true,"requiredModules":["stream"],"mtime":1373850611000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/node_modules/mute-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/node_modules/mute-stream/package.json","data":{"name":"mute-stream","version":"0.0.4","main":"mute.js","directories":{"test":"test"},"devDependencies":{"tap":"~0.2.5"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/mute-stream"},"keywords":["mute","stream","pipe"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","description":"Bytes go in, but they don't come out (when muted).","readme":"# mute-stream\n\nBytes go in, but they don't come out (when muted).\n\nThis is a basic pass-through stream, but when muted, the bytes are\nsilently dropped, rather than being passed through.\n\n## Usage\n\n```javascript\nvar MuteStream = require('mute-stream')\n\nvar ms = new MuteStream(options)\n\nms.pipe(process.stdout)\nms.write('foo') // writes 'foo' to stdout\nms.mute()\nms.write('bar') // does not write 'bar'\nms.unmute()\nms.write('baz') // writes 'baz' to stdout\n\n// can also be used to mute incoming data\nvar ms = new MuteStream\ninput.pipe(ms)\n\nms.on('data', function (c) {\n  console.log('data: ' + c)\n})\n\ninput.emit('data', 'foo') // logs 'foo'\nms.mute()\ninput.emit('data', 'bar') // does not log 'bar'\nms.unmute()\ninput.emit('data', 'baz') // logs 'baz'\n```\n\n## Options\n\nAll options are optional.\n\n* `replace` Set to a string to replace each character with the\n  specified string when muted.  (So you can show `****` instead of the\n  password, for example.)\n\n* `prompt` If you are using a replacement char, and also using a\n  prompt with a readline stream (as for a `Password: *****` input),\n  then specify what the prompt is so that backspace will work\n  properly.  Otherwise, pressing backspace will overwrite the prompt\n  with the replacement character, which is weird.\n\n## ms.mute()\n\nSet `muted` to `true`.  Turns `.write()` into a no-op.\n\n## ms.unmute()\n\nSet `muted` to `false`\n\n## ms.isTTY\n\nTrue if the pipe destination is a TTY, or if the incoming pipe source is\na TTY.\n\n## Other stream methods...\n\nThe other standard readable and writable stream methods are all\navailable.  The MuteStream object acts as a facade to its pipe source\nand destination.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/mute-stream/issues"},"homepage":"https://github.com/isaacs/mute-stream","_id":"mute-stream@0.0.4","_shasum":"a9219960a6d5d5d046597aee51252c6655f7177e","_from":"mute-stream@~0.0.4","_resolved":"https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/node_modules/mute-stream/test/basic.js","id":"mute-stream/test/basic.js","options":{},"isModule":true,"requiredModules":["stream","tap","mute-stream/mute.js"],"mtime":1358447090000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/package.json","data":{"name":"read","version":"1.0.5","main":"lib/read.js","dependencies":{"mute-stream":"~0.0.4"},"devDependencies":{"tap":"*"},"engines":{"node":">=0.8"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"description":"read(1) for node programs","repository":{"type":"git","url":"git://github.com/isaacs/read.git"},"license":"BSD","scripts":{"test":"tap test/*.js"},"readme":"## read\n\nFor reading user input from stdin.\n\nSimilar to the `readline` builtin's `question()` method, but with a\nfew more features.\n\n## USAGE\n\n```javascript\nvar read = require(\"read\")\nread(options, callback)\n```\n\nThe callback gets called with either the user input, or the default\nspecified, or an error, as `callback(error, result, isDefault)`\nnode style.\n\n## OPTIONS\n\nEvery option is optional.\n\n* `prompt` What to write to stdout before reading input.\n* `silent` Don't echo the output as the user types it.\n* `replace` Replace silenced characters with the supplied character value.\n* `timeout` Number of ms to wait for user input before giving up.\n* `default` The default value if the user enters nothing.\n* `edit` Allow the user to edit the default value.\n* `terminal` Treat the output as a TTY, whether it is or not.\n* `input` Readable stream to get input data from. (default `process.stdin`)\n* `output` Writeable stream to write prompts to. (default: `process.stdout`)\n\nIf silent is true, and the input is a TTY, then read will set raw\nmode, and read character by character.\n\n## COMPATIBILITY\n\nThis module works sort of with node 0.6.  It does not work with node\nversions less than 0.6.  It is best on node 0.8.\n\nOn node version 0.6, it will remove all listeners on the input\nstream's `data` and `keypress` events, because the readline module did\nnot fully clean up after itself in that version of node, and did not\nmake it possible to clean up after it in a way that has no potential\nfor side effects.\n\nAdditionally, some of the readline options (like `terminal`) will not\nfunction in versions of node before 0.8, because they were not\nimplemented in the builtin readline module.\n\n## CONTRIBUTING\n\nPatches welcome.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/read/issues"},"homepage":"https://github.com/isaacs/read","_id":"read@1.0.5","_from":"read@1.0.x"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/rs.js","id":"read/rs.js","options":{},"isModule":true,"requiredModules":["read/lib/read.js"],"mtime":1373778447000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/test/basic.js","id":"read/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","read/lib/read.js","child_process"],"mtime":1373852939000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/test/defaults.js","id":"read/test/defaults.js","options":{},"isModule":true,"requiredModules":["tap","read/lib/read.js","child_process"],"mtime":1373852796000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/read/test/many.js","id":"read/test/many.js","options":{},"isModule":true,"requiredModules":["tap","read/lib/read.js","child_process"],"mtime":1373852816000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/revalidator/example/webservice.js","id":"revalidator/example/webservice.js","options":{},"isModule":true,"requiredModules":["revalidator/lib/revalidator.js","http"],"mtime":1386963971000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/revalidator/lib/revalidator.js","id":"revalidator/lib/revalidator.js","options":{},"isModule":true,"mtime":1398103137000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/revalidator/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/revalidator/package.json","data":{"name":"revalidator","version":"0.1.8","description":"A cross-browser / node.js validator used by resourceful","license":"Apache 2.0","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie@nodejitsu.com"},{"name":"indutny","email":"fedor.indutny@gmail.com"}],"repository":{"type":"git","url":"http://github.com/flatiron/revalidator.git"},"devDependencies":{"vows":"0.7.0"},"main":"./lib/revalidator","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"},"readme":"# revalidator [![Build Status](https://secure.travis-ci.org/flatiron/revalidator.png)](http://travis-ci.org/flatiron/revalidator)\n\nA cross-browser / node.js validator used by resourceful and flatiron. Revalidator has [JSONSchema](http://tools.ietf.org/html/draft-zyp-json-schema-04) compatibility as primary goal.\n\n## Example\nThe core of `revalidator` is simple and succinct: `revalidator.validate(obj, schema)`: \n \n``` js\n  var revalidator = require('revalidator');\n  \n  console.dir(revalidator.validate(someObject, {\n    properties: {\n      url: {\n        description: 'the url the object should be stored at',\n        type: 'string',\n        pattern: '^/[^#%&*{}\\\\:<>?\\/+]+$',\n        required: true\n      },\n      challenge: {\n        description: 'a means of protecting data (insufficient for production, used as example)',\n        type: 'string',\n        minLength: 5\n      },\n      body: {\n        description: 'what to store at the url',\n        type: 'any',\n        default: null\n      }\n    }\n  }));\n```\n\nThis will return with a value indicating if the `obj` conforms to the `schema`. If it does not, a descriptive object will be returned containing the errors encountered with validation.\n\n``` js\n  {\n    valid: true // or false\n    errors: [/* Array of errors if valid is false */]\n  }\n```\n\nIn the browser, the validation function is exposed on `window.validate` by simply including `revalidator.js`.\n\n## Installation\n\n### Installing npm (node package manager)\n``` bash\n  $ curl http://npmjs.org/install.sh | sh\n```\n\n### Installing revalidator\n``` bash \n  $ [sudo] npm install revalidator\n```\n\n## Usage\n\n`revalidator` takes json-schema as input to validate objects.\n\n### revalidator.validate (obj, schema, options)\n\nThis will return with a value indicating if the `obj` conforms to the `schema`. If it does not, a descriptive object will be returned containing the errors encountered with validation.\n\n``` js\n{\n  valid: true // or false\n  errors: [/* Array of errors if valid is false */]\n}\n```\n\n#### Available Options\n\n* __validateFormats__: Enforce format constraints (_default true_)\n* __validateFormatsStrict__: When `validateFormats` is _true_ treat unrecognized formats as validation errors (_default false_)\n* __validateFormatExtensions__: When `validateFormats` is _true_ also validate formats defined in `validate.formatExtensions` (_default true_)\n* __cast__: Enforce casting of some types (for integers/numbers are only supported) when it's possible, e.g. `\"42\" => 42`, but `\"forty2\" => \"forty2\"` for the `integer` type.\n\n### Schema\nFor a property an `value` is that which is given as input for validation where as an `expected value` is the value of the below fields\n\n#### required\nIf true, the value should not be undefined\n\n```js\n{ required: true }\n```\n\n#### allowEmpty\nIf false, the value must not be an empty string\n\n```js\n{ allowEmpty: false }\n```\n\n#### type\nThe `type of value` should be equal to the expected value\n\n```js\n{ type: 'string' }\n{ type: 'number' }\n{ type: 'integer' }\n{ type: 'array' }\n{ type: 'boolean' }\n{ type: 'object' }\n{ type: 'null' }\n{ type: 'any' }\n{ type: ['boolean', 'string'] }\n```\n\n#### pattern\nThe expected value regex needs to be satisfied by the value\n\n```js\n{ pattern: /^[a-z]+$/ }\n```\n\n#### maxLength\nThe length of value must be greater than or equal to expected value\n\n```js\n{ maxLength: 8 }\n```\n\n#### minLength\nThe length of value must be lesser than or equal to expected value\n\n```js\n{ minLength: 8 }\n```\n\n#### minimum\nValue must be greater than or equal to the expected value\n\n```js\n{ minimum: 10 }\n```\n\n#### maximum\nValue must be lesser than or equal to the expected value\n\n```js\n{ maximum: 10 }\n```\n\n#### allowEmpty\nValue may not be empty\n\n```js\n{ allowEmpty: false }\n```\n\n#### exclusiveMinimum\nValue must be greater than expected value\n\n```js\n{ exclusiveMinimum: 9 }\n```\n\n### exclusiveMaximum\nValue must be lesser than expected value\n\n```js\n{ exclusiveMaximum: 11 }\n```\n\n#### divisibleBy\nValue must be divisible by expected value\n\n```js\n{ divisibleBy: 5 }\n{ divisibleBy: 0.5 }\n```\n\n#### minItems\nValue must contain more then expected value number of items\n\n```js\n{ minItems: 2 }\n```\n\n#### maxItems\nValue must contains less then expected value number of items\n\n```js\n{ maxItems: 5 }\n```\n\n#### uniqueItems\nValue must hold a unique set of values\n\n```js\n{ uniqueItems: true }\n```\n\n#### enum\nValue must be present in the array of expected value\n\n```js\n{ enum: ['month', 'year'] }\n```\n\n#### format\nValue must be a valid format\n\n```js\n{ format: 'url' }\n{ format: 'email' }\n{ format: 'ip-address' }\n{ format: 'ipv6' }\n{ format: 'date-time' }\n{ format: 'date' }\n{ format: 'time' }\n{ format: 'color' }\n{ format: 'host-name' }\n{ format: 'utc-millisec' }\n{ format: 'regex' }\n```\n\n#### conform\nValue must conform to constraint denoted by expected value\n\n```js\n{ conform: function (v) {\n    if (v%3==1) return true;\n    return false;\n  }\n}\n```\n\n#### dependencies\nValue is valid only if the dependent value is valid\n\n```js\n{\n  town: { required: true, dependencies: 'country' },\n  country: { maxLength: 3, required: true }\n}\n```\n\n### Nested Schema\nWe also allow nested schema\n\n```js\n{\n  properties: {\n    title: {\n      type: 'string',\n      maxLength: 140,\n      required: true\n    },\n    author: {\n      type: 'object',\n      required: true,\n      properties: {\n        name: {\n          type: 'string',\n          required: true\n        },\n        email: {\n          type: 'string',\n          format: 'email'\n        }\n      }\n    }\n  }\n}\n```\n\n### Custom Messages\nWe also allow custom message for different constraints\n\n```js\n{\n  type: 'string',\n  format: 'url'\n  messages: {\n    type: 'Not a string type',\n    format: 'Expected format is a url'\n  }\n```\n\n```js\n{\n  conform: function () { ... },\n  message: 'This can be used as a global message'\n}\n```\n\n## Tests\nAll tests are written with [vows][0] and should be run with [npm][1]:\n\n``` bash\n  $ npm test\n```\n\n#### Author: [Charlie Robbins](http://nodejitsu.com), [Alexis Sellier](http://cloudhead.io)\n#### Contributors: [Fedor Indutny](http://github.com/indutny), [Bradley Meck](http://github.com/bmeck), [Laurie Harper](http://laurie.holoweb.net/)\n#### License: Apache 2.0\n\n[0]: http://vowsjs.org\n[1]: http://npmjs.org\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/flatiron/revalidator/issues"},"homepage":"https://github.com/flatiron/revalidator","_id":"revalidator@0.1.8","_shasum":"fece61bfa0c1b52a206bd6b18198184bdd523a3b","_from":"revalidator@0.1.x","_resolved":"https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/revalidator/test/validator-test.js","id":"revalidator/test/validator-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","revalidator/lib/revalidator.js"],"mtime":1398103137000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/lib/args.js","id":"utile/lib/args.js","options":{},"isModule":true,"requiredModules":["utile/lib/index.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/lib/base64.js","id":"utile/lib/base64.js","options":{},"isModule":true,"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/lib/file.js","id":"utile/lib/file.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/lib/format.js","id":"utile/lib/format.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/lib/index.js","id":"utile/lib/index.js","options":{},"isModule":true,"requiredModules":["fs","path","util/util.js","async/lib/async.js","i/lib/inflect.js","mkdirp/index.js","deep-equal/index.js","rimraf/rimraf.js","ncp/lib/ncp.js","utile/lib/file.js","utile/lib/args.js","utile/lib/base64.js","utile/lib/format.js"],"mtime":1372808767000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/async/component.json","id":"async/component.json","options":{},"isModule":true,"mtime":1369727354000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1390494106000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./lib/async","author":{"name":"Caolan McMahon"},"version":"0.2.10","repository":{"type":"git","url":"https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"https://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"]},"scripts":{"test":"nodeunit test/test-async.js"},"readme":"# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n\nasync.parallel([\n    function(){ ... },\n    function(){ ... }\n], callback);\n\nasync.series([\n    function(){ ... },\n    function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n  squareExponent: 2,\n  square: function(number, callback){ \n    var result = Math.pow(number, this.squareExponent);\n    setTimeout(function(){\n      callback(null, result);\n    }, 200);\n  }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n  // result is [NaN, NaN, NaN]\n  // This fails because the `this.squareExponent` expression in the square\n  // function is not evaluated in the context of AsyncSquaringLibrary, and is\n  // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n  // result is [1, 4, 9]\n  // With the help of bind we can attach a context to the iterator before\n  // passing it to async. Now the square function will be executed in its \n  // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n  // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n    npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type=\"text/javascript\" src=\"async.js\"></script>\n<script type=\"text/javascript\">\n\n    async.map(data, asyncProcess, function(err, results){\n        alert(results);\n    });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [eachSeries](#eachSeries)\n* [eachLimit](#eachLimit)\n* [map](#map)\n* [mapSeries](#mapSeries)\n* [mapLimit](#mapLimit)\n* [filter](#filter)\n* [filterSeries](#filterSeries)\n* [reject](#reject)\n* [rejectSeries](#rejectSeries)\n* [reduce](#reduce)\n* [reduceRight](#reduceRight)\n* [detect](#detect)\n* [detectSeries](#detectSeries)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n* [concatSeries](#concatSeries)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [parallelLimit](#parallellimittasks-limit-callback)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [applyEachSeries](#applyEachSeries)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n<a name=\"each\" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n<a name=\"eachSeries\" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n<a name=\"eachLimit\" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"mapLimit\" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n  functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n  array to produce the next step in the reduction. The iterator is passed a\n  callback(err, reduction) which accepts an optional error as its first \n  argument, and the state of the reduction as the second. If an error is \n  passed to the callback, the reduction is stopped and the main callback is \n  immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n    // pointless async:\n    process.nextTick(function(){\n        callback(null, memo + item)\n    });\n}, function(err, result){\n    // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n    // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, sortValue) which must be called once it\n  has completed with an error (which can be null) and a value to use as the sort\n  criteria.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is the items from\n  the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n    fs.stat(file, function(err, stats){\n        callback(err, stats.mtime);\n    });\n}, function(err, results){\n    // results is now the original array of files sorted by\n    // modified date\n});\n```\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n  functions have finished. Result will be either true or false depending on\n  the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, results) which must be called once it \n  has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array containing\n  the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n    // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n    function(callback){\n        // do some stuff ...\n        callback(null, 'one');\n    },\n    function(callback){\n        // do some more stuff ...\n        callback(null, 'two');\n    }\n],\n// optional callback\nfunction(err, results){\n    // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'one');\n        }, 200);\n    },\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'two');\n        }, 100);\n    }\n],\n// optional callback\nfunction(err, results){\n    // the results array will equal ['one','two'] even though\n    // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n  passed a callback(err) which must be called once it has completed with an \n  optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n  execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n    function () { return count < 5; },\n    function (callback) {\n        count++;\n        setTimeout(callback, 1000);\n    },\n    function (err) {\n        // 5 seconds have passed\n    }\n);\n```\n\n---------------------------------------\n\n<a name=\"doWhilst\" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name=\"doUntil\" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name=\"forever\" />\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n  callback(err, result1, result2, ...) it must call on completion. The first\n  argument is an error (which can be null) and any further arguments will be \n  passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n    function(callback){\n        callback(null, 'one', 'two');\n    },\n    function(arg1, arg2, callback){\n        callback(null, 'three');\n    },\n    function(arg1, callback){\n        // arg1 now equals 'three'\n        callback(null, 'done');\n    }\n], function (err, result) {\n   // result now equals 'done'    \n});\n```\n\n---------------------------------------\n<a name=\"compose\" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n    setTimeout(function () {\n        callback(null, n + 1);\n    }, 10);\n}\n\nfunction mul3(n, callback) {\n    setTimeout(function () {\n        callback(null, n * 3);\n    }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n   // result now equals 15\n});\n```\n\n---------------------------------------\n<a name=\"applyEach\" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n  functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n    buckets,\n    async.applyEach([enableSearch, updateSchema]),\n    callback\n);\n```\n\n---------------------------------------\n\n<a name=\"applyEachSeries\" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n  task, which must call its callback(err) argument when finished, with an \n  optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n  run in parallel. This property can be changed after a queue is created to\n  alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n    console.log('hello ' + task.name);\n    callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n    console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n<a name=\"cargo\" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n  queued tasks, which must call its callback(err) argument when finished, with \n  an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n  processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n  process per round. This property can be changed after a cargo is created to\n  alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n    for(var i=0; i<tasks.length; i++){\n      console.log('hello ' + tasks[i].name);\n    }\n    callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\ncargo.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\ncargo.push({name: 'baz'}, function (err) {\n    console.log('finished processing baz');\n});\n```\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n  readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n  readData: function(cb, results){\n    fs.readFile('data.txt', 'utf-8', cb);\n  }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n  requirements, with the function itself the last item in the array. The key\n  used for each function or array is used when specifying requirements. The \n  function receives two arguments: (1) a callback(err, result) which must be \n  called when finished, passing an error (which can be null) and the result of \n  the function's execution, and (2) a results object, containing the results of\n  the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n  tasks have been completed. The callback will receive an error as an argument\n  if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n  \n\n__Example__\n\n```js\nasync.auto({\n    get_data: function(callback){\n        // async code to get some data\n    },\n    make_folder: function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    },\n    write_file: ['get_data', 'make_folder', function(callback){\n        // once there is some data and the directory exists,\n        // write the data to a file in the directory\n        callback(null, filename);\n    }],\n    email_link: ['write_file', function(callback, results){\n        // once the file is written let's email a link to it...\n        // results.write_file contains the filename returned by write_file.\n    }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n    function(callback){\n        // async code to get some data\n    },\n    function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    }\n],\nfunction(err, results){\n    async.series([\n        function(callback){\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n        },\n        function(callback){\n            // once the file is written let's email a link to it...\n        }\n    ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n    function(){ sys.p('one'); },\n    function(){ sys.p('two'); },\n    function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n    async.apply(fs.writeFile, 'testfile1', 'test1'),\n    async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n    function(callback){\n        fs.writeFile('testfile1', 'test1', callback);\n    },\n    function(callback){\n        fs.writeFile('testfile2', 'test2', callback);\n    }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n    call_order.push('two');\n    // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n<a name=\"times\" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n  callback(null, {\n    id: 'user' + id\n  })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n    createUser(n, function(err, user) {\n      next(err, user)\n    })\n}, function(err, users) {\n  // we should now have 5 users\n});\n```\n\n<a name=\"timesSeries\" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n  results, it has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n    // do something\n    callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n    // callback\n});\n```\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, 'hello ' + name);\n    }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, {hello: name});\n    }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.2.10","_from":"async@~0.2.9"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/deep-equal/example/cmp.js","id":"deep-equal/example/cmp.js","options":{},"isModule":true,"requiredModules":["deep-equal/index.js"],"mtime":1328938494000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/deep-equal/index.js","id":"deep-equal/index.js","options":{},"isModule":true,"requiredModules":["deep-equal/lib/keys.js","deep-equal/lib/is_arguments.js"],"mtime":1391032846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/deep-equal/lib/is_arguments.js","id":"deep-equal/lib/is_arguments.js","options":{},"isModule":true,"mtime":1387593662000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/deep-equal/lib/keys.js","id":"deep-equal/lib/keys.js","options":{},"isModule":true,"mtime":1387593886000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/deep-equal/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/deep-equal/package.json","data":{"name":"deep-equal","version":"0.2.1","description":"node's assert.deepEqual algorithm","main":"index.js","directories":{"lib":".","example":"example","test":"test"},"scripts":{"test":"tape test/*.js"},"devDependencies":{"tape":"~2.3.2"},"repository":{"type":"git","url":"http://github.com/substack/node-deep-equal.git"},"keywords":["equality","equal","compare"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","testling":{"files":"test/*.js","browsers":{"ie":[6,7,8,9],"ff":[3.5,10,15],"chrome":[10,22],"safari":[5.1],"opera":[12]}},"readme":"# deep-equal\n\nNode's `assert.deepEqual() algorithm` as a standalone module.\n\nThis module is around [5 times faster](https://gist.github.com/2790507)\nthan wrapping `assert.deepEqual()` in a `try/catch`.\n\n[![browser support](https://ci.testling.com/substack/node-deep-equal.png)](https://ci.testling.com/substack/node-deep-equal)\n\n[![build status](https://secure.travis-ci.org/substack/node-deep-equal.png)](https://travis-ci.org/substack/node-deep-equal)\n\n# example\n\n``` js\nvar equal = require('deep-equal');\nconsole.dir([\n    equal(\n        { a : [ 2, 3 ], b : [ 4 ] },\n        { a : [ 2, 3 ], b : [ 4 ] }\n    ),\n    equal(\n        { x : 5, y : [6] },\n        { x : 5, y : 6 }\n    )\n]);\n```\n\n# methods\n\n``` js\nvar deepEqual = require('deep-equal')\n```\n\n## deepEqual(a, b, opts)\n\nCompare objects `a` and `b`, returning whether they are equal according to a\nrecursive equality algorithm.\n\nIf `opts.strict` is `true`, use strict equality (`===`) to compare leaf nodes.\nThe default is to use coercive equality (`==`) because that's how\n`assert.deepEqual()` works by default.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install deep-equal\n```\n\n# test\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm test\n```\n\n# license\n\nMIT. Derived largely from node's assert module.\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-deep-equal/issues"},"homepage":"https://github.com/substack/node-deep-equal","_id":"deep-equal@0.2.1","_from":"deep-equal@*"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/deep-equal/test/cmp.js","id":"deep-equal/test/cmp.js","options":{},"isModule":true,"requiredModules":["tape","deep-equal/index.js","deep-equal/lib/is_arguments.js","deep-equal/lib/keys.js"],"mtime":1391032268000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/lib/defaults.js","id":"i/lib/defaults.js","options":{},"isModule":true,"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/lib/inflect.js","id":"i/lib/inflect.js","options":{},"isModule":true,"requiredModules":["i/lib/methods.js","i/lib/native.js"],"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/lib/inflections.js","id":"i/lib/inflections.js","options":{},"isModule":true,"requiredModules":["i/lib/util.js","i/lib/defaults.js"],"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/lib/methods.js","id":"i/lib/methods.js","options":{},"isModule":true,"requiredModules":["i/lib/util.js","i/lib/inflections.js"],"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/lib/native.js","id":"i/lib/native.js","options":{},"isModule":true,"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/lib/util.js","id":"i/lib/util.js","options":{},"isModule":true,"mtime":1376464319000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/package.json","data":{"name":"i","version":"0.3.2","author":{"name":"Pavan Kumar Sunkara","email":"pavan.sss1991@gmail.com","url":"pksunkara.github.com"},"description":"custom inflections for nodejs","main":"./lib/inflect","repository":{"type":"git","url":"git://github.com/pksunkara/inflect.git"},"keywords":["singular","plural","camelize","underscore","dasherize","demodulize","ordinalize","uncountable","pluralize","singularize","titleize","tableize","classify","foreign_key"],"homepage":"http://pksunkara.github.com/inflect","scripts":{"test":"vows --spec $(find test -name '*-test.js')"},"contributors":[{"name":"Pavan Kumar Sunkara","email":"pavan.sss1991@gmail.com"}],"dependencies":{},"devDependencies":{"vows":"~0.6.1"},"engines":{"node":">=0.4"},"bugs":{"url":"https://github.com/pksunkara/inflect/issues"},"licenses":[{"type":"MIT","url":"https://github.com/pksunkara/inflect/raw/master/LICENSE"}],"readme":"# inflect\n\ncustomizable inflections for nodejs\n\n## Installation\n\n```bash\nnpm install i\n```\n\n## Usage\n\nRequire the module before using\n\n```js\nvar inflect = require('i')();\n```\n\nAll the below api functions can be called directly on a string\n\n```js\ninflect.titleize('messages to store') // === 'Messages To Store'\n'messages to store'.titleize // === 'Messages To Store'\n```\n\nonly if `true` is passed while initiating\n\n```js\nvar inflect = require('i')(true);\n```\n\n### Pluralize\n\n```js\ninflect.pluralize('person'); // === 'people'\ninflect.pluralize('octopus'); // === 'octopi'\ninflect.pluralize('Hat'); // === 'Hats'\n```\n\n### Singularize\n\n```js\ninflect.singularize('people'); // === 'person'\ninflect.singularize('octopi'); // === 'octopus'\ninflect.singularize('Hats'); // === 'Hat'\n```\n\n### Camelize\n\n```js\ninflect.camelize('message_properties'); // === 'MessageProperties'\ninflect.camelize('message_properties', false); // === 'messageProperties'\n```\n\n### Underscore\n\n```js\ninflect.underscore('MessageProperties'); // === 'message_properties'\ninflect.underscore('messageProperties'); // === 'message_properties'\n```\n\n### Humanize\n\n```js\ninflect.humanize('message_id'); // === 'Message'\n```\n\n### Dasherize\n\n```js\ninflect.dasherize('message_properties'); // === 'message-properties'\ninflect.dasherize('Message Properties'); // === 'Message Properties'\n```\n\n### Titleize\n\n```js\ninflect.titleize('message_properties'); // === 'Message Properties'\ninflect.titleize('message properties to keep'); // === 'Message Properties to Keep'\n```\n\n### Demodulize\n\n```js\ninflect.demodulize('Message.Bus.Properties'); // === 'Properties'\n```\n\n### Tableize\n\n```js\ninflect.tableize('MessageBusProperty'); // === 'message_bus_properties'\n```\n\n### Classify\n\n```js\ninflect.classify('message_bus_properties'); // === 'MessageBusProperty'\n```\n\n### Foreign key\n\n```js\ninflect.foreign_key('MessageBusProperty'); // === 'message_bus_property_id'\ninflect.foreign_key('MessageBusProperty', false); // === 'message_bus_propertyid'\n```\n\n### Ordinalize\n\n```js\ninflect.ordinalize( '1' ); // === '1st'\n```\n\n## Custom rules for inflection\n\n### Custom plural\n\nWe can use regexp in any of these custom rules\n\n```js\ninflect.inflections.plural('person', 'guys');\ninflect.pluralize('person'); // === 'guys'\ninflect.singularize('guys'); // === 'guy'\n```\n\n### Custom singular\n\n```js\ninflect.inflections.singular('guys', 'person')\ninflect.singularize('guys'); // === 'person'\ninflect.pluralize('person'); // === 'people'\n```\n\n### Custom irregular\n\n```js\ninflect.inflections.irregular('person', 'guys')\ninflect.pluralize('person'); // === 'guys'\ninflect.singularize('guys'); // === 'person'\n```\n\n### Custom human\n\n```js\ninflect.inflections.human(/^(.*)_cnt$/i, '$1_count');\ninflect.inflections.humanize('jargon_cnt'); // === 'Jargon count'\n```\n\n### Custom uncountable\n\n```js\ninflect.inflections.uncountable('oil')\ninflect.pluralize('oil'); // === 'oil'\ninflect.singularize('oil'); // === 'oil'\n```\n\n## Contributors\nHere is a list of [Contributors](http://github.com/pksunkara/inflect/contributors)\n\n### TODO\n\n- More obscure test cases\n\n__I accept pull requests and guarantee a reply back within a day__\n\n## License\nMIT/X11\n\n## Bug Reports\nReport [here](http://github.com/pksunkara/inflect/issues). __Guaranteed reply within a day__.\n\n## Contact\nPavan Kumar Sunkara (pavan.sss1991@gmail.com)\n\nFollow me on [github](https://github.com/users/follow?target=pksunkara), [twitter](http://twitter.com/pksunkara)\n","readmeFilename":"README.md","_id":"i@0.3.2","_from":"i@0.3.x"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/test/inflector/cases.js","id":"i/test/inflector/cases.js","options":{},"isModule":true,"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/test/inflector/inflections-test.js","id":"i/test/inflector/inflections-test.js","options":{},"isModule":true,"requiredModules":["vows","assert","i/lib/inflections.js"],"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/test/inflector/methods-test.js","id":"i/test/inflector/methods-test.js","options":{},"isModule":true,"requiredModules":["vows","assert","i/lib/util.js","i/test/inflector/cases.js","i/lib/methods.js"],"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/test/utils/array-test.js","id":"i/test/utils/array-test.js","options":{},"isModule":true,"requiredModules":["vows","assert","i/lib/util.js"],"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/i/test/utils/string-test.js","id":"i/test/utils/string-test.js","options":{},"isModule":true,"requiredModules":["vows","assert","i/lib/util.js"],"mtime":1376464319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/bin/cmd.js","id":"mkdirp/bin/cmd.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","minimist/index.js","fs"],"mtime":1398205084000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1399342981000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/example/parse.js","id":"minimist/example/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js"],"mtime":1372147306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/index.js","id":"minimist/index.js","options":{},"isModule":true,"mtime":1392957961000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/package.json","data":{"name":"minimist","version":"0.0.8","description":"parse argument options","main":"index.js","devDependencies":{"tape":"~1.0.4","tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/6..latest","ff/5","firefox/latest","chrome/10","chrome/latest","safari/5.1","safari/latest","opera/12"]},"repository":{"type":"git","url":"git://github.com/substack/minimist.git"},"homepage":"https://github.com/substack/minimist","keywords":["argv","getopt","parser","optimist"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","readme":"# minimist\n\nparse argument options\n\nThis module is the guts of optimist's argument parser without all the\nfanciful decoration.\n\n[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist)\n\n[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist)\n\n# example\n\n``` js\nvar argv = require('minimist')(process.argv.slice(2));\nconsole.dir(argv);\n```\n\n```\n$ node example/parse.js -a beep -b boop\n{ _: [], a: 'beep', b: 'boop' }\n```\n\n```\n$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz\n{ _: [ 'foo', 'bar', 'baz' ],\n  x: 3,\n  y: 4,\n  n: 5,\n  a: true,\n  b: true,\n  c: true,\n  beep: 'boop' }\n```\n\n# methods\n\n``` js\nvar parseArgs = require('minimist')\n```\n\n## var argv = parseArgs(args, opts={})\n\nReturn an argument object `argv` populated with the array arguments from `args`.\n\n`argv._` contains all the arguments that didn't have an option associated with\nthem.\n\nNumeric-looking arguments will be returned as numbers unless `opts.string` or\n`opts.boolean` is set for that argument name.\n\nAny arguments after `'--'` will not be parsed and will end up in `argv._`.\n\noptions can be:\n\n* `opts.string` - a string or array of strings argument names to always treat as\nstrings\n* `opts.boolean` - a string or array of strings to always treat as booleans\n* `opts.alias` - an object mapping string names to strings or arrays of string\nargument names to use as aliases\n* `opts.default` - an object mapping string argument names to default values\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install minimist\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/minimist/issues"},"_id":"minimist@0.0.8","_shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","_from":"minimist@0.0.8","_resolved":"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/test/dash.js","id":"minimist/test/dash.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1389378397000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/test/default_bool.js","id":"minimist/test/default_bool.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372147071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/test/dotted.js","id":"minimist/test/dotted.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1377730679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/test/long.js","id":"minimist/test/long.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372143145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/test/parse.js","id":"minimist/test/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1392957961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js","id":"minimist/test/parse_modified.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372145355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/test/short.js","id":"minimist/test/short.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1391917546000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/node_modules/minimist/test/whitespace.js","id":"minimist/test/whitespace.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372148159000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.0","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"./index","keywords":["mkdir","directory"],"repository":{"type":"git","url":"https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"0.0.8"},"devDependencies":{"tap":"~0.4.0","mock-fs":"~2.2.0"},"bin":{"mkdirp":"bin/cmd.js"},"license":"MIT","readme":"# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require('mkdirp');\n    \nmkdirp('/tmp/foo/bar/baz', function (err) {\n    if (err) console.error(err)\n    else console.log('pow!')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require('mkdirp');\n```\n\n## mkdirp(dir, opts, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `opts.mode`. If `opts` is a non-object, it will be treated as\nthe `opts.mode`.\n\nIf `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\nYou can optionally pass in an alternate `fs` implementation by passing in\n`opts.fs`. Your implementation should have `opts.fs.mkdir(path, mode, cb)` and\n`opts.fs.stat(path, cb)`.\n\n## mkdirp.sync(dir, opts)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `opts.mode`. If `opts` is a non-object, it will be\ntreated as the `opts.mode`.\n\nIf `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\nYou can optionally pass in an alternate `fs` implementation by passing in\n`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` and\n`opts.fs.statSync(path)`.\n\n# usage\n\nThis package also ships with a `mkdirp` command.\n\n```\nusage: mkdirp [DIR1,DIR2..] {OPTIONS}\n\n  Create each supplied directory including any necessary parent directories that\n  don't yet exist.\n  \n  If the directory already exists, do nothing.\n\nOPTIONS are:\n\n  -m, --mode   If a directory needs to be created, set the mode as an octal\n               permission string.\n\n```\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\nto get the library, or\n\n```\nnpm install -g mkdirp\n```\n\nto get the command.\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp","_id":"mkdirp@0.5.0","_shasum":"1d73076a6df986cd9344e15e71fcc05a4c9abf12","_from":"mkdirp@0.x.x","_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342252000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/opts_fs.js","id":"mkdirp/test/opts_fs.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1399342714000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/opts_fs_sync.js","id":"mkdirp/test/opts_fs_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1399342967000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342384000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342478000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342531000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1338911626000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342570000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342613000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342663000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/ncp/lib/ncp.js","id":"ncp/lib/ncp.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1363107721000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/ncp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/ncp/package.json","data":{"name":"ncp","version":"0.4.2","author":{"name":"AvianFlu","email":"charlie@charlieistheman.com"},"description":"Asynchronous recursive file copy utility.","bin":{"ncp":"./bin/ncp"},"devDependencies":{"vows":"0.6.x","rimraf":"1.0.x","read-dir-files":"0.0.x"},"main":"./lib/ncp.js","repository":{"type":"git","url":"https://github.com/AvianFlu/ncp.git"},"keywords":["cli","copy"],"license":"MIT","engine":{"node":">=0.4"},"scripts":{"test":"vows --isolate --spec"},"readme":"# ncp - Asynchronous recursive file & directory copying\n\n[![Build Status](https://secure.travis-ci.org/AvianFlu/ncp.png)](http://travis-ci.org/AvianFlu/ncp)\n\nThink `cp -r`, but pure node, and asynchronous.  `ncp` can be used both as a CLI tool and programmatically.\n\n## Command Line usage\n\nUsage is simple: `ncp [source] [dest] [--limit=concurrency limit]\n[--filter=filter] --stopOnErr`\n\nThe 'filter' is a Regular Expression - matched files will be copied.\n\nThe 'concurrency limit' is an integer that represents how many pending file system requests `ncp` has at a time.\n\n'stopOnErr' is a boolean flag that will tell `ncp` to stop immediately if any\nerrors arise, rather than attempting to continue while logging errors.\n\nIf there are no errors, `ncp` will output `done.` when complete.  If there are errors, the error messages will be logged to `stdout` and to `./ncp-debug.log`, and the copy operation will attempt to continue.\n\n## Programmatic usage\n\nProgrammatic usage of `ncp` is just as simple.  The only argument to the completion callback is a possible error.  \n\n```javascript\nvar ncp = require('ncp').ncp;\n\nncp.limit = 16;\n\nncp(source, destination, function (err) {\n if (err) {\n   return console.error(err);\n }\n console.log('done!');\n});\n```\n\nYou can also call ncp like `ncp(source, destination, options, callback)`. \n`options` should be a dictionary. Currently, such options are available:\n\n  * `options.filter` - a `RegExp` instance, against which each file name is\n  tested to determine whether to copy it or not, or a function taking single\n  parameter: copied file name, returning `true` or `false`, determining\n  whether to copy file or not.\n\n  * `options.transform` - a function: `function (read, write) { read.pipe(write) }`\n  used to apply streaming transforms while copying.\n\n  * `options.clobber` - boolean=true. if set to false, `ncp` will not overwrite \n  destination files that already exist.\n\nPlease open an issue if any bugs arise.  As always, I accept (working) pull requests, and refunds are available at `/dev/null`.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/AvianFlu/ncp/issues"},"homepage":"https://github.com/AvianFlu/ncp","_id":"ncp@0.4.2","_from":"ncp@0.4.x"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/ncp/test/ncp-test.js","id":"ncp/test/ncp-test.js","options":{},"isModule":true,"requiredModules":["assert","path","rimraf/rimraf.js","vows","read-dir-files","ncp/lib/ncp.js"],"mtime":1363107089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/rimraf/bin.js","id":"rimraf/bin.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js"],"mtime":1371826156000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/rimraf/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/rimraf/package.json","data":{"name":"rimraf","version":"2.2.8","main":"rimraf.js","description":"A deep deletion module for node (like `rm -rf`)","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":{"type":"MIT","url":"https://github.com/isaacs/rimraf/raw/master/LICENSE"},"repository":{"type":"git","url":"git://github.com/isaacs/rimraf.git"},"scripts":{"test":"cd test && bash run.sh"},"bin":{"rimraf":"./bin.js"},"contributors":[{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},{"name":"Wayne Larsen","email":"wayne@larsen.st","url":"http://github.com/wvl"},{"name":"ritch","email":"skawful@gmail.com"},{"name":"Marcel Laverdet"},{"name":"Yosef Dinerstein","email":"yosefd@microsoft.com"}],"readme":"`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one.  Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n  `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn't exist, rimraf will return\n  successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too.  But that's not so good.  Use\nthe async API.  It's better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/rimraf/issues"},"homepage":"https://github.com/isaacs/rimraf","_id":"rimraf@2.2.8","_from":"rimraf@2.x.x"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/rimraf/rimraf.js","id":"rimraf/rimraf.js","options":{},"isModule":true,"requiredModules":["assert","path","fs"],"mtime":1399391937000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/rimraf/test/test-async.js","id":"rimraf/test/test-async.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/node_modules/rimraf/test/test-sync.js","id":"rimraf/test/test-sync.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/package.json","data":{"name":"utile","description":"A drop-in replacement for `util` with some additional advantageous functions","version":"0.2.1","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie@nodejitsu.com"}],"repository":{"type":"git","url":"http://github.com/flatiron/utile.git"},"dependencies":{"async":"~0.2.9","deep-equal":"*","i":"0.3.x","mkdirp":"0.x.x","ncp":"0.4.x","rimraf":"2.x.x"},"devDependencies":{"vows":"0.7.x"},"scripts":{"test":"vows --spec"},"main":"./lib/index","engines":{"node":">= 0.6.4"},"readme":"# utile [![Build Status](https://secure.travis-ci.org/flatiron/utile.png)](http://travis-ci.org/flatiron/utile)\n\nA drop-in replacement for `util` with some additional advantageous functions\n\n## Motivation\nJavascript is definitely a \"batteries not included language\" when compared to languages like Ruby or Python. Node.js has a simple utility library which exposes some basic (but important) functionality:\n\n```\n$ node\n> var util = require('util');\n> util.\n(...)\n\nutil.debug                 util.error                 util.exec                  util.inherits              util.inspect\nutil.log                   util.p                     util.print                 util.pump                  util.puts\n```\n\nWhen one considers their own utility library, why ever bother requiring `util` again? That is the approach taken by this module. To compare:\n\n```\n$ node\n> var utile = require('./lib')\n> utile.\n(...)\n\nutile.async                 utile.capitalize            utile.clone                 utile.cpr                   utile.createPath            utile.debug\nutile.each                  utile.error                 utile.exec                  utile.file                  utile.filter                utile.find\nutile.inherits              utile.log                   utile.mixin                 utile.mkdirp                utile.p                     utile.path\nutile.print                 utile.pump                  utile.puts                  utile.randomString          utile.requireDir            uile.requireDirLazy\nutile.rimraf\n```\n\nAs you can see all of the original methods from `util` are there, but there are several new methods specific to `utile`. A note about implementation: _no node.js native modules are modified by utile, it simply copies those methods._\n\n## Methods\nThe `utile` modules exposes some simple utility methods:\n\n* `.each(obj, iterator)`: Iterate over the keys of an object.\n* `.mixin(target [source0, source1, ...])`: Copies enumerable properties from `source0 ... sourceN` onto `target` and returns the resulting object.\n* `.clone(obj)`: Shallow clones the specified object.\n* `.capitalize(str)`: Capitalizes the specified `str`.\n* `.randomString(length)`: randomString returns a pseudo-random ASCII string (subset) the return value is a string of length ⌈bits/6⌉ of characters from the base64 alphabet.\n* `.filter(obj, test)`: return an object with the properties that `test` returns true on.\n* `.args(arguments)`: Converts function arguments into actual array with special `callback`, `cb`, `array`, and `last` properties. Also supports *optional* argument contracts. See [the example](https://github.com/flatiron/utile/blob/master/examples/utile-args.js) for more details.\n* `.requireDir(directory)`: Requires all files and directories from `directory`, returning an object with keys being filenames (without trailing `.js`) and respective values being return values of `require(filename)`.\n* `.requireDirLazy(directory)`: Lazily requires all files and directories from `directory`, returning an object with keys being filenames (without trailing `.js`) and respective values (getters) being return values of `require(filename)`.\n* `.format([string] text, [array] formats, [array] replacements)`: Replace `formats` in `text` with `replacements`. This will fall back to the original `util.format` command if it is called improperly.\n\n## Packaged Dependencies\nIn addition to the methods that are built-in, utile includes a number of commonly used dependencies to reduce the number of includes in your package.json. These modules _are not eagerly loaded to be respectful of startup time,_ but instead are lazy-loaded getters on the `utile` object\n\n* `.async`: [Async utilities for node and the browser][0]\n* `.inflect`: [Customizable inflections for node.js][6]\n* `.mkdirp`: [Recursively mkdir, like mkdir -p, but in node.js][1]\n* `.rimraf`: [A rm -rf util for nodejs][2]\n* `.cpr`: [Asynchronous recursive file copying with Node.js][3]\n\n## Installation\n\n### Installing npm (node package manager)\n```\n  curl http://npmjs.org/install.sh | sh\n```\n\n### Installing utile\n```\n  [sudo] npm install utile\n```\n\n## Tests\nAll tests are written with [vows][4] and should be run with [npm][5]:\n\n``` bash\n  $ npm test\n```\n\n#### Author: [Nodejitsu Inc.](http://www.nodejitsu.com)\n#### Contributors: [Charlie Robbins](http://github.com/indexzero), [Dominic Tarr](http://github.com/dominictarr)\n#### License: MIT\n\n[0]: https://github.com/caolan/async\n[1]: https://github.com/substack/node-mkdirp\n[2]: https://github.com/isaacs/rimraf\n[3]: https://github.com/avianflu/ncp\n[4]: https://vowsjs.org\n[5]: https://npmjs.org\n[6]: https://github.com/pksunkara/inflect\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/flatiron/utile/issues"},"homepage":"https://github.com/flatiron/utile","_id":"utile@0.2.1","_from":"utile@0.2.x"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/file-test.js","id":"utile/test/file-test.js","options":{},"isModule":true,"requiredModules":["assert","path","vows","utile/test/helpers/macros.js","utile/lib/index.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/fixtures/read-json-file/config.json","id":"utile/test/fixtures/read-json-file/config.json","options":{},"isModule":true,"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/fixtures/require-directory/directory/index.js","id":"utile/test/fixtures/require-directory/directory/index.js","options":{},"isModule":true,"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/fixtures/require-directory/helloWorld.js","id":"utile/test/fixtures/require-directory/helloWorld.js","options":{},"isModule":true,"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/format-test.js","id":"utile/test/format-test.js","options":{},"isModule":true,"requiredModules":["vows","assert","utile/lib/index.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/function-args-test.js","id":"utile/test/function-args-test.js","options":{},"isModule":true,"requiredModules":["assert","path","vows","utile/test/helpers/macros.js","utile/lib/index.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/helpers/macros.js","id":"utile/test/helpers/macros.js","options":{},"isModule":true,"requiredModules":["assert","utile/lib/index.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/random-string-test.js","id":"utile/test/random-string-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","utile/lib/index.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/require-directory-test.js","id":"utile/test/require-directory-test.js","options":{},"isModule":true,"requiredModules":["assert","path","vows","utile/test/helpers/macros.js","utile/lib/index.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/utile/test/utile-test.js","id":"utile/test/utile-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","utile/lib/index.js","util/util.js"],"mtime":1372807009000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/examples/couchdb.js","id":"winston/examples/couchdb.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/examples/exception.js","id":"winston/examples/exception.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/examples/raw-mode.js","id":"winston/examples/raw-mode.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1336501291000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/examples/webhook-post.js","id":"winston/examples/webhook-post.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/common.js","id":"winston/lib/winston/common.js","options":{},"isModule":true,"requiredModules":["util/util.js","crypto","cycle/cycle.js","winston/lib/winston/config.js"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/config/cli-config.js","id":"winston/lib/winston/config/cli-config.js","options":{},"isModule":true,"mtime":1336501291000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/config/npm-config.js","id":"winston/lib/winston/config/npm-config.js","options":{},"isModule":true,"mtime":1336501291000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/config/syslog-config.js","id":"winston/lib/winston/config/syslog-config.js","options":{},"isModule":true,"mtime":1336501291000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/config.js","id":"winston/lib/winston/config.js","options":{},"isModule":true,"requiredModules":["colors/colors.js","winston/lib/winston/config/cli-config.js","winston/lib/winston/config/npm-config.js","winston/lib/winston/config/syslog-config.js"],"mtime":1336501291000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/container.js","id":"winston/lib/winston/container.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston/common.js","winston/lib/winston.js"],"mtime":1336501291000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/exception.js","id":"winston/lib/winston/exception.js","options":{},"isModule":true,"requiredModules":["os","stack-trace/lib/stack-trace.js"],"mtime":1341729712000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/logger.js","id":"winston/lib/winston/logger.js","options":{},"isModule":true,"requiredModules":["events","util/util.js","async/lib/async.js","winston/lib/winston/config.js","winston/lib/winston/common.js","winston/lib/winston/exception.js","stream"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/transports/console.js","id":"winston/lib/winston/transports/console.js","options":{},"isModule":true,"requiredModules":["events","util/util.js","colors/colors.js","winston/lib/winston/common.js","winston/lib/winston/transports/transport.js"],"mtime":1341730339000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/transports/file.js","id":"winston/lib/winston/transports/file.js","options":{},"isModule":true,"requiredModules":["events","fs","path","util/util.js","colors/colors.js","winston/lib/winston/common.js","winston/lib/winston/transports/transport.js","stream"],"mtime":1341730354000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/transports/http.js","id":"winston/lib/winston/transports/http.js","options":{},"isModule":true,"requiredModules":["util/util.js","winston/lib/winston.js","request/index.js","stream"],"mtime":1339456411000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/transports/transport.js","id":"winston/lib/winston/transports/transport.js","options":{},"isModule":true,"requiredModules":["events","util/util.js"],"mtime":1339456411000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/transports/webhook.js","id":"winston/lib/winston/transports/webhook.js","options":{},"isModule":true,"requiredModules":["events","http","https","util/util.js","cycle/cycle.js","winston/lib/winston/common.js","winston/lib/winston/transports/transport.js"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston/transports.js","id":"winston/lib/winston/transports.js","options":{},"isModule":true,"requiredModules":["fs","path","winston/lib/winston/common.js"],"mtime":1336501291000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/lib/winston.js","id":"winston/lib/winston.js","options":{},"isModule":true,"requiredModules":["pkginfo/lib/pkginfo.js","winston/lib/winston/transports.js","winston/lib/winston/common.js","winston/lib/winston/exception.js","winston/lib/winston/config.js","winston/lib/winston/container.js","winston/lib/winston/logger.js","winston/lib/winston/transports/transport.js"],"mtime":1339456411000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/async/index.js","id":"async/index.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js"],"mtime":1330309380000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1338402273000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./index","author":{"name":"Caolan McMahon"},"version":"0.1.22","repository":{"type":"git","url":"http://github.com/caolan/async.git"},"bugs":{"url":"http://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"http://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"readme":"# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser.\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, forEach…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n    async.map(['file1','file2','file3'], fs.stat, function(err, results){\n        // results is now an array of stats for each file\n    });\n\n    async.filter(['file1','file2','file3'], path.exists, function(results){\n        // results now equals an array of the existing files\n    });\n\n    async.parallel([\n        function(){ ... },\n        function(){ ... }\n    ], callback);\n\n    async.series([\n        function(){ ... },\n        function(){ ... }\n    ]);\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n\n## Download\n\nReleases are available for download from\n[GitHub](http://github.com/caolan/async/downloads).\nAlternatively, you can install using Node Package Manager (npm):\n\n    npm install async\n\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed\n\n__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped\n\n\n## In the Browser\n\nSo far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n    <script type=\"text/javascript\" src=\"async.js\"></script>\n    <script type=\"text/javascript\">\n\n        async.map(data, asyncProcess, function(err, results){\n            alert(results);\n        });\n\n    </script>\n\n\n## Documentation\n\n### Collections\n\n* [forEach](#forEach)\n* [map](#map)\n* [filter](#filter)\n* [reject](#reject)\n* [reduce](#reduce)\n* [detect](#detect)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [whilst](#whilst)\n* [until](#until)\n* [waterfall](#waterfall)\n* [queue](#queue)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n### forEach(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the forEach function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n    // assuming openFiles is an array of file names and saveFile is a function\n    // to save the modified contents of that file:\n\n    async.forEach(openFiles, saveFile, function(err){\n        // if any of the saves produced an error, err would equal that error\n    });\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n### forEachSeries(arr, iterator, callback)\n\nThe same as forEach only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n### forEachLimit(arr, limit, iterator, callback)\n\nThe same as forEach only the iterator is applied to batches of items in the\narray, in series. The next batch of iterators is only called once the current\none has completed processing.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - How many items should be in each batch.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n    // Assume documents is an array of JSON objects and requestApi is a\n    // function that interacts with a rate-limited REST api.\n\n    async.forEachLimit(documents, 20, requestApi, function(err){\n        // if any of the saves produced an error, err would equal that error\n    });\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed\n  with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n    async.map(['file1','file2','file3'], fs.stat, function(err, results){\n        // results is now an array of stats for each file\n    });\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(results) - A callback which is called after all the iterator\n  functions have finished.\n\n__Example__\n\n    async.filter(['file1','file2','file3'], path.exists, function(results){\n        // results now equals an array of the existing files\n    });\n\n---------------------------------------\n\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as filter, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then its probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n  array to produce the next step in the reduction. The iterator is passed a\n  callback which accepts an optional error as its first argument, and the state\n  of the reduction as the second. If an error is passed to the callback, the\n  reduction is stopped and the main callback is immediately called with the\n  error.\n* callback(err, result) - A callback which is called after all the iterator\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n    async.reduce([1,2,3], 0, function(memo, item, callback){\n        // pointless async:\n        process.nextTick(function(){\n            callback(null, memo + item)\n        });\n    }, function(err, result){\n        // result is now equal to the last value of memo, which is 6\n    });\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value undefined if none passed.\n\n__Example__\n\n    async.detect(['file1','file2','file3'], path.exists, function(result){\n        // result now equals the first file in the list that exists\n    });\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed\n  with an error (which can be null) and a value to use as the sort criteria.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is the items from\n  the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n    async.sortBy(['file1','file2','file3'], function(file, callback){\n        fs.stat(file, function(err, stats){\n            callback(err, stats.mtime);\n        });\n    }, function(err, results){\n        // results is now the original array of files sorted by\n        // modified date\n    });\n\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  either true or false depending on the values of the async tests.\n\n__Example__\n\n    async.some(['file1','file2','file3'], path.exists, function(result){\n        // if result is true then at least one of the files exists\n    });\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like path.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed.\n* callback(result) - A callback which is called after all the iterator\n  functions have finished. Result will be either true or false depending on\n  the values of the async tests.\n\n__Example__\n\n    async.every(['file1','file2','file3'], path.exists, function(result){\n        // if result is true then every file exists\n    });\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback which must be called once it has completed\n  with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array containing\n  the concatenated results of the iterator function.\n\n__Example__\n\n    async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n        // files is now a list of filenames that exist in the 3 directories\n    });\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n  a callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets an array of all the arguments passed to\n  the callbacks used in the array.\n\n__Example__\n\n    async.series([\n        function(callback){\n            // do some stuff ...\n            callback(null, 'one');\n        },\n        function(callback){\n            // do some more stuff ...\n            callback(null, 'two');\n        },\n    ],\n    // optional callback\n    function(err, results){\n        // results is now equal to ['one', 'two']\n    });\n\n\n    // an example using an object instead of an array\n    async.series({\n        one: function(callback){\n            setTimeout(function(){\n                callback(null, 1);\n            }, 200);\n        },\n        two: function(callback){\n            setTimeout(function(){\n                callback(null, 2);\n            }, 100);\n        },\n    },\n    function(err, results) {\n        // results is now equal to: {one: 1, two: 2}\n    });\n\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed a\n  callback it must call on completion.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets an array of all the arguments passed to\n  the callbacks used in the array.\n\n__Example__\n\n    async.parallel([\n        function(callback){\n            setTimeout(function(){\n                callback(null, 'one');\n            }, 200);\n        },\n        function(callback){\n            setTimeout(function(){\n                callback(null, 'two');\n            }, 100);\n        },\n    ],\n    // optional callback\n    function(err, results){\n        // the results array will equal ['one','two'] even though\n        // the second function had a shorter timeout.\n    });\n\n\n    // an example using an object instead of an array\n    async.parallel({\n        one: function(callback){\n            setTimeout(function(){\n                callback(null, 1);\n            }, 200);\n        },\n        two: function(callback){\n            setTimeout(function(){\n                callback(null, 2);\n            }, 100);\n        },\n    },\n    function(err, results) {\n        // results is now equals to: {one: 1, two: 2}\n    });\n\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n  passed a callback which must be called once it has completed with an optional\n  error as the first argument.\n* callback(err) - A callback which is called after the test fails and repeated\n  execution of fn has stopped.\n\n__Example__\n\n    var count = 0;\n\n    async.whilst(\n        function () { return count < 5; },\n        function (callback) {\n            count++;\n            setTimeout(callback, 1000);\n        },\n        function (err) {\n            // 5 seconds have passed\n        }\n    );\n\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n  must call on completion.\n* callback(err, [results]) - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n    async.waterfall([\n        function(callback){\n            callback(null, 'one', 'two');\n        },\n        function(arg1, arg2, callback){\n            callback(null, 'three');\n        },\n        function(arg1, callback){\n            // arg1 now equals 'three'\n            callback(null, 'done');\n        }\n    ], function (err, result) {\n       // result now equals 'done'    \n    });\n\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n  task.\n* concurrency - An integer for determining how many worker functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n  run in parallel. This property can be changed after a queue is created to\n  alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n    // create a queue object with concurrency 2\n\n    var q = async.queue(function (task, callback) {\n        console.log('hello ' + task.name);\n        callback();\n    }, 2);\n\n\n    // assign a callback\n    q.drain = function() {\n        console.log('all items have been processed');\n    }\n\n    // add some items to the queue\n\n    q.push({name: 'foo'}, function (err) {\n        console.log('finished processing foo');\n    });\n    q.push({name: 'bar'}, function (err) {\n        console.log('finished processing bar');\n    });\n\n    // add some items to the queue (batch-wise)\n\n    q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n        console.log('finished processing bar');\n    });\n\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n  requirements, with the function itself the last item in the array. The key\n  used for each function or array is used when specifying requirements. The\n  syntax is easier to understand by looking at the example.\n* callback(err, results) - An optional callback which is called when all the\n  tasks have been completed. The callback will receive an error as an argument\n  if any tasks pass an error to their callback. If all tasks complete\n  successfully, it will receive an object containing their results.\n\n__Example__\n\n    async.auto({\n        get_data: function(callback){\n            // async code to get some data\n        },\n        make_folder: function(callback){\n            // async code to create a directory to store a file in\n            // this is run at the same time as getting the data\n        },\n        write_file: ['get_data', 'make_folder', function(callback){\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n            callback(null, filename);\n        }],\n        email_link: ['write_file', function(callback, results){\n            // once the file is written let's email a link to it...\n            // results.write_file contains the filename returned by write_file.\n        }]\n    });\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n    async.parallel([\n        function(callback){\n            // async code to get some data\n        },\n        function(callback){\n            // async code to create a directory to store a file in\n            // this is run at the same time as getting the data\n        }\n    ],\n    function(results){\n        async.series([\n            function(callback){\n                // once there is some data and the directory exists,\n                // write the data to a file in the directory\n            },\n            email_link: function(callback){\n                // once the file is written let's email a link to it...\n            }\n        ]);\n    });\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. Its also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a callback it\n  must call on completion.\n\n__Example__\n\n    var iterator = async.iterator([\n        function(){ sys.p('one'); },\n        function(){ sys.p('two'); },\n        function(){ sys.p('three'); }\n    ]);\n\n    node> var iterator2 = iterator();\n    'one'\n    node> var iterator3 = iterator2();\n    'two'\n    node> iterator3();\n    'three'\n    node> var nextfn = iterator2.next();\n    node> nextfn();\n    'three'\n\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n    // using apply\n\n    async.parallel([\n        async.apply(fs.writeFile, 'testfile1', 'test1'),\n        async.apply(fs.writeFile, 'testfile2', 'test2'),\n    ]);\n\n\n    // the same process without using apply\n\n    async.parallel([\n        function(callback){\n            fs.writeFile('testfile1', 'test1', callback);\n        },\n        function(callback){\n            fs.writeFile('testfile2', 'test2', callback);\n        },\n    ]);\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n    node> var fn = async.apply(sys.puts, 'one');\n    node> fn('two', 'three');\n    one\n    two\n    three\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setTimeout(callback, 0),\nwhich means other higher priority events may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n    var call_order = [];\n    async.nextTick(function(){\n        call_order.push('two');\n        // call_order now equals ['one','two]\n    });\n    call_order.push('one')\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n  results, it has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n    var slow_fn = function (name, callback) {\n        // do something\n        callback(null, result);\n    };\n    var fn = async.memoize(slow_fn);\n\n    // fn can now be used as if it were slow_fn\n    fn('some name', function () {\n        // callback\n    });\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n    var hello = function(name, callback){\n        setTimeout(function(){\n            callback(null, 'hello ' + name);\n        }, 1000);\n    };\n\n    node> async.log(hello, 'world');\n    'hello world'\n\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n    var hello = function(name, callback){\n        setTimeout(function(){\n            callback(null, {hello: name});\n        }, 1000);\n    };\n\n    node> async.dir(hello, 'world');\n    {hello: 'world'}\n\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.1.22","_from":"async@0.1.x","scripts":{}},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/cycle/cycle.js","id":"cycle/cycle.js","options":{},"isModule":true,"mtime":1387218008000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/cycle/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/cycle/package.json","data":{"name":"cycle","description":"decycle your json","author":"","version":"1.0.3","main":"./cycle.js","homepage":"https://github.com/douglascrockford/JSON-js","repository":{"type":"git","url":"http://github.com/dscape/cycle.git"},"bugs":{"url":"http://github.com/douglascrockford/JSON-js/issues"},"keywords":["json","cycle","stringify","parse"],"engines":{"node":">=0.4.0"},"readme":"Fork of https://github.com/douglascrockford/JSON-js, maintained in npm as `cycle`.\n\n# Contributors\n\n* Douglas Crockford\n* Nuno Job\n* Justin Warkentin\n\n# JSON in JavaScript\n\nDouglas Crockford\ndouglas@crockford.com\n\n2010-11-18\n\n\nJSON is a light-weight, language independent, data interchange format.\nSee http://www.JSON.org/\n\nThe files in this collection implement JSON encoders/decoders in JavaScript.\n\nJSON became a built-in feature of JavaScript when the ECMAScript Programming\nLanguage Standard - Fifth Edition was adopted by the ECMA General Assembly\nin December 2009. Most of the files in this collection are for applications\nthat are expected to run in obsolete web browsers. For most purposes, json2.js\nis the best choice.\n\n\njson2.js: This file creates a JSON property in the global object, if there\nisn't already one, setting its value to an object containing a stringify\nmethod and a parse method. The parse method uses the eval method to do the\nparsing, guarding it with several regular expressions to defend against\naccidental code execution hazards. On current browsers, this file does nothing,\nprefering the built-in JSON object.\n\njson.js: This file does everything that json2.js does. It also adds a\ntoJSONString method and a parseJSON method to Object.prototype. Use of this\nfile is not recommended.\n\njson_parse.js: This file contains an alternative JSON parse function that\nuses recursive descent instead of eval.\n\njson_parse_state.js: This files contains an alternative JSON parse function that\nuses a state machine instead of eval.\n\ncycle.js: This file contains two functions, JSON.decycle and JSON.retrocycle,\nwhich make it possible to encode cyclical structures and dags in JSON, and to\nthen recover them. JSONPath is used to represent the links.\nhttp://GOESSNER.net/articles/JsonPath/\n","readmeFilename":"README.md","_id":"cycle@1.0.3","_from":"cycle@1.0.x","scripts":{}},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/eyes/lib/eyes.js","id":"eyes/lib/eyes.js","options":{},"isModule":true,"mtime":1323389014000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/eyes/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/eyes/package.json","data":{"name":"eyes","description":"a customizable value inspector","url":"http://github.com/cloudhead/eyes.js","keywords":["inspector","debug","inspect","print"],"author":{"name":"Alexis Sellier","email":"self@cloudhead.net"},"contributors":[{"name":"Charlie Robbins","email":"charlie@nodejitsu.com"}],"licenses":["MIT"],"main":"./lib/eyes","version":"0.1.8","scripts":{"test":"node test/*-test.js"},"directories":{"lib":"./lib","test":"./test"},"engines":{"node":"> 0.1.90"},"readme":"eyes\n====\n\na customizable value inspector for Node.js\n\nsynopsis\n--------\n\nI was tired of looking at cluttered output in the console -- something needed to be done,\n`sys.inspect()` didn't display regexps correctly, and was too verbose, and I had an hour or two to spare. \nSo I decided to have some fun. _eyes_ were born.\n\n![eyes-ss](http://dl.dropbox.com/u/251849/eyes-js-ss.gif)\n\n_example of the output of a user-customized eyes.js inspector_\n\n*eyes* also deals with circular objects in an intelligent way, and can pretty-print object literals.\n\nusage\n-----\n\n    var inspect = require('eyes').inspector({styles: {all: 'magenta'}});\n\n    inspect(something); // inspect with the settings passed to `inspector`\n\nor\n\n    var eyes = require('eyes');\n\n    eyes.inspect(something); // inspect with the default settings\n\nyou can pass a _label_ to `inspect()`, to keep track of your inspections:\n\n    eyes.inspect(something, \"a random value\");\n\nIf you want to return the output of eyes without printing it, you can set it up this way:\n\n    var inspect = require('eyes').inspector({ stream: null });\n\n    sys.puts(inspect({ something: 42 }));\n\ncustomization\n-------------\n\nThese are the default styles and settings used by _eyes_.\n\n    styles: {                 // Styles applied to stdout\n        all:     'cyan',      // Overall style applied to everything\n        label:   'underline', // Inspection labels, like 'array' in `array: [1, 2, 3]`\n        other:   'inverted',  // Objects which don't have a literal representation, such as functions\n        key:     'bold',      // The keys in object literals, like 'a' in `{a: 1}`\n        special: 'grey',      // null, undefined...\n        string:  'green',\n        number:  'magenta',\n        bool:    'blue',      // true false\n        regexp:  'green',     // /\\d+/\n    },\n    \n    pretty: true,             // Indent object literals\n    hideFunctions: false,     // Don't output functions at all\n    stream: process.stdout,   // Stream to write to, or null\n    maxLength: 2048           // Truncate output if longer\n\nYou can overwrite them with your own, by passing a similar object to `inspector()` or `inspect()`.\n\n    var inspect = require('eyes').inspector({\n        styles: {\n            all: 'magenta',\n            special: 'bold'\n        },\n        maxLength: 512\n    });\n\n","readmeFilename":"README.md","_id":"eyes@0.1.8","_from":"eyes@0.1.x"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/eyes/test/eyes-test.js","id":"eyes/test/eyes-test.js","options":{},"isModule":true,"requiredModules":["util/util.js","eyes/lib/eyes.js"],"mtime":1323389041000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/examples/all-properties.js","id":"examples/all-properties.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/examples/array-argument.js","id":"examples/array-argument.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/examples/multiple-properties.js","id":"examples/multiple-properties.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/examples/object-argument.js","id":"examples/object-argument.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/examples/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/examples/package.json","data":{"name":"simple-app","description":"A test fixture for pkginfo","version":"0.1.0","author":"Charlie Robbins <charlie.robbins@gmail.com>","keywords":["test","fixture"],"main":"./index.js","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"}},"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/examples/single-property.js","id":"examples/single-property.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/lib/pkginfo.js","id":"pkginfo/lib/pkginfo.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1323388249000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/package.json","data":{"name":"pkginfo","version":"0.2.3","description":"An easy way to expose properties on a module from a package.json","author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"repository":{"type":"git","url":"http://github.com/indexzero/node-pkginfo.git"},"keywords":["info","tools","package.json"],"devDependencies":{"vows":"0.6.x"},"main":"./lib/pkginfo","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"},"readme":"# node-pkginfo\n\nAn easy way to expose properties on a module from a package.json\n\n## Installation\n\n### Installing npm (node package manager)\n```\n  curl http://npmjs.org/install.sh | sh\n```\n\n### Installing pkginfo\n```\n  [sudo] npm install pkginfo\n```\n\n## Motivation\nHow often when writing node.js modules have you written the following line(s) of code? \n\n* Hard code your version string into your code\n\n``` js\n  exports.version = '0.1.0';\n```\n\n* Programmatically expose the version from the package.json\n\n``` js\n  exports.version = JSON.parse(fs.readFileSync('/path/to/package.json', 'utf8')).version;\n```\n\nIn other words, how often have you wanted to expose basic information from your package.json onto your module programmatically? **WELL NOW YOU CAN!**\n\n## Usage\n\nUsing `pkginfo` is idiot-proof, just require and invoke it. \n\n``` js\n  var pkginfo = require('pkginfo')(module);\n  \n  console.dir(module.exports);\n```\n\nBy invoking the `pkginfo` module all of the properties in your `package.json` file will be automatically exposed on the callee module (i.e. the parent module of `pkginfo`). \n\nHere's a sample of the output:\n\n```\n  { name: 'simple-app',\n    description: 'A test fixture for pkginfo',\n    version: '0.1.0',\n    author: 'Charlie Robbins <charlie.robbins@gmail.com>',\n    keywords: [ 'test', 'fixture' ],\n    main: './index.js',\n    scripts: { test: 'vows test/*-test.js --spec' },\n    engines: { node: '>= 0.4.0' } }\n```\n\n### Expose specific properties\nIf you don't want to expose **all** properties on from your `package.json` on your module then simple pass those properties to the `pkginfo` function:\n\n``` js\n  var pkginfo = require('pkginfo')(module, 'version', 'author');\n  \n  console.dir(module.exports);\n```\n\n```\n  { version: '0.1.0',\n    author: 'Charlie Robbins <charlie.robbins@gmail.com>' }\n```\n\nIf you're looking for further usage see the [examples][0] included in this repository. \n\n## Run Tests\nTests are written in [vows][1] and give complete coverage of all APIs.\n\n```\n  vows test/*-test.js --spec\n```\n\n[0]: https://github.com/indexzero/node-pkginfo/tree/master/examples\n[1]: http://vowsjs.org\n\n#### Author: [Charlie Robbins](http://nodejitsu.com)","readmeFilename":"README.md","bugs":{"url":"https://github.com/indexzero/node-pkginfo/issues"},"homepage":"https://github.com/indexzero/node-pkginfo","_id":"pkginfo@0.2.3","_from":"pkginfo@0.2.x"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/pkginfo/test/pkginfo-test.js","id":"pkginfo/test/pkginfo-test.js","options":{},"isModule":true,"requiredModules":["assert","child_process","fs","path","vows","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/aws.js","id":"request/aws.js","options":{},"isModule":true,"requiredModules":["crypto","url"],"mtime":1336705570000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/aws2.js","id":"request/aws2.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1336771851000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/forever.js","id":"request/forever.js","options":{},"isModule":true,"requiredModules":["util/util.js","http","net","tls","https"],"mtime":1330645381000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/main.js","id":"request/main.js","options":{},"isModule":true,"requiredModules":["http","url","util/util.js","stream","querystring","request/mimetypes.js","request/oauth.js","request/uuid.js","request/forever.js","request/vendor/cookie/index.js","request/vendor/cookie/jar.js","request/tunnel.js","request/aws.js","https","tls"],"mtime":1340913516000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/mimetypes.js","id":"request/mimetypes.js","options":{},"isModule":true,"mtime":1329519789000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/oauth.js","id":"request/oauth.js","options":{},"isModule":true,"requiredModules":["crypto","querystring"],"mtime":1339803760000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/package.json","data":{"name":"request","description":"Simplified HTTP request client.","tags":["http","simple","util","utility"],"version":"2.9.203","author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com"},"repository":{"type":"git","url":"http://github.com/mikeal/request.git"},"bugs":{"url":"http://github.com/mikeal/request/issues"},"engines":["node >= 0.3.6"],"main":"./main","scripts":{"test":"node tests/run.js"},"readme":"# Request -- Simplified HTTP request method\n\n## Install\n\n<pre>\n  npm install request\n</pre>\n\nOr from source:\n\n<pre>\n  git clone git://github.com/mikeal/request.git \n  cd request\n  npm link\n</pre>\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require('request');\nrequest('http://www.google.com', function (error, response, body) {\n  if (!error && response.statusCode == 200) {\n    console.log(body) // Print the google web page.\n  }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types, in this case `application/json`, and use the proper content-type in the PUT request if one is not already provided in the headers.\n\n```javascript\nfs.createReadStream('file.json').pipe(request.put('http://mysite.com/obj.json'))\n```\n\nRequest can also pipe to itself. When doing so the content-type and content-length will be preserved in the PUT headers.\n\n```javascript\nrequest.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png'))\n```\n\nNow let's get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n  if (req.url === '/doodle.png') {\n    if (req.method === 'PUT') {\n      req.pipe(request.put('http://mysite.com/doodle.png'))\n    } else if (req.method === 'GET' || req.method === 'HEAD') {\n      request.get('http://mysite.com/doodle.png').pipe(resp)\n    } \n  }\n})\n```\n\nYou can also pipe() from a http.ServerRequest instance and to a http.ServerResponse instance. The HTTP method and headers will be sent as well as the entity-body data. Which means that, if you don't really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n  if (req.url === '/doodle.png') {\n    var x = request('http://mysite.com/doodle.png')\n    req.pipe(x)\n    x.pipe(resp)\n  }\n})\n```\n\nAnd since pipe() returns the destination stream in node 0.5.x you can do one line proxying :)\n\n```javascript\nreq.pipe(request('http://mysite.com/doodle.png')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({'proxy':'http://localproxy.com'})\n\nhttp.createServer(function (req, resp) {\n  if (req.url === '/doodle.png') {\n    r.get('http://google.com/doodle.png').pipe(resp)\n  }\n})\n```\n\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require('querystring')\n  , oauth =\n    { callback: 'http://mysite.com/callback/'\n    , consumer_key: CONSUMER_KEY\n    , consumer_secret: CONSUMER_SECRET\n    }\n  , url = 'https://api.twitter.com/oauth/request_token'\n  ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n  // Assume by some stretch of magic you aquired the verifier\n  var access_token = qs.parse(body)\n    , oauth = \n      { consumer_key: CONSUMER_KEY\n      , consumer_secret: CONSUMER_SECRET\n      , token: access_token.oauth_token\n      , verifier: VERIFIER\n      , token_secret: access_token.oauth_token_secret\n      }\n    , url = 'https://api.twitter.com/oauth/access_token'\n    ;\n  request.post({url:url, oauth:oauth}, function (e, r, body) {\n    var perm_token = qs.parse(body)\n      , oauth = \n        { consumer_key: CONSUMER_KEY\n        , consumer_secret: CONSUMER_SECRET\n        , token: perm_token.oauth_token\n        , token_secret: perm_token.oauth_token_secret\n        }\n      , url = 'https://api.twitter.com/1/users/show.json?'\n      , params = \n        { screen_name: perm_token.screen_name\n        , user_id: perm_token.user_id\n        }\n      ;\n    url += qs.stringify(params)\n    request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n      console.log(user)\n    })\n  })\n})\n```\n\n\n\n### request(options, callback)\n\nThe first argument can be either a url or an options object. The only required option is uri, all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from url.parse()\n* `qs` - object containing querystring values to be appended to the uri\n* `method` - http method, defaults to GET\n* `headers` - http headers, defaults to {}\n* `body` - entity body for POST and PUT requests. Must be buffer or string.\n* `form` - sets `body` but to querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects. defaults to true.\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects. defaults to false.\n* `maxRedirects` - the maximum number of redirects to follow, defaults to 10.\n* `encoding` - Encoding to be used on `setEncoding` of response data. If set to `null`, the body is returned as a Buffer.\n* `pool` - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node's default maxSockets.\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\t\n* `proxy` - An HTTP proxy to be used. Support proxy Auth with Basic Auth the same way it's supported with the `url` parameter by embedding the auth info in the uri.\n* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above.\n* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option.\n* `jar` - Set to `false` if you don't want cookies to be remembered for future use or define your custom cookie jar (see examples section)\n\n\nThe callback argument gets 3 arguments. The first is an error when applicable (usually from the http.Client option not the http.ClientRequest object). The second in an http.ClientResponse object. The third is the response body String or Buffer.\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)  \n  \nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as request() but defaults to `method: \"PUT\"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.post\n\nSame as request() but defaults to `method: \"POST\"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: \"HEAD\"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as request() but defaults to `method: \"DELETE\"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nAlias to normal request method for uniformity.\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie('cookie_string_here')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n  var request = require('request')\n    , rand = Math.floor(Math.random()*100000000).toString()\n    ;\n  request(\n    { method: 'PUT'\n    , uri: 'http://mikeal.iriscouch.com/testjs/' + rand\n    , multipart: \n      [ { 'content-type': 'application/json'\n        ,  body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})\n        }\n      , { body: 'I am an attachment' }\n      ] \n    }\n  , function (error, response, body) {\n      if(response.statusCode == 201){\n        console.log('document saved as: http://mikeal.iriscouch.com/testjs/'+ rand)\n      } else {\n        console.log('error: '+ response.statusCode)\n        console.log(body)\n      }\n    }\n  )\n```\nCookies are enabled by default (so they can be used in subsequent requests). To disable cookies set jar to false (either in defaults or in the options sent).\n\n```javascript\nvar request = request.defaults({jar: false})\nrequest('http://www.google.com', function () {\n  request('http://images.google.com')\n})\n```\n\nIf you to use a custom cookie jar (instead of letting request use its own global cookie jar) you do so by setting the jar default or by specifying it as an option:\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest('http://www.google.com', function () {\n  request('http://images.google.com')\n})\n```\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie('your_cookie_here')\nj.add(cookie)\nrequest({url: 'http://www.google.com', jar: j}, function () {\n  request('http://images.google.com')\n})\n```\n","readmeFilename":"README.md","homepage":"https://github.com/mikeal/request","_id":"request@2.9.203","_from":"request@2.9.x"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/run.js","id":"request/tests/run.js","options":{},"isModule":true,"requiredModules":["child_process"],"mtime":1339803760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/server.js","id":"request/tests/server.js","options":{},"isModule":true,"requiredModules":["fs","http","path","https","events","stream","assert"],"mtime":1330645381000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/ssl/ca/server.js","id":"request/tests/ssl/ca/server.js","options":{},"isModule":true,"requiredModules":["fs","https"],"mtime":1330645381000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-body.js","id":"request/tests/test-body.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","stream","assert","request/main.js"],"mtime":1340068902000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-cookie.js","id":"request/tests/test-cookie.js","options":{},"isModule":true,"requiredModules":["request/vendor/cookie/index.js","assert"],"mtime":1332526239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-cookiejar.js","id":"request/tests/test-cookiejar.js","options":{},"isModule":true,"requiredModules":["request/vendor/cookie/index.js","request/vendor/cookie/jar.js","assert"],"mtime":1321397508000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-defaults.js","id":"request/tests/test-defaults.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/main.js"],"mtime":1330125939000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-errors.js","id":"request/tests/test-errors.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","assert","request/main.js"],"mtime":1329719179000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-headers.js","id":"request/tests/test-headers.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/main.js","request/vendor/cookie/index.js","request/vendor/cookie/jar.js"],"mtime":1329519789000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-httpModule.js","id":"request/tests/test-httpModule.js","options":{},"isModule":true,"requiredModules":["http","https","request/tests/server.js","assert","request/main.js"],"mtime":1329719179000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-https-strict.js","id":"request/tests/test-https-strict.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/main.js","fs","path"],"mtime":1330645381000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-https.js","id":"request/tests/test-https.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/main.js"],"mtime":1323242610000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-oauth.js","id":"request/tests/test-oauth.js","options":{},"isModule":true,"requiredModules":["request/oauth.js","assert","querystring","request/main.js"],"mtime":1332875531000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-params.js","id":"request/tests/test-params.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/main.js"],"mtime":1329719179000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-pipes.js","id":"request/tests/test-pipes.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","stream","assert","fs","request/main.js","path","util/util.js"],"mtime":1329719179000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-pool.js","id":"request/tests/test-pool.js","options":{},"isModule":true,"requiredModules":["request/main.js","http","assert"],"mtime":1339803760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-proxy.js","id":"request/tests/test-proxy.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","stream","assert","fs","request/main.js","path","util/util.js"],"mtime":1321490936000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-qs.js","id":"request/tests/test-qs.js","options":{},"isModule":true,"requiredModules":["request/main.js","assert"],"mtime":1329788535000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-redirect.js","id":"request/tests/test-redirect.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/main.js","request/vendor/cookie/index.js","request/vendor/cookie/jar.js"],"mtime":1333842438000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-s3.js","id":"request/tests/test-s3.js","options":{},"isModule":true,"requiredModules":["request/main.js"],"mtime":1336772540000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-timeout.js","id":"request/tests/test-timeout.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","stream","assert","request/main.js"],"mtime":1319600471000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-toJSON.js","id":"request/tests/test-toJSON.js","options":{},"isModule":true,"requiredModules":["request/main.js","http","assert"],"mtime":1339803760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tests/test-tunnel.js","id":"request/tests/test-tunnel.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/main.js","fs","path","child_process"],"mtime":1330645381000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/tunnel.js","id":"request/tunnel.js","options":{},"isModule":true,"requiredModules":["net","tls","http","https","events","assert","util/util.js"],"mtime":1330645381000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/uuid.js","id":"request/uuid.js","options":{},"isModule":true,"mtime":1321397508000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/vendor/cookie/index.js","id":"request/vendor/cookie/index.js","options":{},"isModule":true,"requiredModules":["url"],"mtime":1332526239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/request/vendor/cookie/jar.js","id":"request/vendor/cookie/jar.js","options":{},"isModule":true,"requiredModules":["url"],"mtime":1321397509000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/stack-trace/lib/stack-trace.js","id":"stack-trace/lib/stack-trace.js","options":{},"isModule":true,"mtime":1392892749000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/stack-trace/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/node_modules/stack-trace/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"stack-trace","description":"Get v8 stack traces as an array of CallSite objects.","version":"0.0.9","homepage":"https://github.com/felixge/node-stack-trace","repository":{"type":"git","url":"git://github.com/felixge/node-stack-trace.git"},"main":"./lib/stack-trace","engines":{"node":"*"},"dependencies":{},"devDependencies":{"far":"0.0.3","long-stack-traces":"0.1.2"},"readme":"# stack-trace\n\nGet v8 stack traces as an array of CallSite objects.\n\n## Install\n\n``` bash\nnpm install stack-trace\n```\n\n## Usage\n\nThe stack-trace module makes it easy for you to capture the current stack:\n\n``` javascript\nvar stackTrace = require('stack-trace');\nvar trace = stackTrace.get();\n\nrequire('assert').strictEqual(trace[0].getFileName(), __filename);\n```\n\nHowever, sometimes you have already popped the stack you are interested in,\nand all you have left is an `Error` object. This module can help:\n\n``` javascript\nvar stackTrace = require('stack-trace');\nvar err = new Error('something went wrong');\nvar trace = stackTrace.parse(err);\n\nrequire('assert').strictEqual(trace[0].getFileName(), __filename);\n```\n\nPlease note that parsing the `Error#stack` property is not perfect, only\ncertain properties can be retrieved with it as noted in the API docs below.\n\n## Long stack traces\n\nstack-trace works great with [long-stack-traces][], when parsing an `err.stack`\nthat has crossed the event loop boundary, a `CallSite` object returning\n`'----------------------------------------'` for `getFileName()` is created.\nAll other methods of the event loop boundary call site return `null`.\n\n[long-stack-traces]: https://github.com/tlrobinson/long-stack-traces\n\n## API\n\n### stackTrace.get([belowFn])\n\nReturns an array of `CallSite` objects, where element `0` is the current call\nsite.\n\nWhen passing a function on the current stack as the `belowFn` parameter, the\nreturned array will only include `CallSite` objects below this function.\n\n### stackTrace.parse(err)\n\nParses the `err.stack` property of an `Error` object into an array compatible\nwith those returned by `stackTrace.get()`. However, only the following methods\nare implemented on the returned `CallSite` objects.\n\n* getTypeName\n* getFunctionName\n* getMethodName\n* getFileName\n* getLineNumber\n* getColumnNumber\n* isNative\n\nNote: Except `getFunctionName()`, all of the above methods return exactly the\nsame values as you would get from `stackTrace.get()`. `getFunctionName()`\nis sometimes a little different, but still useful.\n\n### CallSite\n\nThe official v8 CallSite object API can be found [here][v8stackapi]. A quick\nexcerpt:\n\n> A CallSite object defines the following methods:\n>\n> * **getThis**: returns the value of this\n> * **getTypeName**: returns the type of this as a string. This is the name of the function stored in the constructor field of this, if available, otherwise the object's [[Class]] internal property.\n> * **getFunction**: returns the current function\n> * **getFunctionName**: returns the name of the current function, typically its name property. If a name property is not available an attempt will be made to try to infer a name from the function's context.\n> * **getMethodName**: returns the name of the property of this or one of its prototypes that holds the current function\n> * **getFileName**: if this function was defined in a script returns the name of the script\n> * **getLineNumber**: if this function was defined in a script returns the current line number\n> * **getColumnNumber**: if this function was defined in a script returns the current column number\n> * **getEvalOrigin**: if this function was created using a call to eval returns a CallSite object representing the location where eval was called\n> * **isToplevel**: is this a toplevel invocation, that is, is this the global object?\n> * **isEval**: does this call take place in code defined by a call to eval?\n> * **isNative**: is this call in native V8 code?\n> * **isConstructor**: is this a constructor call?\n\n[v8stackapi]: http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\n\n## License\n\nstack-trace is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-stack-trace/issues"},"_id":"stack-trace@0.0.9","_from":"stack-trace@0.0.x","scripts":{}},"mtime":1415897195000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/package.json","data":{"name":"winston","description":"A multi-transport async logging library for Node.js","version":"0.6.2","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie@nodejitsu.com"}],"repository":{"type":"git","url":"https://github.com/flatiron/winston.git"},"keywords":["logging","sysadmin","tools"],"dependencies":{"async":"0.1.x","colors":"0.x.x","cycle":"1.0.x","eyes":"0.1.x","pkginfo":"0.2.x","request":"2.9.x","stack-trace":"0.0.x"},"devDependencies":{"vows":"0.6.x"},"main":"./lib/winston","scripts":{"test":"vows --spec --isolate"},"engines":{"node":">= 0.4.0"},"readme":"# winston [![Build Status](https://secure.travis-ci.org/flatiron/winston.png)](http://travis-ci.org/flatiron/winston)\n\nA multi-transport async logging library for node.js. <span style=\"font-size:28px; font-weight:bold;\">&quot;CHILL WINSTON! ... I put it in the logs.&quot;</span>\n\n## Motivation\nWinston is designed to be a simple and universal logging library with support for multiple transports. A transport is essentially a storage device for your logs. Each instance of a winston logger can have multiple transports configured at different levels. For example, one may want error logs to be stored in a persistent remote location (like a database), but all logs output to the console or a local file.\n\nThere also seemed to be a lot of logging libraries out there that coupled their implementation of logging (i.e. how the logs are stored / indexed) to the API that they exposed to the programmer. This library aims to decouple those parts of the process to make it more flexible and extensible.\n\n## Usage\nThere are two different ways to use winston: directly via the default logger, or by instantiating your own Logger. The former is merely intended to be a convenient shared logger to use throughout your application if you so choose.\n\n* [Logging](#logging)\n  * [Using the Default Logger](#using-the-default-logger)\n  * [Instantiating your own Logger](#instantiating-your-own-logger)\n  * [Logging with Metadata](#logging-with-metadata)\n* [Transports](https://github.com/flatiron/winston/blob/master/docs/transports.md)\n* [Profiling](#profiling)\n* [Streaming Logs](#streaming-logs)\n* [Querying Logs](#querying-logs)  \n* [Exceptions](#exceptions)\n  * [Handling Uncaught Exceptions with winston](#handling-uncaught-exceptions-with-winston)\n  * [To Exit or Not to Exit](#to-exit-or-not-to-exit)\n* [Logging Levels](#logging-levels)\n  * [Using Logging Levels](#using-logging-levels)\n  * [Using Custom Logging Levels](#using-custom-logging-levels)\n* [Further Reading](#further-reading)\n  * [Events and Callbacks in Winston](#events-and-callbacks-in-winston)\n  * [Working with multiple Loggers in winston](#working-with-multiple-loggers-in-winston)\n  * [Using winston in a CLI tool](#using-winston-in-a-cli-tool)\n  * [Extending another object with Logging](#extending-another-object-with-logging)\n  * [Adding Custom Transports](#adding-custom-transports)\n\n## Logging\n\n### Using the Default Logger\nThe default logger is accessible through the winston module directly. Any method that you could call on an instance of a logger is available on the default logger:\n\n``` js\n  var winston = require('winston');\n\n  winston.log('info', 'Hello distributed log files!');\n  winston.info('Hello again distributed logs');\n```\n\nBy default, only the Console transport is set on the default logger. You can add or remove transports via the add() and remove() methods:\n\n``` js\n  winston.add(winston.transports.File, { filename: 'somefile.log' });\n  winston.remove(winston.transports.Console);\n```\n\nFor more documenation about working with each individual transport supported by Winston see the \"Working with Transports\" section below.\n\n### Instantiating your own Logger\nIf you would prefer to manage the object lifetime of loggers you are free to instantiate them yourself:\n\n``` js\n  var logger = new (winston.Logger)({\n    transports: [\n      new (winston.transports.Console)(),\n      new (winston.transports.File)({ filename: 'somefile.log' })\n    ]\n  });\n```\n\nYou can work with this logger in the same way that you work with the default logger:\n\n``` js\n  //\n  // Logging\n  //\n  logger.log('info', 'Hello distributed log files!');\n  logger.info('Hello again distributed logs');\n\n  //\n  // Adding / Removing Transports\n  //   (Yes It's chainable)\n  //\n  logger.add(winston.transports.File)\n        .remove(winston.transports.Console);\n```\n\n### Logging with Metadata\nIn addition to logging string messages, winston will also optionally log additional JSON metadata objects. Adding metadata is simple:\n\n``` js\n  winston.log('info', 'Test Log Message', { anything: 'This is metadata' });\n```\n\nThe way these objects is stored varies from transport to transport (to best support the storage mechanisms offered). Here's a quick summary of how each transports handles metadata:\n\n1. __Console:__ Logged via util.inspect(meta)\n2. __File:__ Logged via util.inspect(meta)\n\n## Profiling\nIn addition to logging messages and metadata, winston also has a simple profiling mechanism implemented for any logger:\n\n``` js\n  //\n  // Start profile of 'test'\n  // Remark: Consider using Date.now() with async operations\n  //\n  winston.profile('test');\n\n  setTimeout(function () {\n    //\n    // Stop profile of 'test'. Logging will now take place:\n    //   \"17 Jan 21:00:00 - info: test duration=1000ms\"\n    //\n    winston.profile('test');\n  }, 1000);\n```\n\nAll profile messages are set to the 'info' by default and both message and metadata are optional There are no plans in the Roadmap to make this configurable, but I'm open to suggestions / issues.\n\n\n## Querying Logs\nWinston supports querying of logs with Loggly-like options.\nSpecifically: `File`, `Couchdb`, `Redis`, `Loggly`, `Nssocket`, and `Http`.\n\n``` js\n  var options = {\n    from: new Date - 24 * 60 * 60 * 1000,\n    until: new Date\n  };\n\n  //\n  // Find items logged between today and yesterday.\n  //\n  winston.query(options, function (err, results) {\n    if (err) {\n      throw err;\n    }\n    \n    console.log(results);\n  });\n```\n\n## Streaming Logs\nStreaming allows you to stream your logs back from your chosen transport.\n\n``` js\n  //\n  // Start at the end.\n  //\n  winston.stream({ start: -1 }).on('log', function(log) {\n    console.log(log);\n  });\n```\n\n## Exceptions\n\n### Handling Uncaught Exceptions with winston\n\nWith `winston`, it is possible to catch and log `uncaughtException` events from your process. There are two distinct ways of enabling this functionality either through the default winston logger or your own logger instance.\n\nIf you want to use this feature with the default logger simply call `.handleExceptions()` with a transport instance.\n\n``` js\n  //\n  // You can add a separate exception logger by passing it to `.handleExceptions`\n  //\n  winston.handleExceptions(new winston.transports.File({ filename: 'path/to/exceptions.log' }))\n\n  //\n  // Alternatively you can set `.handleExceptions` to true when adding transports to winston\n  //\n  winston.add(winston.transports.File, {\n    filename: 'path/to/all-logs.log',\n    handleExceptions: true\n  });\n```\n\n### To Exit or Not to Exit\n\nby default, winston will exit after logging an uncaughtException. if this is not the behavior you want,\nset `exitOnError = false`\n\n``` js\n  var logger = new (winston.Logger)({ exitOnError: false });\n\n  //\n  // or, like this:\n  //\n  logger.exitOnError = false;\n```\n\nWhen working with custom logger instances, you can pass in separate transports to the `exceptionHandlers` property or set `.handleExceptions` on any transport.\n\nExample 1\n\n``` js\n  var logger = new (winston.Logger)({\n    transports: [\n      new winston.transports.File({ filename: 'path/to/all-logs.log' })\n    ]\n    exceptionHandlers: [\n      new winston.transports.File({ filename: 'path/to/exceptions.log' })\n    ]\n  });\n```\n\nExample 2\n\n```\nvar logger = new winston.Logger({\n  transports: [\n    new winston.transports.Console({\n      handleExceptions: true,\n      json: true\n    })\n  ],\n  exitOnError: false\n});\n```\n\nThe `exitOnError` option can also be a function to prevent exit on only certain types of errors:\n\n``` js\n  function ignoreEpipe(err) {\n    return err.code !== 'EPIPE';\n  }\n\n  var logger = new (winston.Logger)({ exitOnError: ignoreEpipe });\n\n  //\n  // or, like this:\n  //\n  logger.exitOnError = ignoreEpipe;\n```\n\n## Logging Levels\n\n### Using Logging Levels\nSetting the level for your logging message can be accomplished in one of two ways. You can pass a string representing the logging level to the log() method or use the level specified methods defined on every winston Logger.\n\n``` js\n  //\n  // Any logger instance\n  //\n  logger.log('info', \"127.0.0.1 - there's no place like home\");\n  logger.log('warn', \"127.0.0.1 - there's no place like home\");\n  logger.log('error', \"127.0.0.1 - there's no place like home\");\n  logger.info(\"127.0.0.1 - there's no place like home\");\n  logger.warn(\"127.0.0.1 - there's no place like home\");\n  logger.error(\"127.0.0.1 - there's no place like home\");\n\n  //\n  // Default logger\n  //\n  winston.log('info', \"127.0.0.1 - there's no place like home\");\n  winston.info(\"127.0.0.1 - there's no place like home\");\n```\n\nWinston allows you to set a `level` on each transport that specifies the level of messages this transport should log. For example, you could log only errors to the console, with the full logs in a file:\n\n``` js\n  var logger = new (winston.Logger)({\n    transports: [\n      new (winston.transports.Console)({ level: 'error' }),\n      new (winston.transports.File)({ filename: 'somefile.log' })\n    ]\n  });\n```\n\nAs of 0.2.0, winston supports customizable logging levels, defaulting to [npm][0] style logging levels. Changing logging levels is easy:\n\n``` js\n  //\n  // Change levels on the default winston logger\n  //\n  winston.setLevels(winston.config.syslog.levels);\n\n  //\n  // Change levels on an instance of a logger\n  //\n  logger.setLevels(winston.config.syslog.levels);\n```\n\nCalling `.setLevels` on a logger will remove all of the previous helper methods for the old levels and define helper methods for the new levels. Thus, you should be careful about the logging statements you use when changing levels. For example, if you ran this code after changing to the syslog levels:\n\n``` js\n  //\n  // Logger does not have 'silly' defined since that level is not in the syslog levels\n  //\n  logger.silly('some silly message');\n```\n\n### Using Custom Logging Levels\nIn addition to the predefined `npm` and `syslog` levels available in Winston, you can also choose to define your own:\n\n``` js\n  var myCustomLevels = {\n    levels: {\n      foo: 0,\n      bar: 1,\n      baz: 2,\n      foobar: 3\n    },\n    colors: {\n      foo: 'blue',\n      bar: 'green',\n      baz: 'yellow',\n      foobar: 'red'\n    }\n  };\n\n  var customLevelLogger = new (winston.Logger)({ levels: myCustomLevels.levels });\n  customLevelLogger.foobar('some foobar level-ed message');\n```\n\nAlthough there is slight repetition in this data structure, it enables simple encapsulation if you not to have colors. If you do wish to have colors, in addition to passing the levels to the Logger itself, you must make winston aware of them:\n\n``` js\n  //\n  // Make winston aware of these colors\n  //\n  winston.addColors(myCustomLevels.colors);\n```\n\nThis enables transports with the 'colorize' option set to appropriately color the output of custom levels.\n\n## Further Reading\n\n### Events and Callbacks in Winston\nEach instance of winston.Logger is also an instance of an [EventEmitter][1]. A log event will be raised each time a transport successfully logs a message:\n\n``` js\n  logger.on('logging', function (transport, level, msg, meta) {\n    // [msg] and [meta] have now been logged at [level] to [transport]\n  });\n\n  logger.info('CHILL WINSTON!', { seriously: true });\n```\n\nIt is also worth mentioning that the logger also emits an 'error' event which you should handle or suppress if you don't want unhandled exceptions:\n\n``` js\n  //\n  // Handle errors\n  //\n  logger.on('error', function (err) { /* Do Something */ });\n\n  //\n  // Or just suppress them.\n  //\n  logger.emitErrs = false;\n```\n\nEvery logging method described in the previous section also takes an optional callback which will be called only when all of the transports have logged the specified message.\n\n``` js\n  logger.info('CHILL WINSTON!', { seriously: true }, function (err, level, msg, meta) {\n    // [msg] and [meta] have now been logged at [level] to **every** transport.\n  });\n```\n\n### Working with multiple Loggers in winston\n\nOften in larger, more complex applications it is necessary to have multiple logger instances with different settings. Each logger is responsible for a different feature area (or category). This is exposed in `winston` in two ways: through `winston.loggers` and instances of `winston.Container`. In fact, `winston.loggers` is just a predefined instance of `winston.Container`:\n\n``` js\n  var winston = require('winston');\n\n  //\n  // Configure the logger for `category1`\n  //\n  winston.loggers.add('category1', {\n    console: {\n      level: 'silly',\n      colorize: 'true'\n    },\n    file: {\n      filename: '/path/to/some/file'\n    }\n  });\n\n  //\n  // Configure the logger for `category2`\n  //\n  winston.loggers.add('category2', {\n    couchdb: {\n      host: '127.0.0.1',\n      port: 5984\n    }\n  });\n```\n\nNow that your loggers are setup you can require winston _in any file in your application_ and access these pre-configured loggers:\n\n``` js\n  var winston = require('winston');\n\n  //\n  // Grab your preconfigured logger\n  //\n  var category1 = winston.loggers.get('category1');\n\n  category1.info('logging from your IoC container-based logger');\n```\n\nIf you prefer to manage the `Container` yourself you can simply instantiate one:\n\n``` js\n  var winston = require('winston'),\n      container = new winston.Container();\n\n  container.add('category1', {\n    console: {\n      level: 'silly',\n      colorize: 'true'\n    },\n    file: {\n      filename: '/path/to/some/file'\n    }\n  });\n```\n\n### Sharing transports between Loggers in winston\n\n``` js\n  var winston = require('winston');\n\n  //\n  // Setup transports to be shared across all loggers\n  // in three ways:\n  //\n  // 1. By setting it on the default Container\n  // 2. By passing `transports` into the constructor function of winston.Container\n  // 3. By passing `transports` into the `.get()` or `.add()` methods\n  //\n\n  //\n  // 1. By setting it on the default Container\n  //\n  winston.loggers.options.transports = [\n    // Setup your shared transports here\n  ];\n\n  //\n  // 2. By passing `transports` into the constructor function of winston.Container\n  //\n  var container = new winston.Container({\n    transports: [\n      // Setup your shared transports here\n    ]\n  });\n\n  //\n  // 3. By passing `transports` into the `.get()` or `.add()` methods\n  //\n  winston.loggers.add('some-category', {\n    transports: [\n      // Setup your shared transports here\n    ]\n  });\n\n  container.add('some-category', {\n    transports: [\n      // Setup your shared transports here\n    ]\n  });\n```\n\n### Using winston in a CLI tool\nA common use-case for logging is output to a CLI tool. Winston has a special helper method which will pretty print output from your CLI tool. Here's an example from the [require-analyzer][2] written by [Nodejitsu][3]:\n\n```\n  info:   require-analyzer starting in /Users/Charlie/Nodejitsu/require-analyzer\n  info:   Found existing dependencies\n  data:   {\n  data:     colors: '0.x.x',\n  data:     eyes: '0.1.x',\n  data:     findit: '0.0.x',\n  data:     npm: '1.0.x',\n  data:     optimist: '0.2.x',\n  data:     semver: '1.0.x',\n  data:     winston: '0.2.x'\n  data:   }\n  info:   Analyzing dependencies...\n  info:   Done analyzing raw dependencies\n  info:   Retrieved packages from npm\n  warn:   No additional dependencies found\n```\n\nConfiguring output for this style is easy, just use the `.cli()` method on `winston` or an instance of `winston.Logger`:\n\n``` js\n  var winston = require('winston');\n\n  //\n  // Configure CLI output on the default logger\n  //\n  winston.cli();\n\n  //\n  // Configure CLI on an instance of winston.Logger\n  //\n  var logger = new winston.Logger({\n    transports: [\n      new (winston.transports.Console)()\n    ]\n  });\n\n  logger.cli();\n```\n\n### Extending another object with Logging\nOften in a given code base with lots of Loggers it is useful to add logging methods a different object so that these methods can be called with less syntax. Winston exposes this functionality via the 'extend' method:\n\n``` js\n  var myObject = {};\n\n  logger.extend(myObject);\n\n  //\n  // You can now call logger methods on 'myObject'\n  //\n  myObject.info('127.0.0.1 - there's no place like home');\n```\n\n## Working with Transports\nRight now there are four transports supported by winston core. If you have a transport you would like to add either open an issue or fork and submit a pull request. Commits are welcome, but I'll give you extra street cred if you __add tests too :D__\n   \n1. __Console:__ Output to the terminal\n2. __Files:__ Append to a file\n3. __Loggly:__ Log to Logging-as-a-Service platform Loggly\n\n### Console Transport\n``` js\n  winston.add(winston.transports.Console, options)\n```\n\nThe Console transport takes two simple options:\n\n* __level:__ Level of messages that this transport should log (default 'info').\n* __silent:__ Boolean flag indicating whether to suppress output (default false).\n* __colorize:__ Boolean flag indicating if we should colorize output (default false).\n* __timestamp:__ Boolean flag indicating if we should prepend output with timestamps (default false). If function is specified, its return value will be used instead of timestamps.\n\n*Metadata:* Logged via util.inspect(meta);\n\n### File Transport\n``` js\n  winston.add(winston.transports.File, options)\n```\n\nThe File transport should really be the 'Stream' transport since it will accept any [WritableStream][14]. It is named such because it will also accept filenames via the 'filename' option:\n\n* __level:__ Level of messages that this transport should log.\n* __silent:__ Boolean flag indicating whether to suppress output.\n* __colorize:__ Boolean flag indicating if we should colorize output.\n* __timestamp:__ Boolean flag indicating if we should prepend output with timestamps (default true). If function is specified, its return value will be used instead of timestamps.\n* __filename:__ The filename of the logfile to write output to.\n* __maxsize:__ Max size in bytes of the logfile, if the size is exceeded then a new file is created.\n* __maxFiles:__ Limit the number of files created when the size of the logfile is exceeded.\n* __stream:__ The WriteableStream to write output to.\n* __json:__ If true, messages will be logged as JSON (default true).\n\n*Metadata:* Logged via util.inspect(meta);\n\n### Loggly Transport\n``` js\n  var Loggly = require('winston-loggly').Loggly\n  winston.add(Loggly, options);\n```\n\nThe Loggly transport is based on [Nodejitsu's][5] [node-loggly][6] implementation of the [Loggly][7] API. If you haven't heard of Loggly before, you should probably read their [value proposition][8]. The Loggly transport takes the following options. Either 'inputToken' or 'inputName' is required:\n\n* __level:__ Level of messages that this transport should log. \n* __subdomain:__ The subdomain of your Loggly account. *[required]*\n* __auth__: The authentication information for your Loggly account. *[required with inputName]*\n* __inputName:__ The name of the input this instance should log to.\n* __inputToken:__ The input token of the input this instance should log to.\n* __json:__ If true, messages will be sent to Loggly as JSON.\n\n*Metadata:* Logged in suggested [Loggly format][2]\n\n### Riak Transport\nAs of `0.3.0` the Riak transport has been broken out into a new module: [winston-riak][17]. Using it is just as easy:\n\n``` js\n  var Riak = require('winston-riak').Riak;\n  winston.add(Riak, options);\n```\n\nIn addition to the options accepted by the [riak-js][3] [client][4], the Riak transport also accepts the following options. It is worth noting that the riak-js debug option is set to *false* by default:\n\n* __level:__ Level of messages that this transport should log.\n* __bucket:__ The name of the Riak bucket you wish your logs to be in or a function to generate bucket names dynamically.\n\n``` js\n  // Use a single bucket for all your logs\n  var singleBucketTransport = new (Riak)({ bucket: 'some-logs-go-here' });\n  \n  // Generate a dynamic bucket based on the date and level\n  var dynamicBucketTransport = new (Riak)({\n    bucket: function (level, msg, meta, now) {\n      var d = new Date(now);\n      return level + [d.getDate(), d.getMonth(), d.getFullYear()].join('-');\n    }\n  });\n```\n\n*Metadata:* Logged as JSON literal in Riak\n\n### MongoDB Transport\nAs of `0.3.0` the MongoDB transport has been broken out into a new module: [winston-mongodb][16]. Using it is just as easy:\n\n``` js\n  var MongoDB = require('winston-mongodb').MongoDB;\n  winston.add(MongoDB, options);\n```\n\nThe MongoDB transport takes the following options. 'db' is required:\n\n* __level:__ Level of messages that this transport should log. \n* __silent:__ Boolean flag indicating whether to suppress output.\n* __db:__ The name of the database you want to log to. *[required]*\n* __collection__: The name of the collection you want to store log messages in, defaults to 'log'.\n* __safe:__ Boolean indicating if you want eventual consistency on your log messages, if set to true it requires an extra round trip to the server to ensure the write was committed, defaults to true.\n* __host:__ The host running MongoDB, defaults to localhost.\n* __port:__ The port on the host that MongoDB is running on, defaults to MongoDB's default port.\n\n*Metadata:* Logged as a native JSON object.\n\n### SimpleDB Transport\n\nThe [winston-simpledb][18] transport is just as easy:\n\n``` js\n  var SimpleDB = require('winston-simpledb').SimpleDB;\n  winston.add(SimpleDB, options);\n```\n\nThe SimpleDB transport takes the following options. All items marked with an asterisk are required:\n\n* __awsAccessKey__:* your AWS Access Key\n* __secretAccessKey__:* your AWS Secret Access Key\n* __awsAccountId__:* your AWS Account Id\n* __domainName__:* a string or function that returns the domain name to log to\n* __region__:* the region your domain resides in\n* __itemName__: a string ('uuid', 'epoch', 'timestamp') or function that returns the item name to log\n\n*Metadata:* Logged as a native JSON object to the 'meta' attribute of the item.\n\n### Mail Transport\n\nThe [winston-mail][19] is an email transport:\n\n``` js\n  var Mail = require('winston-mail').Mail;\n  winston.add(Mail, options);\n```\n\nThe Mail transport uses [emailjs](https://github.com/eleith/emailjs) behind the scenes.  Options are the following:\n\n* __to:__ The address(es) you want to send to. *[required]*\n* __from:__ The address you want to send from. (default: `winston@[server-host-name]`)\n* __host:__ SMTP server hostname (default: localhost)\n* __port:__ SMTP port (default: 587 or 25)\n* __username__ User for server auth\n* __password__ Password for server auth\n* __ssl:__ Use SSL (boolean or object { key, ca, cert })\n* __tls:__ Boolean (if true, use starttls)\n* __level:__ Level of messages that this transport should log. \n* __silent:__ Boolean flag indicating whether to suppress output.\n\n*Metadata:* Stringified as JSON in email.\n\n### Amazon SNS (Simple Notification System) Transport\n\nThe [winston-sns][21] transport uses amazon SNS to send emails, texts, or a bunch of other notifications.\n\n``` js\n  require('winston-sns').SNS;\n  winston.add(winston.transports.SNS, options);\n```\n\nOptions:\n\n* __aws_key:__ Your Amazon Web Services Key. *[required]*\n* __aws_secret:__ Your Amazon Web Services Secret. *[required]*\n* __subscriber:__ Subscriber number - found in your SNS AWS Console, after clicking on a topic. Same as AWS Account ID. *[required]*\n* __topic_arn:__ Also found in SNS AWS Console - listed under a topic as Topic ARN. *[required]*\n* __region:__ AWS Region to use. Can be one of: `us-east-1`,`us-west-1`,`eu-west-1`,`ap-southeast-1`,`ap-northeast-1`,`us-gov-west-1`,`sa-east-1`. (default: `us-east-1`)\n* __subject:__ Subject for notifications. (default: \"Winston Error Report\")\n* __message:__ Message of notifications. Uses placeholders for level (%l), error message (%e), and metadata (%m). (default: \"Level '%l' Error:\\n%e\\n\\nMetadata:\\n%m\")\n* __level:__ lowest level this transport will log. (default: `info`)\n\n### Graylog2 Transport\n\n[winston-graylog2][22] is a Graylog2 transport:\n\n``` js\n  var Graylog2 = require('winston-graylog2').Graylog2;\n  winston.add(Graylog2, options);\n```\n\nThe Graylog2 transport connects to a Graylog2 server over UDP using the following options:\n\n* __level:__ Level of messages this transport should log. (default: info)\n* __silent:__ Boolean flag indicating whether to suppress output. (default: false)\n\n* __graylogHost:__ IP address or hostname of the graylog2 server. (default: localhost)\n* __graylogPort:__ Port to send messages to on the graylog2 server. (default: 12201)\n* __graylogHostname:__ The hostname associated with graylog2 messages. (default: require('os').hostname())\n* __graylogFacility:__ The graylog2 facility to send log messages.. (default: nodejs)\n\n*Metadata:* Stringified as JSON in the full message GELF field.\n\n### Adding Custom Transports\nAdding a custom transport (say for one of the datastore on the Roadmap) is actually pretty easy. All you need to do is accept a couple of options, set a name, implement a log() method, and add it to the set of transports exposed by winston.\n\n``` js\n  var util = require('util'),\n      winston = require('winston');\n\n  var CustomLogger = winston.transports.CustomerLogger = function (options) {\n    //\n    // Name this logger\n    //\n    this.name = 'customLogger';\n\n    //\n    // Set the level from your options\n    //\n    this.level = options.level || 'info';\n\n    //\n    // Configure your storage backing as you see fit\n    //\n  };\n\n  //\n  // Inherit from `winston.Transport` so you can take advantage\n  // of the base functionality and `.handleExceptions()`.\n  //\n  util.inherits(CustomLogger, winston.Transport);\n\n  CustomLogger.prototype.log = function (level, msg, meta, callback) {\n    //\n    // Store this message and metadata, maybe use some custom logic\n    // then callback indicating success.\n    //\n    callback(null, true);\n  };\n```\n\n### Inspirations\n1. [npm][0]\n2. [log.js][4]\n3. [socket.io][5]\n4. [node-rlog][6]\n5. [BigBrother][7]\n6. [Loggly][8]\n\n## Installation\n\n### Installing npm (node package manager)\n```\n  curl http://npmjs.org/install.sh | sh\n```\n\n### Installing winston\n```\n  [sudo] npm install winston\n```\n\n## Run Tests\nAll of the winston tests are written in [vows][9], and designed to be run with npm. \n\n``` bash\n  $ npm test\n```\n\n#### Author: [Charlie Robbins](http://twitter.com/indexzero)\n#### Contributors: [Matthew Bergman](http://github.com/fotoverite), [Marak Squires](http://github.com/marak)\n\n[0]: https://github.com/isaacs/npm/blob/master/lib/utils/log.js\n[1]: http://nodejs.org/docs/v0.3.5/api/events.html#events.EventEmitter\n[2]: http://github.com/nodejitsu/require-analyzer\n[3]: http://nodejitsu.com\n[4]: https://github.com/visionmedia/log.js\n[5]: http://socket.io\n[6]: https://github.com/jbrisbin/node-rlog\n[7]: https://github.com/feisty/BigBrother\n[8]: http://loggly.com\n[9]: http://vowsjs.org\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/flatiron/winston/issues"},"homepage":"https://github.com/flatiron/winston","_id":"winston@0.6.2","_from":"winston@0.6.x"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/cli-test.js","id":"winston/test/cli-test.js","options":{},"isModule":true,"requiredModules":["path","vows","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/container-test.js","id":"winston/test/container-test.js","options":{},"isModule":true,"requiredModules":["assert","fs","http","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/custom-timestamp-test.js","id":"winston/test/custom-timestamp-test.js","options":{},"isModule":true,"requiredModules":["assert","events","fs","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/exception-test.js","id":"winston/test/exception-test.js","options":{},"isModule":true,"requiredModules":["path","vows","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/fixtures/scripts/default-exceptions.js","id":"winston/test/fixtures/scripts/default-exceptions.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/fixtures/scripts/exit-on-error.js","id":"winston/test/fixtures/scripts/exit-on-error.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/fixtures/scripts/log-exceptions.js","id":"winston/test/fixtures/scripts/log-exceptions.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/fixtures/scripts/unhandle-exceptions.js","id":"winston/test/fixtures/scripts/unhandle-exceptions.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/helpers.js","id":"winston/test/helpers.js","options":{},"isModule":true,"requiredModules":["assert","fs","path","child_process","util/util.js","vows","winston/lib/winston.js"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/log-exception-test.js","id":"winston/test/log-exception-test.js","options":{},"isModule":true,"requiredModules":["assert","path","fs","child_process","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/log-rewriter-test.js","id":"winston/test/log-rewriter-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1339456411000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/logger-test.js","id":"winston/test/logger-test.js","options":{},"isModule":true,"requiredModules":["path","vows","assert","winston/lib/winston.js","winston/test/helpers.js","winston/test/transports/transport.js"],"mtime":1339456411000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/transports/console-test.js","id":"winston/test/transports/console-test.js","options":{},"isModule":true,"requiredModules":["path","vows","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/transports/file-maxfiles-test.js","id":"winston/test/transports/file-maxfiles-test.js","options":{},"isModule":true,"requiredModules":["assert","child_process","fs","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1336496721000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/transports/file-maxsize-test.js","id":"winston/test/transports/file-maxsize-test.js","options":{},"isModule":true,"requiredModules":["assert","child_process","fs","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1322812420000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/transports/file-test.js","id":"winston/test/transports/file-test.js","options":{},"isModule":true,"requiredModules":["path","vows","fs","assert","winston/lib/winston.js","winston/test/helpers.js","winston/test/transports/transport.js"],"mtime":1341728999000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/transports/transport.js","id":"winston/test/transports/transport.js","options":{},"isModule":true,"requiredModules":["assert","winston/lib/winston.js","winston/test/helpers.js","winston/lib/winston/common.js"],"mtime":1341729342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/transports/webhook-test.js","id":"winston/test/transports/webhook-test.js","options":{},"isModule":true,"requiredModules":["path","vows","fs","http","https","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1339456411000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/node_modules/winston/test/winston-test.js","id":"winston/test/winston-test.js","options":{},"isModule":true,"requiredModules":["fs","path","vows","http","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1339456411000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/package.json","data":{"name":"prompt","description":"A beautiful command-line prompt for node.js","version":"0.2.11","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie@nodejitsu.com"},{"name":"jesusabdullah","email":"josh@nodejitsu.com"}],"repository":{"type":"git","url":"http://github.com/flatiron/prompt.git"},"dependencies":{"pkginfo":"0.x.x","read":"1.0.x","revalidator":"0.1.x","utile":"0.2.x","winston":"0.6.x"},"devDependencies":{"vows":"0.7.0"},"main":"./lib/prompt","scripts":{"test":"vows test/prompt-test.js --spec","test-all":"vows --spec"},"engines":{"node":">= 0.6.6"},"readme":"# prompt [![Build Status](https://secure.travis-ci.org/flatiron/prompt.png)](http://travis-ci.org/flatiron/prompt)\n\nA beautiful command-line prompt for node.js\n\n## Features\n\n* prompts the user for input\n* supports validation and defaults\n* hides passwords\n\n## Usage\nUsing prompt is relatively straight forward. There are two core methods you should be aware of: `prompt.get()` and `prompt.addProperties()`. There methods take strings representing property names in addition to objects for complex property validation (and more). There are a number of [examples][0] that you should examine for detailed usage.\n\n### Getting Basic Prompt Information\nGetting started with `prompt` is easy. Lets take a look at `examples/simple-prompt.js`:\n\n``` js\n  var prompt = require('prompt');\n\n  //\n  // Start the prompt\n  //\n  prompt.start();\n\n  //\n  // Get two properties from the user: username and email\n  //\n  prompt.get(['username', 'email'], function (err, result) {\n    //\n    // Log the results.\n    //\n    console.log('Command-line input received:');\n    console.log('  username: ' + result.username);\n    console.log('  email: ' + result.email);\n  });\n```\n\nThis will result in the following command-line output:\n\n```\n  $ node examples/simple-prompt.js \n  prompt: username: some-user\n  prompt: email: some-user@some-place.org\n  Command-line input received:\n    username: some-user\n    email: some-user@some-place.org\n```\n\n### Prompting with Validation, Default Values, and More (Complex Properties)\nIn addition to prompting the user with simple string prompts, there is a robust API for getting and validating complex information from a command-line prompt. Here's a quick sample:\n\n``` js\n  var schema = {\n    properties: {\n      name: {\n        pattern: /^[a-zA-Z\\s\\-]+$/,\n        message: 'Name must be only letters, spaces, or dashes',\n        required: true\n      },\n      password: {\n        hidden: true\n      }\n    }\n  };\n\n  //\n  // Start the prompt\n  //\n  prompt.start();\n\n  //\n  // Get two properties from the user: email, password\n  //\n  prompt.get(schema, function (err, result) {\n    //\n    // Log the results.\n    //\n    console.log('Command-line input received:');\n    console.log('  name: ' + result.name);\n    console.log('  password: ' + result.password);\n  });\n```\n\nPretty easy right? The output from the above script is: \n\n```\n  $ node examples/property-prompt.js\n  prompt: name: nodejitsu000\n  error:  Invalid input for name\n  error:  Name must be only letters, spaces, or dashes\n  prompt: name: Nodejitsu Inc\n  prompt: password: \n  Command-line input received:\n    name: Nodejitsu Inc\n    password: some-password  \n```\n\n## Valid Property Settings\n`prompt` understands JSON-schema with a few extra parameters and uses [revalidator](https://github.com/flatiron/revalidator) for validation.\n\nHere's an overview of the properties that may be used for validation and prompting controls:\n\n``` js\n  {\n    description: 'Enter your password',     // Prompt displayed to the user. If not supplied name will be used.\n    type: 'string',                 // Specify the type of input to expect.\n    pattern: /^\\w+$/,                  // Regular expression that input must be valid against.\n    message: 'Password must be letters', // Warning message to display if validation fails.\n    hidden: true,                        // If true, characters entered will not be output to console.\n    default: 'lamepassword',             // Default value to use if no value is entered.\n    required: true                        // If true, value entered must be non-empty.\n    before: function(value) { return 'v' + value; } // Runs before node-prompt callbacks. It modifies user's input\n  }\n```\n\nAlternatives to `pattern` include `format` and `conform`, as documented in [revalidator](https://github.com/flatiron/revalidator).\n\nUsing `type: 'array'` has some special cases.\n\n- `description` will not work in the schema if `type: 'array'` is defined.\n- `maxItems` takes precedence over `minItems`.\n- Arrays that do not have `maxItems` defined will require users to `SIGINT` (`^C`) before the array is ended.\n- If `SIGINT` (`^C`) is triggered before `minItems` is met, a validation error will appear. This will require users to `SIGEOF` (`^D`) to end the input.\n\nFor more information on things such as `maxItems` and `minItems`, refer to the [revalidator](https://github.com/flatiron/revalidator) repository.\n\n### Alternate Validation API:\n\nPrompt, in addition to iterating over JSON-Schema properties, will also happily iterate over an array of validation objects given an extra 'name' property:\n\n```js\n  var prompt = require('../lib/prompt');\n\n  //\n  // Start the prompt\n  //\n  prompt.start();\n\n  //\n  // Get two properties from the user: username and password\n  //\n  prompt.get([{\n      name: 'username',\n      required: true\n    }, {\n      name: 'password',\n      hidden: true,\n      conform: function (value) {\n        return true;\n      }\n    }], function (err, result) {\n    //\n    // Log the results.\n    //\n    console.log('Command-line input received:');\n    console.log('  username: ' + result.username);\n    console.log('  password: ' + result.password);\n  });\n```\n\n### Backward Compatibility\n\nNote that, while this structure is similar to that used by prompt 0.1.x, that the object properties use the same names as in JSON-Schema. prompt 0.2.x is backward compatible with prompt 0.1.x except for asynchronous validation.\n\n### Skipping Prompts\n\nSometimes power users may wish to skip promts and specify all data as command line options. \nif a value is set as a property of `prompt.override` prompt will use that instead of \nprompting the user.\n\n``` js\n  //prompt-override.js\n\n  var prompt = require('prompt'),\n      optimist = require('optimist')\n\n  //\n  // set the overrides\n  //\n  prompt.override = optimist.argv\n\n  //\n  // Start the prompt\n  //\n  prompt.start();\n\n  //\n  // Get two properties from the user: username and email\n  //\n  prompt.get(['username', 'email'], function (err, result) {\n    //\n    // Log the results.\n    //\n    console.log('Command-line input received:');\n    console.log('  username: ' + result.username);\n    console.log('  email: ' + result.email);\n  })\n\n  //: node prompt-override.js --username USER --email EMAIL\n```\n\n\n### Adding Properties to an Object \nA common use-case for prompting users for data from the command-line is to extend or create a configuration object that is passed onto the entry-point method for your CLI tool. `prompt` exposes a convenience method for doing just this: \n\n``` js\n  var obj = {\n    password: 'lamepassword',\n    mindset: 'NY'\n  }\n\n  //\n  // Log the initial object.\n  //\n  console.log('Initial object to be extended:');\n  console.dir(obj);\n\n  //\n  // Add two properties to the empty object: username and email\n  //\n  prompt.addProperties(obj, ['username', 'email'], function (err) {\n    //\n    // Log the results.\n    //\n    console.log('Updated object received:');\n    console.dir(obj);\n  });\n```\n\n## Customizing your prompt\nAside from changing `property.message`, you can also change `prompt.message`\nand `prompt.delimiter` to change the appearance of your prompt.\n\nThe basic structure of a prompt is this:\n\n``` js\nprompt.message + prompt.delimiter + property.message + prompt.delimiter;\n```\n\nThe default `prompt.message` is \"prompt,\" the default `prompt.delimiter` is\n\": \", and the default `property.message` is `property.name`.\nChanging these allows you to customize the appearance of your prompts! In\naddition, prompt supports ANSI color codes via the\n[colors module](https://github.com/Marak/colors.js) for custom colors. For a\nvery colorful example:\n\n``` js\n  var prompt = require(\"prompt\");\n\n  //\n  // Setting these properties customizes the prompt.\n  //\n  prompt.message = \"Question!\".rainbow;\n  prompt.delimiter = \"><\".green;\n\n  prompt.start();\n\n  prompt.get({\n    properties: {\n      name: {\n        description: \"What is your name?\".magenta\n      }\n    }\n  }, function (err, result) {\n    console.log(\"You said your name is: \".cyan + result.name.cyan);\n  });\n```\n\nIf you don't want colors, you can set\n\n```js\nvar prompt = require('prompt');\n\nprompt.colors = false;\n```\n\n## Installation\n\n``` bash\n  $ [sudo] npm install prompt\n```\n\n## Running tests\n\n``` bash \n  $ npm test\n```\n\n#### License: MIT\n#### Author: [Charlie Robbins](http://github.com/indexzero)\n#### Contributors: [Josh Holbrook](http://github.com/jesusabdullah), [Pavan Kumar Sunkara](http://github.com/pksunkara)\n\n[0]: https://github.com/flatiron/prompt/tree/master/examples\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/flatiron/prompt/issues"},"homepage":"https://github.com/flatiron/prompt","_id":"prompt@0.2.11","_shasum":"26d455af4b7fac15291dfcdddf2400328c1fa446","_from":"prompt@0.2.11","_resolved":"https://registry.npmjs.org/prompt/-/prompt-0.2.11.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/test/helpers.js","id":"prompt/test/helpers.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js","prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/test/interactive-prompt-test.js","id":"prompt/test/interactive-prompt-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","prompt/lib/prompt.js","winston/lib/winston.js","prompt/test/helpers.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/test/macros.js","id":"prompt/test/macros.js","options":{},"isModule":true,"requiredModules":["assert","prompt/test/helpers.js","prompt/lib/prompt.js"],"mtime":1372807029000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/node_modules/prompt/test/prompt-test.js","id":"prompt/test/prompt-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","prompt/lib/prompt.js","prompt/test/helpers.js","prompt/test/macros.js"],"mtime":1372807029000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/htpasswd/package.json","data":{"name":"htpasswd","description":"Node.js package for HTTP Basic Authentication password file utility.","version":"2.1.2","author":{"name":"Gevorg Harutyunyan","url":"http://github.com/gevorg"},"maintainers":[{"name":"gevorg","email":"gevorg.ha@gmail.com"}],"homepage":"http://github.com/gevorg/htpasswd","repository":{"type":"git","url":"http://github.com/gevorg/htpasswd.git"},"main":"./lib/htpasswd.js","bin":{"htpasswd":"./lib/htpasswd.js"},"licenses":[{"type":"MIT","url":"http://github.com/gevorg/htpasswd/blob/master/LICENSE"}],"bugs":{"url":"http://github.com/gevorg/htpasswd/issues"},"dependencies":{"coffee-script":"1.6.3","apache-md5":"1.0.0","commander":"2.0.0","prompt":"0.2.11","apache-crypt":"1.0.6"},"optionalDependencies":{"apache-crypt":"1.0.6"},"devDependencies":{"nodeunit":"0.8.1"},"engines":{"node":">=0.4.1"},"scripts":{"test":"node ./node_modules/nodeunit/bin/nodeunit tests"},"keywords":["node","htpasswd","http","server","basic","access","authentication"],"readme":"# htpasswd\n[Node.js](http://nodejs.org/) package for HTTP Basic Authentication password file utility.\n\n[![Build Status](https://api.travis-ci.org/gevorg/htpasswd.png)](https://travis-ci.org/gevorg/htpasswd)\n[![Dependency Status](https://david-dm.org/gevorg/htpasswd.png)](https://david-dm.org/gevorg/htpasswd)\n\n## Installation\n\nVia git (or downloaded tarball):\n\n```bash\n$ git clone git://github.com/gevorg/htpasswd.git\n```\nVia [npm](http://npmjs.org/):\n\n```bash\n$ npm install -g htpasswd\n```\t\n## Usage\n\n```bash\n$ htpasswd [-cimpsDv] passwordfile username\n$ htpasswd -b[cmpsDv] passwordfile username password\n\n$ htpasswd -n[imps] username\n$ htpasswd -nb[mps] username password\n```\t\n\n## Options\n\n - `-b` - Use the password from the command line rather than prompting for it. This option should be used with extreme care, since the password is clearly visible on the command line. For script use see the -i option.\n - `-i` - Read the password from stdin without verification (for script usage).\n - `-c` - Create a new file.\n - `-n` - Don't update file; display results on stdout.\n - `-m` - Use MD5 encryption for passwords. This is the default.\n - `-d` - Use crypt() encryption for passwords. This algorithm limits the password length to 8 characters. This algorithm is insecure by today's standards. (DOES NOT WORK ON WINDOWS)\n - `-s` - Use SHA encryption for passwords. This algorithm is insecure by today's standards.\n - `-p` - Do not encrypt the password (plaintext).\n - `-D` - Delete the specified user.\n - `-v` - Verify password. Verify that the given password matches the password of the user stored in the specified htpasswd file.\n\n## Running tests\n\nIt uses [nodeunit](https://github.com/caolan/nodeunit/), so just run following command in package directory:\n\n```bash\n$ npm test\n```\n\n## Issues\n\nYou can find list of issues using **[this link](http://github.com/gevorg/htpasswd/issues)**.\n\n## Requirements\n\n - **[Node.js](http://nodejs.org)** - Event-driven I/O server-side JavaScript       environment based on V8.\n - **[npm](http://npmjs.org)** - Package manager. Installs, publishes and manages   node programs.\n\n## Dependencies\n\n - **[commander](https://github.com/visionmedia/commander.js/)** - node.js command-line interfaces made easy.\n - **[coffee-script](http://coffeescript.org/)** - CoffeeScript is a little language that compiles into JavaScript.\n - **[prompt](https://github.com/flatiron/prompt)** - a beautiful command-line prompt for node.js.\n - **[apache-md5](https://github.com/gevorg/apache-md5)** - Node.js module for Apache style password encryption using md5.\n\n## Optional dependencies\n\n - **[apache-crypt](https://github.com/gevorg/apache-crypt)** - Node.js module for Apache style password encryption using crypt(3). (DOES NOT WORK ON WINDOWS)\n\n## Development dependencies\n\n - **[nodeunit](https://github.com/caolan/nodeunit/)** - Easy unit testing in node.js and the browser, based on the assert module.\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2014 Gevorg Harutyunyan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","_id":"htpasswd@2.1.2","_shasum":"ba2959c67dc1fedbab9fd741cfc27e79ef10497a","_from":"htpasswd@2.1.2","_resolved":"https://registry.npmjs.org/htpasswd/-/htpasswd-2.1.2.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/node-uuid/benchmark/benchmark.js","id":"node-uuid/benchmark/benchmark.js","options":{},"isModule":true,"requiredModules":["node-uuid/uuid.js","uuid","uuid-js"],"mtime":1376743775000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/node-uuid/component.json","id":"node-uuid/component.json","options":{},"isModule":true,"mtime":1376743797000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/node-uuid/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/node-uuid/package.json","data":{"name":"node-uuid","description":"Rigorous implementation of RFC4122 (v1 and v4) UUIDs.","url":"http://github.com/broofa/node-uuid","keywords":["uuid","guid","rfc4122"],"author":{"name":"Robert Kieffer","email":"robert@broofa.com"},"contributors":[{"name":"Christoph Tavan","email":"dev@tavan.de"}],"lib":".","main":"./uuid.js","repository":{"type":"git","url":"https://github.com/broofa/node-uuid.git"},"version":"1.4.1","readme":"# node-uuid\n\nSimple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.\n\nFeatures:\n\n* Generate RFC4122 version 1 or version 4 UUIDs\n* Runs in node.js and all browsers.\n* Registered as a [ComponentJS](https://github.com/component/component) [component](https://github.com/component/component/wiki/Components) ('broofa/node-uuid').\n* Cryptographically strong random # generation on supporting platforms\n* 1.1K minified and gzip'ed  (Want something smaller?  Check this [crazy shit](https://gist.github.com/982883) out! )\n* [Annotated source code](http://broofa.github.com/node-uuid/docs/uuid.html)\n\n## Getting Started\n\nInstall it in your browser:\n\n```html\n<script src=\"uuid.js\"></script>\n```\n\nOr in node.js:\n\n```\nnpm install node-uuid\n```\n\n```javascript\nvar uuid = require('node-uuid');\n```\n\nThen create some ids ...\n\n```javascript\n// Generate a v1 (time-based) id\nuuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'\n\n// Generate a v4 (random) id\nuuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'\n```\n\n## API\n\n### uuid.v1([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v1 (timestamp-based) UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n  * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID.  See note 1.\n  * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence.  Default: An internally maintained clockseq is used.\n  * `msecs` - (Number | Date) Time in milliseconds since unix Epoch.  Default: The current time is used.\n  * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nNotes:\n\n1. The randomly generated node id is only guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v1({\n  node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n  clockseq: 0x1234,\n  msecs: new Date('2011-11-01').getTime(),\n  nsecs: 5678\n});   // -> \"710b962e-041c-11e1-9234-0123456789ab\"\n```\n\nExample: In-place generation of two binary IDs\n\n```javascript\n// Generate two ids in an array\nvar arr = new Array(32); // -> []\nuuid.v1(null, arr, 0);   // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\nuuid.v1(null, arr, 16);  // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\n\n// Optionally use uuid.unparse() to get stringify the ids\nuuid.unparse(buffer);    // -> '02a2ce90-1432-11e1-8558-0b488e4fc115'\nuuid.unparse(buffer, 16) // -> '02a31cb0-1432-11e1-8558-0b488e4fc115'\n```\n\n### uuid.v4([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n  * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values\n  * `rng` - (Function) Random # generator to use.  Set to one of the built-in generators - `uuid.mathRNG` (all platforms), `uuid.nodeRNG` (node.js only), `uuid.whatwgRNG` (WebKit only) - or a custom function that returns an array[16] of byte values.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v4({\n  random: [\n    0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,\n    0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36\n  ]\n});\n// -> \"109156be-c4fb-41ea-b1b4-efe1671c5836\"\n```\n\nExample: Generate two IDs in a single buffer\n\n```javascript\nvar buffer = new Array(32); // (or 'new Buffer' in node.js)\nuuid.v4(null, buffer, 0);\nuuid.v4(null, buffer, 16);\n```\n\n### uuid.parse(id[, buffer[, offset]])\n### uuid.unparse(buffer[, offset])\n\nParse and unparse UUIDs\n\n  * `id` - (String) UUID(-like) string\n  * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. Default: A new Array or Buffer is used\n  * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default: 0\n\nExample parsing and unparsing a UUID string\n\n```javascript\nvar bytes = uuid.parse('797ff043-11eb-11e1-80d6-510998755d10'); // -> <Buffer 79 7f f0 43 11 eb 11 e1 80 d6 51 09 98 75 5d 10>\nvar string = uuid.unparse(bytes); // -> '797ff043-11eb-11e1-80d6-510998755d10'\n```\n\n### uuid.noConflict()\n\n(Browsers only) Set `uuid` property back to it's previous value.\n\nReturns the node-uuid object.\n\nExample:\n\n```javascript\nvar myUuid = uuid.noConflict();\nmyUuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'\n```\n\n## Deprecated APIs\n\nSupport for the following v1.2 APIs is available in v1.3, but is deprecated and will be removed in the next major version.\n\n### uuid([format [, buffer [, offset]]])\n\nuuid() has become uuid.v4(), and the `format` argument is now implicit in the `buffer` argument. (i.e. if you specify a buffer, the format is assumed to be binary).\n\n### uuid.BufferClass\n\nThe class of container created when generating binary uuid data if no buffer argument is specified.  This is expected to go away, with no replacement API.\n\n## Testing\n\nIn node.js\n\n```\n> cd test\n> node test.js\n```\n\nIn Browser\n\n```\nopen test/test.html\n```\n\n### Benchmarking\n\nRequires node.js\n\n```\nnpm install uuid uuid-js\nnode benchmark/benchmark.js\n```\n\nFor a more complete discussion of node-uuid performance, please see the `benchmark/README.md` file, and the [benchmark wiki](https://github.com/broofa/node-uuid/wiki/Benchmark)\n\nFor browser performance [checkout the JSPerf tests](http://jsperf.com/node-uuid-performance).\n\n## Release notes\n\n### 1.4.0\n\n* Improved module context detection\n* Removed public RNG functions\n\n### 1.3.2\n\n* Improve tests and handling of v1() options (Issue #24)\n* Expose RNG option to allow for perf testing with different generators\n\n### 1.3.0\n\n* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)!\n* Support for node.js crypto API\n* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/broofa/node-uuid/issues"},"homepage":"https://github.com/broofa/node-uuid","_id":"node-uuid@1.4.1","_from":"node-uuid@~1.4.0","scripts":{}},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/node-uuid/test/compare_v1.js","id":"node-uuid/test/compare_v1.js","options":{},"isModule":true,"requiredModules":["assert","node-uuid/uuid.js","uuid-js","uuid","util/util.js","child_process","os"],"mtime":1325557066000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/node-uuid/test/test.js","id":"node-uuid/test/test.js","options":{},"isModule":true,"requiredModules":["node-uuid/uuid.js"],"mtime":1376743775000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/node_modules/node-uuid/uuid.js","id":"node-uuid/uuid.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1376743797000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/http-auth/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/http-auth/package.json","data":{"name":"http-auth","description":"Node.js package for HTTP basic and digest access authentication.","version":"2.2.0","author":{"name":"Gevorg Harutyunyan","url":"http://github.com/gevorg"},"maintainers":[{"name":"gevorg","email":"gevorg.ha@gmail.com"}],"homepage":"http://http-auth.info","repository":{"type":"git","url":"http://github.com/gevorg/http-auth.git"},"main":"./lib/http-auth.js","licenses":[{"type":"MIT","url":"http://github.com/gevorg/http-auth/blob/master/LICENSE"}],"bugs":{"url":"http://github.com/gevorg/http-auth/issues"},"dependencies":{"coffee-script":"1.6.3","node-uuid":"1.4.1","htpasswd":"2.1.2"},"devDependencies":{"nodeunit":"0.8.1","express":"3.3.8","http-proxy":"1.4.2","request":"2.27.0"},"engines":{"node":">=0.4.1"},"scripts":{"test":"node ./node_modules/nodeunit/bin/nodeunit tests"},"keywords":["node","http","server","basic","digest","access","authentication"],"readme":"# http-auth\n[Node.js](http://nodejs.org/) package for HTTP basic and digest access authentication.\n\n[![Build Status](https://api.travis-ci.org/gevorg/http-auth.png)](https://travis-ci.org/gevorg/http-auth)\n[![Dependency Status](https://david-dm.org/gevorg/http-auth.png)](https://david-dm.org/gevorg/http-auth)\n\n## Installation\n\nVia git (or downloaded tarball):\n\n```bash\n$ git clone git://github.com/gevorg/http-auth.git\n```\nVia [npm](http://npmjs.org/):\n\n```bash\n$ npm install http-auth\n```\t\n\n## Basic example\n```javascript\n// Authentication module.\nvar auth = require('http-auth');\nvar basic = auth.basic({\n\trealm: \"Simon Area.\",\n\tfile: __dirname + \"/../data/users.htpasswd\" // gevorg:gpass, Sarah:testpass ...\n});\n\n// Creating new HTTP server.\nhttp.createServer(basic, function(req, res) {\n\tres.end(\"Welcome to private area - \" + req.user + \"!\");\n}).listen(1337);\n\n```\n## Custom authentication function\n```javascript\t\n// Authentication module.\nvar auth = require('http-auth');\nvar basic = auth.basic({\n\t\trealm: \"Simon Area.\"\n\t}, function (username, password, callback) { // Custom authentication method.\n\t\tcallback(username === \"Tina\" && password === \"Bullock\");\n\t}\n);\n\n// Creating new HTTP server.\nhttp.createServer(basic, function(req, res) {\n\tres.end(\"Welcome to private area - \" + req.user + \"!\");\n}).listen(1337);\n```\t\n## [express framework](http://expressjs.com/) integration\n```javascript\n// Authentication module.\nvar auth = require('http-auth');\nvar basic = auth.basic({\n\trealm: \"Simon Area.\",\n\tfile: __dirname + \"/../data/users.htpasswd\" // gevorg:gpass, Sarah:testpass ...\n});\n\n// Application setup.\nvar app = express();\napp.use(auth.connect(basic));\n\n// Setup route.\napp.get('/', function(req, res){\n  res.send(\"Hello from express - \" + req.user + \"!\");\n});\n```\n## [http-proxy](https://github.com/nodejitsu/node-http-proxy/) integration\n```javascript\n// Authentication module.\nvar auth = require('http-auth');\nvar basic = auth.basic({\n\trealm: \"Simon Area.\",\n\tfile: __dirname + \"/../data/users.htpasswd\" // gevorg:gpass, Sarah:testpass ...\n});\n\n// Create your proxy server.\nhttpProxy.createServer(basic, { target: 'http://localhost:1338' }).listen(1337);\n\n// Create your target server.\nhttp.createServer(function (req, res) {\n\tres.end(\"Request successfully proxied!\");\n}).listen(1338);\n```\n## Configurations\n\n - `realm` - Authentication realm.\n - `file` - File where user details are stored.\n \t- Line format is **{user:pass}** or **{user:passHash}** for basic access. \n \t- Line format is **{user:realm:passHash}** for digest access.\n - `algorithm` - Algorithm that will be used only for **digest** access authentication.\n \t- **MD5** by default.\n \t- **MD5-sess** can be set.\n - `qop` - Quality of protection that is used only for **digest** access authentication.\n \t- **auth** is set by default.\n \t- **none** this option is disabling protection.\n - `msg401` - Message for failed authentication 401 page.\n - `msg407` - Message for failed authentication 407 page.\n - `contentType` - Content type for failed authentication page.\n - `skipUser` - Set this to **true**, if you don't want req.user to be filled with authentication info.\n\n## Running tests\n\nIt uses [nodeunit](https://github.com/caolan/nodeunit/), so just run following command in package directory:\n\n```bash\n$ npm test\n```\n\n## Issues\n\nYou can find list of issues using **[this link](http://github.com/gevorg/http-auth/issues)**.\n\n## Requirements\n\n - **[Node.js](http://nodejs.org)** - Event-driven I/O server-side JavaScript environment based on V8.\n - **[npm](http://npmjs.org)** - Package manager. Installs, publishes and manages node programs.\n\n## Utilities\n\n - **[htpasswd](https://github.com/gevorg/htpasswd/)** - Node.js package for HTTP Basic Authentication password file utility.\n - **[htdigest](https://github.com/gevorg/htdigest/)** - Node.js package for HTTP Digest Authentication password file utility.\n\n## Dependencies\n\n - **[coffee-script](http://coffeescript.org/)** - CoffeeScript is a little language that compiles into JavaScript.\n - **[node-uuid](https://github.com/broofa/node-uuid/)** - Generate RFC4122(v4) UUIDs, and also non-RFC compact ids.\n - **[htpasswd](https://github.com/gevorg/htpasswd/)** - Node.js package for HTTP Basic Authentication password file utility.\n\n## Development dependencies\n\n - **[nodeunit](https://github.com/caolan/nodeunit/)** - Easy unit testing in node.js and the browser, based on the assert module.\n - **[express](http://expressjs.com/)** - Sinatra inspired web development framework for node.js -- insanely fast, flexible, and simple.\n - **[http-proxy](https://github.com/nodejitsu/node-http-proxy/)** - A full-featured http proxy for node.js.\n - **[request](https://github.com/mikeal/request/)** - Simplified HTTP request client.\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2014 Gevorg Harutyunyan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","_id":"http-auth@2.2.0","_shasum":"9430607c65848da2861fa3cf247652ebe4ba8ee7","_from":"http-auth@^2.1.9","_resolved":"https://registry.npmjs.org/http-auth/-/http-auth-2.2.0.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/.release.json","id":"jade/.release.json","options":{},"isModule":true,"mtime":1405425377000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/bin/jade.js","id":"jade/bin/jade.js","options":{},"isModule":true,"requiredModules":["fs","commander/index.js","path","monocle/monocle.js","mkdirp/index.js","jade/index.js","/Users/james/dev/maxwell-edi/node_modules/jade/package.json"],"mtime":1410949560000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/component.json","id":"jade/component.json","options":{},"isModule":true,"mtime":1410949923000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/index.js","id":"jade/index.js","options":{},"isModule":true,"requiredModules":["jade/lib/jade.js"],"mtime":1393588238000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/jade.js","id":"jade/jade.js","options":{},"isModule":true,"mtime":1410950027000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/compiler.js","id":"jade/lib/compiler.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/index.js","jade/lib/filters.js","jade/lib/doctypes.js","jade/lib/runtime.js","jade/lib/utils.js","void-elements/index.js","character-parser/index.js","constantinople/index.js"],"mtime":1410948760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/doctypes.js","id":"jade/lib/doctypes.js","options":{},"isModule":true,"mtime":1401452487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/filters-client.js","id":"jade/lib/filters-client.js","options":{},"isModule":true,"mtime":1406637298000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/filters.js","id":"jade/lib/filters.js","options":{},"isModule":true,"requiredModules":["transformers/lib/transformers.js"],"mtime":1406637279000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/index.js","id":"jade/lib/index.js","options":{},"isModule":true,"mtime":1386258036000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/inline-tags.js","id":"jade/lib/inline-tags.js","options":{},"isModule":true,"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/jade.js","id":"jade/lib/jade.js","options":{},"isModule":true,"requiredModules":["jade/lib/parser.js","jade/lib/lexer.js","jade/lib/compiler.js","jade/lib/runtime.js","with/index.js","fs","jade/lib/utils.js","void-elements/index.js","jade/lib/doctypes.js","jade/lib/filters.js","jade/lib/nodes/index.js"],"mtime":1410877413000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/lexer.js","id":"jade/lib/lexer.js","options":{},"isModule":true,"requiredModules":["jade/lib/utils.js","character-parser/index.js"],"mtime":1410277523000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/attrs.js","id":"jade/lib/nodes/attrs.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1395245701000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/block-comment.js","id":"jade/lib/nodes/block-comment.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/block.js","id":"jade/lib/nodes/block.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1395245701000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/case.js","id":"jade/lib/nodes/case.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/code.js","id":"jade/lib/nodes/code.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/comment.js","id":"jade/lib/nodes/comment.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/doctype.js","id":"jade/lib/nodes/doctype.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/each.js","id":"jade/lib/nodes/each.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/filter.js","id":"jade/lib/nodes/filter.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1393588238000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/index.js","id":"jade/lib/nodes/index.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js","jade/lib/nodes/tag.js","jade/lib/nodes/code.js","jade/lib/nodes/each.js","jade/lib/nodes/case.js","jade/lib/nodes/text.js","jade/lib/nodes/block.js","jade/lib/nodes/mixin-block.js","jade/lib/nodes/mixin.js","jade/lib/nodes/filter.js","jade/lib/nodes/comment.js","jade/lib/nodes/literal.js","jade/lib/nodes/block-comment.js","jade/lib/nodes/doctype.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/literal.js","id":"jade/lib/nodes/literal.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/mixin-block.js","id":"jade/lib/nodes/mixin-block.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1386586134000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/mixin.js","id":"jade/lib/nodes/mixin.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/attrs.js"],"mtime":1393588238000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/node.js","id":"jade/lib/nodes/node.js","options":{},"isModule":true,"mtime":1395245701000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/tag.js","id":"jade/lib/nodes/tag.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/attrs.js","jade/lib/nodes/block.js","jade/lib/inline-tags.js"],"mtime":1395245701000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/nodes/text.js","id":"jade/lib/nodes/text.js","options":{},"isModule":true,"requiredModules":["jade/lib/nodes/node.js"],"mtime":1393595177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/parser.js","id":"jade/lib/parser.js","options":{},"isModule":true,"requiredModules":["jade/lib/lexer.js","jade/lib/nodes/index.js","jade/lib/utils.js","jade/lib/filters.js","path","constantinople/index.js","character-parser/index.js","fs"],"mtime":1406645768000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/runtime.js","id":"jade/lib/runtime.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1405424555000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/lib/utils.js","id":"jade/lib/utils.js","options":{},"isModule":true,"mtime":1410277523000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/character-parser/index.js","id":"character-parser/index.js","options":{},"isModule":true,"mtime":1376329663000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/character-parser/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/character-parser/package.json","data":{"name":"character-parser","version":"1.2.0","description":"Parse JavaScript one character at a time to look for snippets in Templates.  This is not a validator, it's just designed to allow you to have sections of JavaScript delimited by brackets robustly.","main":"index.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/character-parser.git"},"keywords":["parser","JavaScript","bracket","nesting","comment","string","escape","escaping"],"author":{"name":"ForbesLindesay"},"license":"MIT","devDependencies":{"better-assert":"~1.0.0","mocha":"~1.9.0"},"readme":"# character-parser\r\n\r\nParse JavaScript one character at a time to look for snippets in Templates.  This is not a validator, it's just designed to allow you to have sections of JavaScript delimited by brackets robustly.\r\n\r\n[![Build Status](https://travis-ci.org/ForbesLindesay/character-parser.png?branch=master)](https://travis-ci.org/ForbesLindesay/character-parser)\r\n\r\n## Installation\r\n\r\n    npm install character-parser\r\n\r\n## Usage\r\n\r\nWork out how much depth changes:\r\n\r\n```js\r\nvar state = parse('foo(arg1, arg2, {\\n  foo: [a, b\\n');\r\nassert(state.roundDepth === 1);\r\nassert(state.curlyDepth === 1);\r\nassert(state.squareDepth === 1);\r\nparse('    c, d]\\n  })', state);\r\nassert(state.squareDepth === 0);\r\nassert(state.curlyDepth === 0);\r\nassert(state.roundDepth === 0);\r\n```\r\n\r\n### Bracketed Expressions\r\n\r\nFind all the contents of a bracketed expression:\r\n\r\n```js\r\nvar section = parser.parseMax('foo=\"(\", bar=\"}\") bing bong');\r\nassert(section.start === 0);\r\nassert(section.end === 16);//exclusive end of string\r\nassert(section.src = 'foo=\"(\", bar=\"}\"');\r\n\r\n\r\nvar section = parser.parseMax('{foo=\"(\", bar=\"}\"} bing bong', {start: 1});\r\nassert(section.start === 1);\r\nassert(section.end === 17);//exclusive end of string\r\nassert(section.src = 'foo=\"(\", bar=\"}\"');\r\n```\r\n\r\nThe bracketed expression parsing simply parses up to but excluding the first unmatched closed bracket (`)`, `}`, `]`).  It is clever enough to ignore brackets in comments or strings.\r\n\r\n\r\n### Custom Delimited Expressions\r\n\r\nFind code up to a custom delimiter:\r\n\r\n```js\r\nvar section = parser.parseUntil('foo.bar(\"%>\").baz%> bing bong', '%>');\r\nassert(section.start === 0);\r\nassert(section.end === 17);//exclusive end of string\r\nassert(section.src = 'foo.bar(\"%>\").baz');\r\n\r\nvar section = parser.parseUntil('<%foo.bar(\"%>\").baz%> bing bong', '%>', {start: 2});\r\nassert(section.start === 2);\r\nassert(section.end === 19);//exclusive end of string\r\nassert(section.src = 'foo.bar(\"%>\").baz');\r\n```\r\n\r\nDelimiters are ignored if they are inside strings or comments.\r\n\r\n## API\r\n\r\n### parse(str, state = defaultState(), options = {start: 0, end: src.length})\r\n\r\nParse a string starting at the index start, and return the state after parsing that string.\r\n\r\nIf you want to parse one string in multiple sections you should keep passing the resulting state to the next parse operation.\r\n\r\nReturns a `State` object.\r\n\r\n### parseMax(src, options = {start: 0})\r\n\r\nParses the source until the first unmatched close bracket (any of `)`, `}`, `]`).  It returns an object with the structure:\r\n\r\n```js\r\n{\r\n  start: 0,//index of first character of string\r\n  end: 13,//index of first character after the end of string\r\n  src: 'source string'\r\n}\r\n```\r\n\r\n### parseUntil(src, delimiter, options = {start: 0, includeLineComment: false})\r\n\r\nParses the source until the first occurence of `delimiter` which is not in a string or a comment.  If `includeLineComment` is `true`, it will still count if the delimiter occurs in a line comment, but not in a block comment.  It returns an object with the structure:\r\n\r\n```js\r\n{\r\n  start: 0,//index of first character of string\r\n  end: 13,//index of first character after the end of string\r\n  src: 'source string'\r\n}\r\n```\r\n\r\n### parseChar(character, state = defaultState())\r\n\r\nParses the single character and returns the state.  See `parse` for the structure of the returned state object.  N.B. character must be a single character not a multi character string.\r\n\r\n### defaultState()\r\n\r\nGet a default starting state.\r\n\r\n### isPunctuator(character)\r\n\r\nReturns `true` if `character` represents punctuation in JavaScript.\r\n\r\n### isKeyword(name)\r\n\r\nReturns `true` if `name` is a keyword in JavaScript.\r\n\r\n## State\r\n\r\nA state is an object with the following structure\r\n\r\n```js\r\n{\r\n  lineComment: false, //true if inside a line comment\r\n  blockComment: false, //true if inside a block comment\r\n\r\n  singleQuote: false, //true if inside a single quoted string\r\n  doubleQuote: false, //true if inside a double quoted string\r\n  regexp:      false, //true if inside a regular expression\r\n  escaped: false, //true if in a string and the last character was an escape character\r\n\r\n  roundDepth: 0, //number of un-closed open `(` brackets\r\n  curlyDepth: 0, //number of un-closed open `{` brackets\r\n  squareDepth: 0 //number of un-closed open `[` brackets\r\n}\r\n```\r\n\r\nIt also has the following useful methods:\r\n\r\n- `.isString()` returns `true` if the current location is inside a string.\r\n- `.isComment()` returns `true` if the current location is inside a comment.\r\n- `isNesting()` returns `true` if the current location is anything but at the top level, i.e. with no nesting.\r\n\r\n## License\r\n\r\nMIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/ForbesLindesay/character-parser/issues"},"homepage":"https://github.com/ForbesLindesay/character-parser","_id":"character-parser@1.2.0","_shasum":"94134d6e5d870a39be359f7d22460935184ddef6","_from":"character-parser@1.2.0","_resolved":"https://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/commander/index.js","id":"commander/index.js","options":{},"isModule":true,"requiredModules":["events","child_process","fs","path"],"mtime":1385053530000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/commander/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/commander/package.json","data":{"name":"commander","version":"2.1.0","description":"the complete solution for node.js command-line programs","keywords":["command","option","parser","prompt","stdin"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"repository":{"type":"git","url":"https://github.com/visionmedia/commander.js.git"},"devDependencies":{"should":">= 0.0.1"},"scripts":{"test":"make test"},"main":"index","engines":{"node":">= 0.6.x"},"files":["index.js"],"readme":"# Commander.js\n\n  The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/visionmedia/commander).\n\n [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n\n## Installation\n\n    $ npm install commander\n\n## Option parsing\n\n Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require('commander');\n\nprogram\n  .version('0.0.1')\n  .option('-p, --peppers', 'Add peppers')\n  .option('-P, --pineapple', 'Add pineapple')\n  .option('-b, --bbq', 'Add bbq sauce')\n  .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')\n  .parse(process.argv);\n\nconsole.log('you ordered a pizza with:');\nif (program.peppers) console.log('  - peppers');\nif (program.pineapple) console.log('  - pineapple');\nif (program.bbq) console.log('  - bbq');\nconsole.log('  - %s cheese', program.cheese);\n```\n\n Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as \"--template-engine\" are camel-cased, becoming `program.templateEngine` etc.\n\n## Automated --help\n\n The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n\n```  \n $ ./examples/pizza --help\n\n   Usage: pizza [options]\n\n   Options:\n\n     -V, --version        output the version number\n     -p, --peppers        Add peppers\n     -P, --pineapple      Add pineapple\n     -b, --bbq            Add bbq sauce\n     -c, --cheese <type>  Add the specified type of cheese [marble]\n     -h, --help           output usage information\n\n```\n\n## Coercion\n\n```js\nfunction range(val) {\n  return val.split('..').map(Number);\n}\n\nfunction list(val) {\n  return val.split(',');\n}\n\nprogram\n  .version('0.0.1')\n  .usage('[options] <file ...>')\n  .option('-i, --integer <n>', 'An integer argument', parseInt)\n  .option('-f, --float <n>', 'A float argument', parseFloat)\n  .option('-r, --range <a>..<b>', 'A range', range)\n  .option('-l, --list <items>', 'A list', list)\n  .option('-o, --optional [value]', 'An optional value')\n  .parse(process.argv);\n\nconsole.log(' int: %j', program.integer);\nconsole.log(' float: %j', program.float);\nconsole.log(' optional: %j', program.optional);\nprogram.range = program.range || [];\nconsole.log(' range: %j..%j', program.range[0], program.range[1]);\nconsole.log(' list: %j', program.list);\nconsole.log(' args: %j', program.args);\n```\n\n## Custom help\n\n You can display arbitrary `-h, --help` information\n by listening for \"--help\". Commander will automatically\n exit once you are done so that the remainder of your program\n does not execute causing undesired behaviours, for example\n in the following executable \"stuff\" will not output when\n `--help` is used.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require('../');\n\nfunction list(val) {\n  return val.split(',').map(Number);\n}\n\nprogram\n  .version('0.0.1')\n  .option('-f, --foo', 'enable some foo')\n  .option('-b, --bar', 'enable some bar')\n  .option('-B, --baz', 'enable some baz');\n\n// must be before .parse() since\n// node's emit() is immediate\n\nprogram.on('--help', function(){\n  console.log('  Examples:');\n  console.log('');\n  console.log('    $ custom-help --help');\n  console.log('    $ custom-help -h');\n  console.log('');\n});\n\nprogram.parse(process.argv);\n\nconsole.log('stuff');\n```\n\nyielding the following help output:\n\n```\n\nUsage: custom-help [options]\n\nOptions:\n\n  -h, --help     output usage information\n  -V, --version  output the version number\n  -f, --foo      enable some foo\n  -b, --bar      enable some bar\n  -B, --baz      enable some baz\n\nExamples:\n\n  $ custom-help --help\n  $ custom-help -h\n\n```\n\n## .outputHelp()\n\n  Output help information without exiting.\n\n## .help()\n\n  Output help information and exit immediately.\n\n## Links\n\n - [API documentation](http://visionmedia.github.com/commander.js/)\n - [ascii tables](https://github.com/LearnBoost/cli-table)\n - [progress bars](https://github.com/visionmedia/node-progress)\n - [more progress bars](https://github.com/substack/node-multimeter)\n - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/commander.js/issues"},"homepage":"https://github.com/visionmedia/commander.js","_id":"commander@2.1.0","_shasum":"d121bbae860d9992a3d517ba96f56588e47c6781","_from":"commander@2.1.0","_resolved":"https://registry.npmjs.org/commander/-/commander-2.1.0.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/index.js","id":"constantinople/index.js","options":{},"isModule":true,"requiredModules":["uglify-js/tools/node.js"],"mtime":1404901323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/ast.js","id":"uglify-js/lib/ast.js","options":{},"isModule":true,"mtime":1402649405000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/compress.js","id":"uglify-js/lib/compress.js","options":{},"isModule":true,"mtime":1404202043000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/mozilla-ast.js","id":"uglify-js/lib/mozilla-ast.js","options":{},"isModule":true,"mtime":1398326217000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/output.js","id":"uglify-js/lib/output.js","options":{},"isModule":true,"mtime":1404245312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/parse.js","id":"uglify-js/lib/parse.js","options":{},"isModule":true,"mtime":1402649405000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/scope.js","id":"uglify-js/lib/scope.js","options":{},"isModule":true,"mtime":1392379010000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/sourcemap.js","id":"uglify-js/lib/sourcemap.js","options":{},"isModule":true,"mtime":1393831252000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/transform.js","id":"uglify-js/lib/transform.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/lib/utils.js","id":"uglify-js/lib/utils.js","options":{},"isModule":true,"mtime":1386699847000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/async/component.json","id":"async/component.json","options":{},"isModule":true,"mtime":1369727354000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1390494106000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./lib/async","author":{"name":"Caolan McMahon"},"version":"0.2.10","repository":{"type":"git","url":"https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"https://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"]},"scripts":{"test":"nodeunit test/test-async.js"},"readme":"# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n\nasync.parallel([\n    function(){ ... },\n    function(){ ... }\n], callback);\n\nasync.series([\n    function(){ ... },\n    function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n  squareExponent: 2,\n  square: function(number, callback){ \n    var result = Math.pow(number, this.squareExponent);\n    setTimeout(function(){\n      callback(null, result);\n    }, 200);\n  }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n  // result is [NaN, NaN, NaN]\n  // This fails because the `this.squareExponent` expression in the square\n  // function is not evaluated in the context of AsyncSquaringLibrary, and is\n  // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n  // result is [1, 4, 9]\n  // With the help of bind we can attach a context to the iterator before\n  // passing it to async. Now the square function will be executed in its \n  // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n  // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n    npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type=\"text/javascript\" src=\"async.js\"></script>\n<script type=\"text/javascript\">\n\n    async.map(data, asyncProcess, function(err, results){\n        alert(results);\n    });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [eachSeries](#eachSeries)\n* [eachLimit](#eachLimit)\n* [map](#map)\n* [mapSeries](#mapSeries)\n* [mapLimit](#mapLimit)\n* [filter](#filter)\n* [filterSeries](#filterSeries)\n* [reject](#reject)\n* [rejectSeries](#rejectSeries)\n* [reduce](#reduce)\n* [reduceRight](#reduceRight)\n* [detect](#detect)\n* [detectSeries](#detectSeries)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n* [concatSeries](#concatSeries)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [parallelLimit](#parallellimittasks-limit-callback)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [applyEachSeries](#applyEachSeries)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n<a name=\"each\" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n<a name=\"eachSeries\" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n<a name=\"eachLimit\" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"mapLimit\" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n  functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n  array to produce the next step in the reduction. The iterator is passed a\n  callback(err, reduction) which accepts an optional error as its first \n  argument, and the state of the reduction as the second. If an error is \n  passed to the callback, the reduction is stopped and the main callback is \n  immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n    // pointless async:\n    process.nextTick(function(){\n        callback(null, memo + item)\n    });\n}, function(err, result){\n    // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n    // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, sortValue) which must be called once it\n  has completed with an error (which can be null) and a value to use as the sort\n  criteria.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is the items from\n  the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n    fs.stat(file, function(err, stats){\n        callback(err, stats.mtime);\n    });\n}, function(err, results){\n    // results is now the original array of files sorted by\n    // modified date\n});\n```\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n  functions have finished. Result will be either true or false depending on\n  the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, results) which must be called once it \n  has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array containing\n  the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n    // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n    function(callback){\n        // do some stuff ...\n        callback(null, 'one');\n    },\n    function(callback){\n        // do some more stuff ...\n        callback(null, 'two');\n    }\n],\n// optional callback\nfunction(err, results){\n    // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'one');\n        }, 200);\n    },\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'two');\n        }, 100);\n    }\n],\n// optional callback\nfunction(err, results){\n    // the results array will equal ['one','two'] even though\n    // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n  passed a callback(err) which must be called once it has completed with an \n  optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n  execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n    function () { return count < 5; },\n    function (callback) {\n        count++;\n        setTimeout(callback, 1000);\n    },\n    function (err) {\n        // 5 seconds have passed\n    }\n);\n```\n\n---------------------------------------\n\n<a name=\"doWhilst\" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name=\"doUntil\" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name=\"forever\" />\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n  callback(err, result1, result2, ...) it must call on completion. The first\n  argument is an error (which can be null) and any further arguments will be \n  passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n    function(callback){\n        callback(null, 'one', 'two');\n    },\n    function(arg1, arg2, callback){\n        callback(null, 'three');\n    },\n    function(arg1, callback){\n        // arg1 now equals 'three'\n        callback(null, 'done');\n    }\n], function (err, result) {\n   // result now equals 'done'    \n});\n```\n\n---------------------------------------\n<a name=\"compose\" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n    setTimeout(function () {\n        callback(null, n + 1);\n    }, 10);\n}\n\nfunction mul3(n, callback) {\n    setTimeout(function () {\n        callback(null, n * 3);\n    }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n   // result now equals 15\n});\n```\n\n---------------------------------------\n<a name=\"applyEach\" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n  functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n    buckets,\n    async.applyEach([enableSearch, updateSchema]),\n    callback\n);\n```\n\n---------------------------------------\n\n<a name=\"applyEachSeries\" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n  task, which must call its callback(err) argument when finished, with an \n  optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n  run in parallel. This property can be changed after a queue is created to\n  alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n    console.log('hello ' + task.name);\n    callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n    console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n<a name=\"cargo\" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n  queued tasks, which must call its callback(err) argument when finished, with \n  an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n  processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n  process per round. This property can be changed after a cargo is created to\n  alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n    for(var i=0; i<tasks.length; i++){\n      console.log('hello ' + tasks[i].name);\n    }\n    callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\ncargo.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\ncargo.push({name: 'baz'}, function (err) {\n    console.log('finished processing baz');\n});\n```\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n  readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n  readData: function(cb, results){\n    fs.readFile('data.txt', 'utf-8', cb);\n  }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n  requirements, with the function itself the last item in the array. The key\n  used for each function or array is used when specifying requirements. The \n  function receives two arguments: (1) a callback(err, result) which must be \n  called when finished, passing an error (which can be null) and the result of \n  the function's execution, and (2) a results object, containing the results of\n  the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n  tasks have been completed. The callback will receive an error as an argument\n  if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n  \n\n__Example__\n\n```js\nasync.auto({\n    get_data: function(callback){\n        // async code to get some data\n    },\n    make_folder: function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    },\n    write_file: ['get_data', 'make_folder', function(callback){\n        // once there is some data and the directory exists,\n        // write the data to a file in the directory\n        callback(null, filename);\n    }],\n    email_link: ['write_file', function(callback, results){\n        // once the file is written let's email a link to it...\n        // results.write_file contains the filename returned by write_file.\n    }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n    function(callback){\n        // async code to get some data\n    },\n    function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    }\n],\nfunction(err, results){\n    async.series([\n        function(callback){\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n        },\n        function(callback){\n            // once the file is written let's email a link to it...\n        }\n    ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n    function(){ sys.p('one'); },\n    function(){ sys.p('two'); },\n    function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n    async.apply(fs.writeFile, 'testfile1', 'test1'),\n    async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n    function(callback){\n        fs.writeFile('testfile1', 'test1', callback);\n    },\n    function(callback){\n        fs.writeFile('testfile2', 'test2', callback);\n    }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n    call_order.push('two');\n    // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n<a name=\"times\" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n  callback(null, {\n    id: 'user' + id\n  })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n    createUser(n, function(err, user) {\n      next(err, user)\n    })\n}, function(err, users) {\n  // we should now have 5 users\n});\n```\n\n<a name=\"timesSeries\" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n  results, it has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n    // do something\n    callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n    // callback\n});\n```\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, 'hello ' + name);\n    }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, {hello: name});\n    }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.2.10","_from":"async@~0.2.6"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/bool.js","id":"optimist/example/bool.js","options":{},"isModule":true,"requiredModules":["util/util.js","optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js","id":"optimist/example/boolean_double.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js","id":"optimist/example/boolean_single.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/default_hash.js","id":"optimist/example/default_hash.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/default_singles.js","id":"optimist/example/default_singles.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/divide.js","id":"optimist/example/divide.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/line_count.js","id":"optimist/example/line_count.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js","id":"optimist/example/line_count_options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js","id":"optimist/example/line_count_wrap.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/nonopt.js","id":"optimist/example/nonopt.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/reflect.js","id":"optimist/example/reflect.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1302995368000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/short.js","id":"optimist/example/short.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/string.js","id":"optimist/example/string.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/usage-options.js","id":"optimist/example/usage-options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/example/xup.js","id":"optimist/example/xup.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/index.js","id":"optimist/index.js","options":{},"isModule":true,"requiredModules":["path","wordwrap/index.js"],"mtime":1365048464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js","id":"wordwrap/example/center.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js","id":"wordwrap/example/meat.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js","id":"wordwrap/index.js","options":{},"isModule":true,"mtime":1314353824000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json","data":{"name":"wordwrap","description":"Wrap those words. Show them at what columns to start and stop.","version":"0.0.2","repository":{"type":"git","url":"git://github.com/substack/node-wordwrap.git"},"main":"./index.js","keywords":["word","wrap","rule","format","column"],"directories":{"lib":".","example":"example","test":"test"},"scripts":{"test":"expresso"},"devDependencies":{"expresso":"=0.7.x"},"engines":{"node":">=0.4.0"},"license":"MIT/X11","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"readme":"wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n    var wrap = require('wordwrap')(15);\n    console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n    You and your\n    whole family\n    are made out\n    of meat.\n\ncentered\n--------\n\ncenter.js\n\n    var wrap = require('wordwrap')(20, 60);\n    console.log(wrap(\n        'At long last the struggle and tumult was over.'\n        + ' The machines had finally cast off their oppressors'\n        + ' and were finally free to roam the cosmos.'\n        + '\\n'\n        + 'Free of purpose, free of obligation.'\n        + ' Just drifting through emptiness.'\n        + ' The sun was just another point of light.'\n    ));\n\noutput:\n\n                        At long last the struggle and tumult\n                        was over. The machines had finally cast\n                        off their oppressors and were finally\n                        free to roam the cosmos.\n                        Free of purpose, free of obligation.\n                        Just drifting through emptiness. The\n                        sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/substack/node-wordwrap/issues"},"homepage":"https://github.com/substack/node-wordwrap","_id":"wordwrap@0.0.2","_from":"wordwrap@~0.0.2"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js","id":"wordwrap/test/break.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js","id":"wordwrap/test/wrap.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js","fs"],"mtime":1314353824000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/package.json","data":{"name":"optimist","version":"0.3.7","description":"Light-weight option parsing with an argv hash. No optstrings attached.","main":"./index.js","dependencies":{"wordwrap":"~0.0.2"},"devDependencies":{"hashish":"~0.0.4","tap":"~0.4.0"},"scripts":{"test":"tap ./test/*.js"},"repository":{"type":"git","url":"http://github.com/substack/node-optimist.git"},"keywords":["argument","args","option","parser","parsing","cli","command"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"readme":"optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n    console.log('Buy more riffiwobbles');\n}\nelse {\n    console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n    $ ./xup.js --rif=55 --xup=9.52\n    Buy more riffiwobbles\n    \n    $ ./xup.js --rif 12 --xup 8.1\n    Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n    $ ./short.js -x 10 -y 21\n    (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n    util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n    (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n    $ ./bool.js -s\n    The cat says: meow\n    \n    $ ./bool.js -sp\n    The cat says: meow.\n\n    $ ./bool.js -sp --fr\n    Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n    $ ./nonopt.js -x 6.82 -y 3.35 moo\n    (6.82,3.35)\n    [ 'moo' ]\n    \n    $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n    (0.54,1.12)\n    [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Usage: $0 -x [num] -y [num]')\n    .demand(['x','y'])\n    .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n    $ ./divide.js -x 55 -y 11\n    5\n    \n    $ node ./divide.js -x 4.91 -z 2.51\n    Usage: node ./divide.js -x [num] -y [num]\n\n    Options:\n      -x  [required]\n      -y  [required]\n\n    Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default('x', 10)\n    .default('y', 10)\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_singles.js -x 5\n    15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default({ x : 10, y : 10 })\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_hash.js -y 7\n    17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean('v')\n    .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n    $ ./boolean_single.js -v foo bar baz\n    true\n    [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean(['x','y','z'])\n    .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n    $ ./boolean_double.js -x -z one two three\n    [ true, false, true ]\n    [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Count the lines in a file.\\nUsage: $0')\n    .demand('f')\n    .alias('f', 'file')\n    .describe('f', 'Load a file')\n    .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n    lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n    console.log(lines);\n});\n````\n\n***\n\n    $ node line_count.js\n    Count the lines in a file.\n    Usage: node ./line_count.js\n\n    Options:\n      -f, --file  Load a file  [required]\n\n    Missing required arguments: f\n\n    $ node line_count.js --file line_count.js \n    20\n    \n    $ node line_count.js -f line_count.js \n    20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n    .options('f', {\n        alias : 'file',\n        default : '/etc/passwd',\n    })\n    .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n    .alias('f', 'file')\n    .default('f', '/etc/passwd')\n    .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n    $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n    { _: [ '-c', '3', '-d', '4' ],\n      '$0': 'node ./examples/reflect.js',\n      a: 1,\n      b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n    $ node examples/reflect.js -a --no-b\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n      a: true,\n      b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n    $ node examples/reflect.js -x 5 -x 8 -x 0\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n        x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n     $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n     { _: [],\n       '$0': 'node ./examples/reflect.js',\n         foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n    npm install optimist\n \nor clone this project on github:\n\n    git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n    \n    expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-optimist/issues"},"homepage":"https://github.com/substack/node-optimist","_id":"optimist@0.3.7","_from":"optimist@~0.3.5"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/test/_/argv.js","id":"optimist/test/_/argv.js","options":{},"isModule":true,"mtime":1302995374000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/test/_/bin.js","id":"optimist/test/_/bin.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1307937599000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/test/_.js","id":"optimist/test/_.js","options":{},"isModule":true,"requiredModules":["child_process","tap"],"mtime":1334262543000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/test/parse.js","id":"optimist/test/parse.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","path","tap"],"mtime":1365048226000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/optimist/test/usage.js","id":"optimist/test/usage.js","options":{},"isModule":true,"requiredModules":["hashish","optimist/index.js","tap"],"mtime":1335768345000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js","id":"source-map/build/assert-shim.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/mini-require.js","id":"source-map/build/mini-require.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js","id":"source-map/build/suffix-browser.js","options":{},"isModule":true,"requiredModules":["source-map/source-map-consumer","source-map/source-map-generator","source-map/source-node"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js","id":"source-map/build/test-prefix.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js","id":"source-map/build/test-suffix.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js","id":"source-map/lib/source-map/array-set.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1378513040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js","id":"source-map/lib/source-map/base64-vlq.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js","id":"source-map/lib/source-map/base64.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js","id":"source-map/lib/source-map/binary-search.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js","id":"source-map/lib/source-map/source-map-consumer.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js","source-map/lib/source-map/binary-search.js","source-map/lib/source-map/array-set.js","source-map/lib/source-map/base64-vlq.js"],"mtime":1393453819000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js","id":"source-map/lib/source-map/source-map-generator.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64-vlq.js","source-map/lib/source-map/util.js","source-map/lib/source-map/array-set.js"],"mtime":1402355417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js","id":"source-map/lib/source-map/source-node.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/util.js"],"mtime":1402355417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js","id":"source-map/lib/source-map/util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1393456524000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/lib/source-map.js","id":"source-map/lib/source-map.js","options":{},"isModule":true,"requiredModules":["source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js"],"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js","id":"source-map/Makefile.dryice.js","options":{},"isModule":true,"requiredModules":["path","fs","dryice"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js","id":"amdefine/amdefine.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1381811973000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js","id":"amdefine/intercept.js","options":{},"isModule":true,"requiredModules":["module","fs","amdefine/amdefine.js"],"mtime":1381804832000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json","data":{"name":"amdefine","description":"Provide AMD's define() API for declaring modules in the AMD format","version":"0.1.0","homepage":"http://github.com/jrburke/amdefine","author":{"name":"James Burke","email":"jrburke@gmail.com","url":"http://github.com/jrburke"},"licenses":[{"type":"BSD","url":"https://github.com/jrburke/amdefine/blob/master/LICENSE"},{"type":"MIT","url":"https://github.com/jrburke/amdefine/blob/master/LICENSE"}],"repository":{"type":"git","url":"https://github.com/jrburke/amdefine.git"},"main":"./amdefine.js","engines":{"node":">=0.4.2"},"readme":"# amdefine\n\nA module that can be used to implement AMD's define() in Node. This allows you\nto code to the AMD API and have the module work in node programs without\nrequiring those other programs to use AMD.\n\n## Usage\n\n**1)** Update your package.json to indicate amdefine as a dependency:\n\n```javascript\n    \"dependencies\": {\n        \"amdefine\": \">=0.1.0\"\n    }\n```\n\nThen run `npm install` to get amdefine into your project.\n\n**2)** At the top of each module that uses define(), place this code:\n\n```javascript\nif (typeof define !== 'function') { var define = require('amdefine')(module) }\n```\n\n**Only use these snippets** when loading amdefine. If you preserve the basic structure,\nwith the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n\nYou can add spaces, line breaks and even require amdefine with a local path, but\nkeep the rest of the structure to get the stripping behavior.\n\nAs you may know, because `if` statements in JavaScript don't have their own scope, the var\ndeclaration in the above snippet is made whether the `if` expression is truthy or not. If\nRequireJS is loaded then the declaration is superfluous because `define` is already already\ndeclared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\ndeclarations of the same variable in the same scope gracefully.\n\nIf you want to deliver amdefine.js with your code rather than specifying it as a dependency\nwith npm, then just download the latest release and refer to it using a relative path:\n\n[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js)\n\n### amdefine/intercept\n\nConsider this very experimental.\n\nInstead of pasting the piece of text for the amdefine setup of a `define`\nvariable in each module you create or consume, you can use `amdefine/intercept`\ninstead. It will automatically insert the above snippet in each .js file loaded\nby Node.\n\n**Warning**: you should only use this if you are creating an application that\nis consuming AMD style defined()'d modules that are distributed via npm and want\nto run that code in Node.\n\nFor library code where you are not sure if it will be used by others in Node or\nin the browser, then explicitly depending on amdefine and placing the code\nsnippet above is suggested path, instead of using `amdefine/intercept`. The\nintercept module affects all .js files loaded in the Node app, and it is\ninconsiderate to modify global state like that unless you are also controlling\nthe top level app.\n\n#### Why distribute AMD-style nodes via npm?\n\nnpm has a lot of weaknesses for front-end use (installed layout is not great,\nshould have better support for the `baseUrl + moduleID + '.js' style of loading,\nsingle file JS installs), but some people want a JS package manager and are\nwilling to live with those constraints. If that is you, but still want to author\nin AMD style modules to get dynamic require([]), better direct source usage and\npowerful loader plugin support in the browser, then this tool can help.\n\n#### amdefine/intercept usage\n\nJust require it in your top level app module (for example index.js, server.js):\n\n```javascript\nrequire('amdefine/intercept');\n```\n\nThe module does not return a value, so no need to assign the result to a local\nvariable.\n\nThen just require() code as you normally would with Node's require(). Any .js\nloaded after the intercept require will have the amdefine check injected in\nthe .js source as it is loaded. It does not modify the source on disk, just\nprepends some content to the text of the module as it is loaded by Node.\n\n#### How amdefine/intercept works\n\nIt overrides the `Module._extensions['.js']` in Node to automatically prepend\nthe amdefine snippet above. So, it will affect any .js file loaded by your\napp.\n\n## define() usage\n\nIt is best if you use the anonymous forms of define() in your module:\n\n```javascript\ndefine(function (require) {\n    var dependency = require('dependency');\n});\n```\n\nor\n\n```javascript\ndefine(['dependency'], function (dependency) {\n\n});\n```\n\n## RequireJS optimizer integration. <a name=\"optimizer\"></name>\n\nVersion 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\nwill have support for stripping the `if (typeof define !== 'function')` check\nmentioned above, so you can include this snippet for code that runs in the\nbrowser, but avoid taking the cost of the if() statement once the code is\noptimized for deployment.\n\n## Node 0.4 Support\n\nIf you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n\n```javascript\n//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\nif (typeof define !== 'function') { var define = require('amdefine')(module, require) }\n```\n\n## Limitations\n\n### Synchronous vs Asynchronous\n\namdefine creates a define() function that is callable by your code. It will\nexecute and trace dependencies and call the factory function *synchronously*,\nto keep the behavior in line with Node's synchronous dependency tracing.\n\nThe exception: calling AMD's callback-style require() from inside a factory\nfunction. The require callback is called on process.nextTick():\n\n```javascript\ndefine(function (require) {\n    require(['a'], function(a) {\n        //'a' is loaded synchronously, but\n        //this callback is called on process.nextTick().\n    });\n});\n```\n\n### Loader Plugins\n\nLoader plugins are supported as long as they call their load() callbacks\nsynchronously. So ones that do network requests will not work. However plugins\nlike [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n\nThe plugin API's `load.fromText()` is **not supported** in amdefine, so this means\ntranspiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\nwill not work. This may be fixable, but it is a bit complex, and I do not have\nenough node-fu to figure it out yet. See the source for amdefine.js if you want\nto get an idea of the issues involved.\n\n## Tests\n\nTo run the tests, cd to **tests** and run:\n\n```\nnode all.js\nnode all-intercept.js\n```\n\n## License\n\nNew BSD and MIT. Check the LICENSE file for all the details.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jrburke/amdefine/issues"},"_id":"amdefine@0.1.0","_from":"amdefine@>=0.0.4","scripts":{}},"mtime":1415897196000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/package.json","data":{"name":"source-map","description":"Generates and consumes source maps","version":"0.1.34","homepage":"https://github.com/mozilla/source-map","author":{"name":"Nick Fitzgerald","email":"nfitzgerald@mozilla.com"},"contributors":[{"name":"Tobias Koppers","email":"tobias.koppers@googlemail.com"},{"name":"Duncan Beevers","email":"duncan@dweebd.com"},{"name":"Stephen Crane","email":"scrane@mozilla.com"},{"name":"Ryan Seddon","email":"seddon.ryan@gmail.com"},{"name":"Miles Elam","email":"miles.elam@deem.com"},{"name":"Mihai Bazon","email":"mihai.bazon@gmail.com"},{"name":"Michael Ficarra","email":"github.public.email@michael.ficarra.me"},{"name":"Todd Wolfson","email":"todd@twolfson.com"},{"name":"Alexander Solovyov","email":"alexander@solovyov.net"},{"name":"Felix Gnass","email":"fgnass@gmail.com"},{"name":"Conrad Irwin","email":"conrad.irwin@gmail.com"},{"name":"usrbincc","email":"usrbincc@yahoo.com"},{"name":"David Glasser","email":"glasser@davidglasser.net"},{"name":"Chase Douglas","email":"chase@newrelic.com"},{"name":"Evan Wallace","email":"evan.exe@gmail.com"},{"name":"Heather Arthur","email":"fayearthur@gmail.com"},{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com"},{"name":"David Glasser","email":"glasser@davidglasser.net"},{"name":"Simon Lydell","email":"simon.lydell@gmail.com"},{"name":"Jmeas Smith","email":"jellyes2@gmail.com"},{"name":"Michael Z Goddard","email":"mzgoddard@gmail.com"}],"repository":{"type":"git","url":"http://github.com/mozilla/source-map.git"},"directories":{"lib":"./lib"},"main":"./lib/source-map.js","engines":{"node":">=0.8.0"},"licenses":[{"type":"BSD","url":"http://opensource.org/licenses/BSD-3-Clause"}],"dependencies":{"amdefine":">=0.0.4"},"devDependencies":{"dryice":">=0.4.8"},"scripts":{"test":"node test/run-tests.js","build":"node Makefile.dryice.js"},"readme":"# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\nThis library is written in the Asynchronous Module Definition format, and works\nin the following environments:\n\n* Modern Browsers supporting ECMAScript 5 (either after the build, or with an\n  AMD loader such as RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Node\n\n    $ npm install source-map\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n    $ git clone https://fitzgen@github.com/mozilla/source-map.git\n    $ cd source-map\n    $ npm link .\n\nNext, run\n\n    $ node Makefile.dryice.js\n\nThis should spew a bunch of stuff to stdout, and create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source.\n\n## Examples\n\n### Consuming a source map\n\n    var rawSourceMap = {\n      version: 3,\n      file: 'min.js',\n      names: ['bar', 'baz', 'n'],\n      sources: ['one.js', 'two.js'],\n      sourceRoot: 'http://example.com/www/js/',\n      mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'\n    };\n\n    var smc = new SourceMapConsumer(rawSourceMap);\n\n    console.log(smc.sources);\n    // [ 'http://example.com/www/js/one.js',\n    //   'http://example.com/www/js/two.js' ]\n\n    console.log(smc.originalPositionFor({\n      line: 2,\n      column: 28\n    }));\n    // { source: 'http://example.com/www/js/two.js',\n    //   line: 2,\n    //   column: 10,\n    //   name: 'n' }\n\n    console.log(smc.generatedPositionFor({\n      source: 'http://example.com/www/js/two.js',\n      line: 2,\n      column: 10\n    }));\n    // { line: 2, column: 28 }\n\n    smc.eachMapping(function (m) {\n      // ...\n    });\n\n### Generating a source map\n\nIn depth guide:\n[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)\n\n#### With SourceNode (high level API)\n\n    function compile(ast) {\n      switch (ast.type) {\n      case 'BinaryExpression':\n        return new SourceNode(\n          ast.location.line,\n          ast.location.column,\n          ast.location.source,\n          [compile(ast.left), \" + \", compile(ast.right)]\n        );\n      case 'Literal':\n        return new SourceNode(\n          ast.location.line,\n          ast.location.column,\n          ast.location.source,\n          String(ast.value)\n        );\n      // ...\n      default:\n        throw new Error(\"Bad AST\");\n      }\n    }\n\n    var ast = parse(\"40 + 2\", \"add.js\");\n    console.log(compile(ast).toStringWithSourceMap({\n      file: 'add.js'\n    }));\n    // { code: '40 + 2',\n    //   map: [object SourceMapGenerator] }\n\n#### With SourceMapGenerator (low level API)\n\n    var map = new SourceMapGenerator({\n      file: \"source-mapped.js\"\n    });\n\n    map.addMapping({\n      generated: {\n        line: 10,\n        column: 35\n      },\n      source: \"foo.js\",\n      original: {\n        line: 33,\n        column: 2\n      },\n      name: \"christopher\"\n    });\n\n    console.log(map.toString());\n    // '{\"version\":3,\"file\":\"source-mapped.js\",\"sources\":[\"foo.js\"],\"names\":[\"christopher\"],\"mappings\":\";;;;;;;;;mCAgCEA\"}'\n\n## API\n\nGet a reference to the module:\n\n    // NodeJS\n    var sourceMap = require('source-map');\n\n    // Browser builds\n    var sourceMap = window.sourceMap;\n\n    // Inside Firefox\n    let sourceMap = {};\n    Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n  mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: Optional. The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource's line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n  available.\n\n* `line`: The line number in the original source, or null if this information is\n  not available.\n\n* `column`: The column number in the original source, or null or null if this\n  information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping. Mappings have the\n  form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,\n  name }`\n\n* `context`: Optional. If specified, this object will be the value of `this`\n  every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n  `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n  the mappings sorted by the generated file's line/column order or the\n  original's source/line/column order, respectively. Defaults to\n  `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator([startOfSourceMap])\n\nYou may pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n  associated with.\n\n* `sourceRoot`: A root for all relative URLs in this source map.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource's line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n  If omitted, sourceMapConsumer.file will be used, if it exists.\n  Otherwise an error will be thrown.\n\n* `sourceMapPath`: Optional. The dirname of the path to the SourceMap\n  to be applied. If relative, it is relative to the SourceMap.\n\n  This parameter is needed when the two SourceMaps aren't in the same\n  directory, and the SourceMap to be applied contains relative source\n  paths. If so, those relative source paths need to be rewritten\n  relative to the SourceMap.\n\n  If omitted, it is assumed that both SourceMaps are in the same directory,\n  thus not needing any rewriting. (Supplying `'.'` has the same effect.)\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode([line, column, source[, chunk[, name]]])\n\n* `line`: The original line number associated with this source node, or null if\n  it isn't associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n  if it isn't associated with an original column.\n\n* `source`: The original source's filename; null if no filename is provided.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n  below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer)\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n   `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n   `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source's line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node's children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-<your new test name>.js`\nand export your test functions with names that start with \"test\", for example\n\n    exports[\"test doing the foo bar\"] = function (assert, util) {\n      ...\n    };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node's assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox's test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mozilla/source-map/issues"},"_id":"source-map@0.1.34","_shasum":"a7cfe89aec7b1682c3b198d0acfb47d7d090566b","_from":"source-map@0.1.34","_resolved":"https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/run-tests.js","id":"source-map/test/run-tests.js","options":{},"isModule":true,"requiredModules":["assert","fs","path","source-map/test/source-map/util.js"],"mtime":1391810805000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js","id":"source-map/test/source-map/test-api.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js","id":"source-map/test/source-map/test-array-set.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/array-set.js"],"mtime":1377131128000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js","id":"source-map/test/source-map/test-base64-vlq.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64-vlq.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js","id":"source-map/test/source-map/test-base64.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js","id":"source-map/test/source-map/test-binary-search.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/binary-search.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js","id":"source-map/test/source-map/test-dog-fooding.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-map-generator.js"],"mtime":1392416099000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js","id":"source-map/test/source-map/test-source-map-consumer.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-map-generator.js"],"mtime":1393453819000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js","id":"source-map/test/source-map/test-source-map-generator.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js","source-map/test/source-map/util.js"],"mtime":1402355417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js","id":"source-map/test/source-map/test-source-node.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js"],"mtime":1402355417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/test-util.js","id":"source-map/test/source-map/test-util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1393456524000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js","id":"source-map/test/source-map/util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/uglify-to-browserify/index.js","id":"uglify-to-browserify/index.js","options":{},"isModule":true,"requiredModules":["fs","stream","util/util.js","source-map/lib/source-map.js"],"mtime":1391604000000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/uglify-to-browserify/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/uglify-to-browserify/package.json","data":{"name":"uglify-to-browserify","version":"1.0.2","description":"A transform to make UglifyJS work in browserify.","keywords":[],"dependencies":{},"devDependencies":{"uglify-js":"~2.4.0","source-map":"~0.1.27"},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/uglify-to-browserify.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","readme":"# uglify-to-browserify\r\n\r\nA transform to make UglifyJS work in browserify.\r\n\r\n[![Build Status](https://travis-ci.org/ForbesLindesay/uglify-to-browserify.png?branch=master)](https://travis-ci.org/ForbesLindesay/uglify-to-browserify)\r\n[![Dependency Status](https://gemnasium.com/ForbesLindesay/uglify-to-browserify.png)](https://gemnasium.com/ForbesLindesay/uglify-to-browserify)\r\n[![NPM version](https://badge.fury.io/js/uglify-to-browserify.png)](http://badge.fury.io/js/uglify-to-browserify)\r\n\r\n## Installation\r\n\r\n    npm install uglify-to-browserify\r\n\r\n## License\r\n\r\n  MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/ForbesLindesay/uglify-to-browserify/issues"},"homepage":"https://github.com/ForbesLindesay/uglify-to-browserify","_id":"uglify-to-browserify@1.0.2","_from":"uglify-to-browserify@~1.0.0"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/node_modules/uglify-to-browserify/test/index.js","id":"uglify-to-browserify/test/index.js","options":{},"isModule":true,"requiredModules":["fs","uglify-to-browserify/index.js","./output.js"],"mtime":1391604000000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/package.json","data":{"name":"uglify-js","description":"JavaScript parser, mangler/compressor and beautifier toolkit","homepage":"http://lisperator.net/uglifyjs","main":"tools/node.js","version":"2.4.15","engines":{"node":">=0.4.0"},"maintainers":[{"name":"Mihai Bazon","email":"mihai.bazon@gmail.com","url":"http://lisperator.net/"}],"repository":{"type":"git","url":"https://github.com/mishoo/UglifyJS2.git"},"dependencies":{"async":"~0.2.6","source-map":"0.1.34","optimist":"~0.3.5","uglify-to-browserify":"~1.0.0"},"browserify":{"transform":["uglify-to-browserify"]},"bin":{"uglifyjs":"bin/uglifyjs"},"scripts":{"test":"node test/run-tests.js"},"readme":"UglifyJS 2\n==========\n[![Build Status](https://travis-ci.org/mishoo/UglifyJS2.png)](https://travis-ci.org/mishoo/UglifyJS2)\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility.  For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n    npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n    npm install uglify-js\n\nFrom Git:\n\n    git clone git://github.com/mishoo/UglifyJS2.git\n    cd UglifyJS2\n    npm link .\n\nUsage\n-----\n\n    uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files.  It's recommended that you pass the\ninput files first, then pass the options.  UglifyJS will parse input files\nin sequence and apply any compression options.  The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n```\n  --source-map       Specify an output file where to generate source map.\n                                                                        [string]\n  --source-map-root  The path to the original source to be included in the\n                     source map.                                        [string]\n  --source-map-url   The path to the source map to be added in //#\n                     sourceMappingURL.  Defaults to the value passed with\n                     --source-map.                                      [string]\n  --source-map-include-sources\n                     Pass this flag if you want to include the content of\n                     source files in the source map as sourcesContent\n                     property.                                         [boolean]\n  --in-source-map    Input source map, useful if you're compressing JS that was\n                     generated from some other original code.\n  --screw-ie8        Pass this flag if you don't care about full compliance\n                     with Internet Explorer 6-8 quirks (by default UglifyJS\n                     will try to be IE-proof).                         [boolean]\n  --expr             Parse a single expression, rather than a program (for\n                     parsing JSON)                                     [boolean]\n  -p, --prefix       Skip prefix for original filenames that appear in source\n                     maps. For example -p 3 will drop 3 directories from file\n                     names and ensure they are relative paths. You can also\n                     specify -p relative, which will make UglifyJS figure out\n                     itself the relative paths between original sources, the\n                     source map and the output file.                    [string]\n  -o, --output       Output file (default STDOUT).\n  -b, --beautify     Beautify output/specify output options.            [string]\n  -m, --mangle       Mangle names/pass mangler options.                 [string]\n  -r, --reserved     Reserved names to exclude from mangling.\n  -c, --compress     Enable compressor/pass compressor options. Pass options\n                     like -c hoist_vars=false,if_return=false. Use -c with no\n                     argument to use the default compression options.   [string]\n  -d, --define       Global definitions                                 [string]\n  -e, --enclose      Embed everything in a big function, with a configurable\n                     parameter/argument list.                           [string]\n  --comments         Preserve copyright comments in the output. By default this\n                     works like Google Closure, keeping JSDoc-style comments\n                     that contain \"@license\" or \"@preserve\". You can optionally\n                     pass one of the following arguments to this flag:\n                     - \"all\" to keep all comments\n                     - a valid JS regexp (needs to start with a slash) to keep\n                     only comments that match.\n                     Note that currently not *all* comments can be kept when\n                     compression is on, because of dead code removal or\n                     cascading statements into sequences.               [string]\n  --preamble         Preamble to prepend to the output.  You can use this to\n                     insert a comment, for example for licensing information.\n                     This will not be parsed, but the source map will adjust\n                     for its presence.\n  --stats            Display operations run time on STDERR.            [boolean]\n  --acorn            Use Acorn for parsing.                            [boolean]\n  --spidermonkey     Assume input files are SpiderMonkey AST format (as JSON).\n                                                                       [boolean]\n  --self             Build itself (UglifyJS2) as a library (implies\n                     --wrap=UglifyJS --export-all)                     [boolean]\n  --wrap             Embed everything in a big function, making the “exports”\n                     and “global” variables available. You need to pass an\n                     argument to this option to specify the name that your\n                     module will take when included in, say, a browser.\n                                                                        [string]\n  --export-all       Only used when --wrap, this tells UglifyJS to add code to\n                     automatically export all globals.                 [boolean]\n  --lint             Display some scope warnings                       [boolean]\n  -v, --verbose      Verbose                                           [boolean]\n  -V, --version      Print version number and exit.                    [boolean]\n```\n\nSpecify `--output` (`-o`) to declare the output file.  Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript.  To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found.  In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n    uglifyjs /home/doe/work/foo/src/js/file1.js \\\n             /home/doe/work/foo/src/js/file2.js \\\n             -o foo.min.js \\\n             --source-map foo.min.js.map \\\n             --source-map-root http://foo.com/src \\\n             -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`.  The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful.  Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript).  UglifyJS has an\noption to take an input source map.  Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`.  Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`).  The following\n(comma-separated) options are supported:\n\n- `sort` — to assign shorter names to most frequently used variables.  This\n  saves a few hundred bytes on jQuery before gzip, but the output is\n  _bigger_ after gzip (and seems to happen for other libraries I tried it\n  on) therefore it's not enabled by default.\n\n- `toplevel` — mangle names declared in the toplevel scope (disabled by\n  default).\n\n- `eval` — mangle names visible in scopes where `eval` or `with` are used\n  (disabled by default).\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names.  For example:\n\n    uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor.  Optionally\nyou can pass a comma-separated list of options.  Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\n- `sequences` -- join consecutive simple statements using the comma operator\n\n- `properties` -- rewrite property access using the dot notation, for\n  example `foo[\"bar\"] → foo.bar`\n\n- `dead_code` -- remove unreachable code\n\n- `drop_debugger` -- remove `debugger;` statements\n\n- `unsafe` (default: false) -- apply \"unsafe\" transformations (discussion below)\n\n- `conditionals` -- apply optimizations for `if`-s and conditional\n  expressions\n\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n  `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n  e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n\n- `evaluate` -- attempt to evaluate constant expressions\n\n- `booleans` -- various optimizations for boolean context, for example `!!a\n  ? b : c → a ? b : c`\n\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n  statically determine the condition\n\n- `unused` -- drop unreferenced functions and variables\n\n- `hoist_funs` -- hoist function declarations\n\n- `hoist_vars` (default: false) -- hoist `var` declarations (this is `false`\n  by default because it seems to increase the size of the output in general)\n\n- `if_return` -- optimizations for if/return and if/continue\n\n- `join_vars` -- join consecutive `var` statements\n\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n  and `x = something(), x` into `x = something()`\n\n- `warnings` -- display warnings when dropping unreachable code or unused\n  declarations etc.\n\n- `negate_iife` -- negate \"Immediately-Called Function Expressions\"\n  where the return value is discarded, to avoid the parens that the\n  code generator would insert.\n\n- `pure_getters` -- the default is `false`.  If you pass `true` for\n  this, UglifyJS will assume that object property access\n  (e.g. `foo.bar` or `foo[\"bar\"]`) doesn't have any side effects.\n\n- `pure_funcs` -- default `null`.  You can pass an array of names and\n  UglifyJS will assume that those functions do not produce side\n  effects.  DANGER: will not check if the name is redefined in scope.\n  An example case here, for instance `var q = Math.floor(a/b)`.  If\n  variable `q` is not used elsewhere, UglifyJS will drop it, but will\n  still keep the `Math.floor(a/b)`, not knowing what it does.  You can\n  pass `pure_funcs: [ 'Math.floor' ]` to let it know that this\n  function won't produce any side effect, in which case the whole\n  statement would get discarded.  The current implementation adds some\n  overhead (compression will be slower).\n\n- `drop_console` -- default `false`.  Pass `true` to discard calls to\n  `console.*` functions.\n\n### The `unsafe` option\n\nIt enables some transformations that *might* break code logic in certain\ncontrived cases, but should be fine for most code.  You might want to try it\non your own code, it should reduce the minified size.  Here's what happens\nwhen this flag is on:\n\n- `new Array(1, 2, 3)` or `Array(1, 2, 3)` → `[1, 2, 3 ]`\n- `new Object()` → `{}`\n- `String(exp)` or `exp.toString()` → `\"\" + exp`\n- `new Object/RegExp/Function/Error/Array (...)` → we discard the `new`\n- `typeof foo == \"undefined\"` → `foo === void 0`\n- `void 0` → `undefined` (if there is a variable named \"undefined\" in\n  scope; we do it because the variable name will be mangled, typically\n  reduced to a single character).\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope).  For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n```javascript\nif (DEBUG) {\n\tconsole.log(\"debug stuff\");\n}\n```\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build.  For example you can have a\n`build/defines.js` file with the following:\n```javascript\nconst DEBUG = false;\nconst PRODUCTION = true;\n// etc.\n```\n\nand build your code like this:\n\n    uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual.  The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n<a name=\"codegen-options\"></a>\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default.  In\ncase you want beautified output, pass `--beautify` (`-b`).  Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n  Passing `-b` will set this to true, but you might need to pass `-b` even\n  when you want to generate minified code, in order to specify additional\n  arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n  objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n  regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n  `</script` in strings\n- `width` (default 80) -- only takes effect when beautification is on, this\n  specifies an (orientative) line width that the beautifier will try to\n  obey.  It refers to the width of the line text (excluding indentation).\n  It doesn't work very well currently, but it does make the code generated\n  by UglifyJS more readable.\n- `max-line-len` (default 32000) -- maximum line length (for uglified code)\n- `bracketize` (default `false`) -- always insert brackets in `if`, `for`,\n  `do`, `while` or `with` statements, even if their body is a single\n  statement.\n- `semicolons` (default `true`) -- separate statements with semicolons.  If\n  you pass `false` then whenever possible we will use a newline instead of a\n  semicolon, leading to more readable output of uglified code (size before\n  gzip could be smaller; size after gzip insignificantly larger).\n- `preamble` (default `null`) -- when passed it must be a string and\n  it will be prepended to the output literally.  The source map will\n  adjust for this text.  Can be used to insert a comment containing\n  licensing information, for example.\n\n### Keeping copyright notices or other comments\n\nYou can pass `--comments` to retain certain comments in the output.  By\ndefault it will keep JSDoc-style comments that contain \"@preserve\",\n\"@license\" or \"@cc_on\" (conditional compilation for IE).  You can pass\n`--comments all` to keep all the comments, or a valid JavaScript regexp to\nkeep only comments that match this regexp.  For example `--comments\n'/foo|bar/'` will keep only comments that contain \"foo\" or \"bar\".\n\nNote, however, that there might be situations where comments are lost.  For\nexample:\n```javascript\nfunction f() {\n\t/** @preserve Foo Bar */\n\tfunction g() {\n\t  // this function is never called\n\t}\n\treturn something();\n}\n```\n\nEven though it has \"@preserve\", the comment will be lost because the inner\nfunction `g` (which is the AST node to which the comment is attached to) is\ndiscarded by the compressor as not referenced.\n\nThe safest comments where to place copyright information (or other info that\nneeds to be kept in the output) are comments attached to toplevel nodes.\n\n## Support for the SpiderMonkey AST\n\nUglifyJS2 has its own abstract syntax tree format; for\n[practical reasons](http://lisperator.net/blog/uglifyjs-why-not-switching-to-spidermonkey-ast/)\nwe can't easily change to using the SpiderMonkey AST internally.  However,\nUglifyJS now has a converter which can import a SpiderMonkey AST.\n\nFor example [Acorn][acorn] is a super-fast parser that produces a\nSpiderMonkey AST.  It has a small CLI utility that parses one file and dumps\nthe AST in JSON on the standard output.  To use UglifyJS to mangle and\ncompress that:\n\n    acorn file.js | uglifyjs --spidermonkey -m -c\n\nThe `--spidermonkey` option tells UglifyJS that all input files are not\nJavaScript, but JS code described in SpiderMonkey AST in JSON.  Therefore we\ndon't use our own parser in this case, but just transform that AST into our\ninternal AST.\n\n### Use Acorn for parsing\n\nMore for fun, I added the `--acorn` option which will use Acorn to do all\nthe parsing.  If you pass this option, UglifyJS will `require(\"acorn\")`.\n\nAcorn is really fast (e.g. 250ms instead of 380ms on some 650K code), but\nconverting the SpiderMonkey tree that Acorn produces takes another 150ms so\nin total it's a bit more than just using UglifyJS's own parser.\n\nAPI Reference\n-------------\n\nAssuming installation via NPM, you can load UglifyJS in your application\nlike this:\n```javascript\nvar UglifyJS = require(\"uglify-js\");\n```\n\nIt exports a lot of names, but I'll discuss here the basics that are needed\nfor parsing, mangling and compressing a piece of code.  The sequence is (1)\nparse, (2) compress, (3) mangle, (4) generate output code.\n\n### The simple way\n\nThere's a single toplevel function which combines all the steps.  If you\ndon't need additional customization, you might want to go with `minify`.\nExample:\n```javascript\nvar result = UglifyJS.minify(\"/path/to/file.js\");\nconsole.log(result.code); // minified output\n// if you need to pass code instead of file name\nvar result = UglifyJS.minify(\"var b = function () {};\", {fromString: true});\n```\n\nYou can also compress multiple files:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ]);\nconsole.log(result.code);\n```\n\nTo generate a source map:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ], {\n\toutSourceMap: \"out.js.map\"\n});\nconsole.log(result.code); // minified output\nconsole.log(result.map);\n```\n\nNote that the source map is not saved in a file, it's just returned in\n`result.map`.  The value passed for `outSourceMap` is only used to set the\n`file` attribute in the source map (see [the spec][sm-spec]).\n\nYou can also specify sourceRoot property to be included in source map:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ], {\n\toutSourceMap: \"out.js.map\",\n\tsourceRoot: \"http://example.com/src\"\n});\n```\n\nIf you're compressing compiled JavaScript and have a source map for it, you\ncan use the `inSourceMap` argument:\n```javascript\nvar result = UglifyJS.minify(\"compiled.js\", {\n\tinSourceMap: \"compiled.js.map\",\n\toutSourceMap: \"minified.js.map\"\n});\n// same as before, it returns `code` and `map`\n```\n\nThe `inSourceMap` is only used if you also request `outSourceMap` (it makes\nno sense otherwise).\n\nOther options:\n\n- `warnings` (default `false`) — pass `true` to display compressor warnings.\n\n- `fromString` (default `false`) — if you pass `true` then you can pass\n  JavaScript source code, rather than file names.\n\n- `mangle` — pass `false` to skip mangling names.\n\n- `output` (default `null`) — pass an object if you wish to specify\n  additional [output options][codegen].  The defaults are optimized\n  for best compression.\n\n- `compress` (default `{}`) — pass `false` to skip compressing entirely.\n  Pass an object to specify custom [compressor options][compressor].\n\nWe could add more options to `UglifyJS.minify` — if you need additional\nfunctionality please suggest!\n\n### The hard way\n\nFollowing there's more detailed API info, in case the `minify` function is\ntoo simple for your needs.\n\n#### The parser\n```javascript\nvar toplevel_ast = UglifyJS.parse(code, options);\n```\n\n`options` is optional and if present it must be an object.  The following\nproperties are available:\n\n- `strict` — disable automatic semicolon insertion and support for trailing\n  comma in arrays and objects\n- `filename` — the name of the file where this code is coming from\n- `toplevel` — a `toplevel` node (as returned by a previous invocation of\n  `parse`)\n\nThe last two options are useful when you'd like to minify multiple files and\nget a single file as the output and a proper source map.  Our CLI tool does\nsomething like this:\n```javascript\nvar toplevel = null;\nfiles.forEach(function(file){\n\tvar code = fs.readFileSync(file, \"utf8\");\n\ttoplevel = UglifyJS.parse(code, {\n\t\tfilename: file,\n\t\ttoplevel: toplevel\n\t});\n});\n```\n\nAfter this, we have in `toplevel` a big AST containing all our files, with\neach token having proper information about where it came from.\n\n#### Scope information\n\nUglifyJS contains a scope analyzer that you need to call manually before\ncompressing or mangling.  Basically it augments various nodes in the AST\nwith information about where is a name defined, how many times is a name\nreferenced, if it is a global or not, if a function is using `eval` or the\n`with` statement etc.  I will discuss this some place else, for now what's\nimportant to know is that you need to call the following before doing\nanything with the tree:\n```javascript\ntoplevel.figure_out_scope()\n```\n\n#### Compression\n\nLike this:\n```javascript\nvar compressor = UglifyJS.Compressor(options);\nvar compressed_ast = toplevel.transform(compressor);\n```\n\nThe `options` can be missing.  Available options are discussed above in\n“Compressor options”.  Defaults should lead to best compression in most\nscripts.\n\nThe compressor is destructive, so don't rely that `toplevel` remains the\noriginal tree.\n\n#### Mangling\n\nAfter compression it is a good idea to call again `figure_out_scope` (since\nthe compressor might drop unused variables / unreachable code and this might\nchange the number of identifiers or their position).  Optionally, you can\ncall a trick that helps after Gzip (counting character frequency in\nnon-mangleable words).  Example:\n```javascript\ncompressed_ast.figure_out_scope();\ncompressed_ast.compute_char_frequency();\ncompressed_ast.mangle_names();\n```\n\n#### Generating output\n\nAST nodes have a `print` method that takes an output stream.  Essentially,\nto generate code you do this:\n```javascript\nvar stream = UglifyJS.OutputStream(options);\ncompressed_ast.print(stream);\nvar code = stream.toString(); // this is your minified code\n```\n\nor, for a shortcut you can do:\n```javascript\nvar code = compressed_ast.print_to_string(options);\n```\n\nAs usual, `options` is optional.  The output stream accepts a lot of otions,\nmost of them documented above in section “Beautifier options”.  The two\nwhich we care about here are `source_map` and `comments`.\n\n#### Keeping comments in the output\n\nIn order to keep certain comments in the output you need to pass the\n`comments` option.  Pass a RegExp or a function.  If you pass a RegExp, only\nthose comments whose body matches the regexp will be kept.  Note that body\nmeans without the initial `//` or `/*`.  If you pass a function, it will be\ncalled for every comment in the tree and will receive two arguments: the\nnode that the comment is attached to, and the comment token itself.\n\nThe comment token has these properties:\n\n- `type`: \"comment1\" for single-line comments or \"comment2\" for multi-line\n  comments\n- `value`: the comment body\n- `pos` and `endpos`: the start/end positions (zero-based indexes) in the\n  original code where this comment appears\n- `line` and `col`: the line and column where this comment appears in the\n  original code\n- `file` — the file name of the original file\n- `nlb` — true if there was a newline before this comment in the original\n  code, or if this comment contains a newline.\n\nYour function should return `true` to keep the comment, or a falsy value\notherwise.\n\n#### Generating a source mapping\n\nYou need to pass the `source_map` argument when calling `print`.  It needs\nto be a `SourceMap` object (which is a thin wrapper on top of the\n[source-map][source-map] library).\n\nExample:\n```javascript\nvar source_map = UglifyJS.SourceMap(source_map_options);\nvar stream = UglifyJS.OutputStream({\n\t...\n\tsource_map: source_map\n});\ncompressed_ast.print(stream);\n\nvar code = stream.toString();\nvar map = source_map.toString(); // json output for your source map\n```\n\nThe `source_map_options` (optional) can contain the following properties:\n\n- `file`: the name of the JavaScript output file that this mapping refers to\n- `root`: the `sourceRoot` property (see the [spec][sm-spec])\n- `orig`: the \"original source map\", handy when you compress generated JS\n  and want to map the minified output back to the original code where it\n  came from.  It can be simply a string in JSON, or a JSON object containing\n  the original source map.\n\n  [acorn]: https://github.com/marijnh/acorn\n  [source-map]: https://github.com/mozilla/source-map\n  [sm-spec]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n  [codegen]: http://lisperator.net/uglifyjs/codegen\n  [compressor]: http://lisperator.net/uglifyjs/compress\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mishoo/UglifyJS2/issues"},"_id":"uglify-js@2.4.15","_shasum":"12bc6d84345fbc306e13f7075d6437a8bf64d7e3","_from":"uglify-js@~2.4.12","_resolved":"https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.15.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/arrays.js","id":"uglify-js/test/compress/arrays.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/blocks.js","id":"uglify-js/test/compress/blocks.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/concat-strings.js","id":"uglify-js/test/compress/concat-strings.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/conditionals.js","id":"uglify-js/test/compress/conditionals.js","options":{},"isModule":true,"mtime":1391765559000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/dead-code.js","id":"uglify-js/test/compress/dead-code.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/debugger.js","id":"uglify-js/test/compress/debugger.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/drop-unused.js","id":"uglify-js/test/compress/drop-unused.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-105.js","id":"uglify-js/test/compress/issue-105.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-12.js","id":"uglify-js/test/compress/issue-12.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-126.js","id":"uglify-js/test/compress/issue-126.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-143.js","id":"uglify-js/test/compress/issue-143.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-22.js","id":"uglify-js/test/compress/issue-22.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-267.js","id":"uglify-js/test/compress/issue-267.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-269.js","id":"uglify-js/test/compress/issue-269.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-44.js","id":"uglify-js/test/compress/issue-44.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/issue-59.js","id":"uglify-js/test/compress/issue-59.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/labels.js","id":"uglify-js/test/compress/labels.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/loops.js","id":"uglify-js/test/compress/loops.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/negate-iife.js","id":"uglify-js/test/compress/negate-iife.js","options":{},"isModule":true,"mtime":1388305349000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/properties.js","id":"uglify-js/test/compress/properties.js","options":{},"isModule":true,"mtime":1404202043000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/sequences.js","id":"uglify-js/test/compress/sequences.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/switch.js","id":"uglify-js/test/compress/switch.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/compress/typeof.js","id":"uglify-js/test/compress/typeof.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/test/run-tests.js","id":"uglify-js/test/run-tests.js","options":{},"isModule":true,"requiredModules":["uglify-js/tools/node.js","path","fs","assert","util/util.js"],"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/node_modules/uglify-js/tools/node.js","id":"uglify-js/tools/node.js","options":{},"isModule":true,"requiredModules":["path","fs","vm","util/util.js","source-map/lib/source-map.js"],"mtime":1397807270000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/package.json","data":{"name":"constantinople","version":"2.0.1","description":"Determine whether a JavaScript expression evaluates to a constant (using UglifyJS)","keywords":[],"dependencies":{"uglify-js":"~2.4.0"},"devDependencies":{"mocha":"*"},"scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/constantinople.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","readme":"# constantinople\r\n\r\nDetermine whether a JavaScript expression evaluates to a constant (using UglifyJS).  Here it is assumed to be safe to underestimate how constant something is.\r\n\r\n[![Build Status](https://img.shields.io/travis/ForbesLindesay/constantinople/master.svg)](https://travis-ci.org/ForbesLindesay/constantinople)\r\n[![Dependency Status](https://img.shields.io/gemnasium/ForbesLindesay/constantinople.svg)](https://gemnasium.com/ForbesLindesay/constantinople)\r\n[![NPM version](https://img.shields.io/npm/v/constantinople.svg)](http://badge.fury.io/js/constantinople)\r\n\r\n## Installation\r\n\r\n    npm install constantinople\r\n\r\n## Usage\r\n\r\n```js\r\nvar isConstant = require('constantinople')\r\n\r\nif (isConstant('\"foo\" + 5')) {\r\n  console.dir(isConstant.toConstant('\"foo\" + 5'))\r\n}\r\nif (isConstant('Math.floor(10.5)', {Math: Math})) {\r\n  console.dir(isConstant.toConstant('Math.floor(10.5)', {Math: Math}))\r\n}\r\n```\r\n\r\n## API\r\n\r\n### isConstant(src, [constants])\r\n\r\nReturns `true` if `src` evaluates to a constant, `false` otherwise.  It will also return `false` if there is a syntax error, which makes it safe to use on potentially ES6 code.\r\n\r\nConstants is an object mapping strings to values, where those values should be treated as constants.  Note that this makes it a pretty bad idea to have `Math` in there if the user might make use of `Math.random` and a pretty bad idea to have `Date` in there.\r\n\r\n### toConstant(src, [constants])\r\n\r\nReturns the value resulting from evaluating `src`.  This method throws an error if the expression is not constant.  e.g. `toConstant(\"Math.random()\")` would throw an error.\r\n\r\nConstants is an object mapping strings to values, where those values should be treated as constants.  Note that this makes it a pretty bad idea to have `Math` in there if the user might make use of `Math.random` and a pretty bad idea to have `Date` in there.\r\n\r\n## License\r\n\r\n  MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/ForbesLindesay/constantinople/issues"},"homepage":"https://github.com/ForbesLindesay/constantinople","_id":"constantinople@2.0.1","_shasum":"5829f856f301a9bdb107d935f77d8eb8ccec4c79","_from":"constantinople@~2.0.0","_resolved":"https://registry.npmjs.org/constantinople/-/constantinople-2.0.1.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/constantinople/test/index.js","id":"constantinople/test/index.js","options":{},"isModule":true,"requiredModules":["assert","constantinople/index.js"],"mtime":1404901323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/bin/cmd.js","id":"mkdirp/bin/cmd.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","minimist/index.js","fs"],"mtime":1398205084000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1399342981000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/example/parse.js","id":"minimist/example/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js"],"mtime":1372147306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/index.js","id":"minimist/index.js","options":{},"isModule":true,"mtime":1392957961000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/package.json","data":{"name":"minimist","version":"0.0.8","description":"parse argument options","main":"index.js","devDependencies":{"tape":"~1.0.4","tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/6..latest","ff/5","firefox/latest","chrome/10","chrome/latest","safari/5.1","safari/latest","opera/12"]},"repository":{"type":"git","url":"git://github.com/substack/minimist.git"},"homepage":"https://github.com/substack/minimist","keywords":["argv","getopt","parser","optimist"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","readme":"# minimist\n\nparse argument options\n\nThis module is the guts of optimist's argument parser without all the\nfanciful decoration.\n\n[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist)\n\n[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist)\n\n# example\n\n``` js\nvar argv = require('minimist')(process.argv.slice(2));\nconsole.dir(argv);\n```\n\n```\n$ node example/parse.js -a beep -b boop\n{ _: [], a: 'beep', b: 'boop' }\n```\n\n```\n$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz\n{ _: [ 'foo', 'bar', 'baz' ],\n  x: 3,\n  y: 4,\n  n: 5,\n  a: true,\n  b: true,\n  c: true,\n  beep: 'boop' }\n```\n\n# methods\n\n``` js\nvar parseArgs = require('minimist')\n```\n\n## var argv = parseArgs(args, opts={})\n\nReturn an argument object `argv` populated with the array arguments from `args`.\n\n`argv._` contains all the arguments that didn't have an option associated with\nthem.\n\nNumeric-looking arguments will be returned as numbers unless `opts.string` or\n`opts.boolean` is set for that argument name.\n\nAny arguments after `'--'` will not be parsed and will end up in `argv._`.\n\noptions can be:\n\n* `opts.string` - a string or array of strings argument names to always treat as\nstrings\n* `opts.boolean` - a string or array of strings to always treat as booleans\n* `opts.alias` - an object mapping string names to strings or arrays of string\nargument names to use as aliases\n* `opts.default` - an object mapping string argument names to default values\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install minimist\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/minimist/issues"},"_id":"minimist@0.0.8","_shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","_from":"minimist@0.0.8","_resolved":"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/test/dash.js","id":"minimist/test/dash.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1389378397000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/test/default_bool.js","id":"minimist/test/default_bool.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372147071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/test/dotted.js","id":"minimist/test/dotted.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1377730679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/test/long.js","id":"minimist/test/long.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372143145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/test/parse.js","id":"minimist/test/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1392957961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js","id":"minimist/test/parse_modified.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372145355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/test/short.js","id":"minimist/test/short.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1391917546000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/node_modules/minimist/test/whitespace.js","id":"minimist/test/whitespace.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372148159000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.0","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"./index","keywords":["mkdir","directory"],"repository":{"type":"git","url":"https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"0.0.8"},"devDependencies":{"tap":"~0.4.0","mock-fs":"~2.2.0"},"bin":{"mkdirp":"bin/cmd.js"},"license":"MIT","readme":"# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require('mkdirp');\n    \nmkdirp('/tmp/foo/bar/baz', function (err) {\n    if (err) console.error(err)\n    else console.log('pow!')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require('mkdirp');\n```\n\n## mkdirp(dir, opts, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `opts.mode`. If `opts` is a non-object, it will be treated as\nthe `opts.mode`.\n\nIf `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\nYou can optionally pass in an alternate `fs` implementation by passing in\n`opts.fs`. Your implementation should have `opts.fs.mkdir(path, mode, cb)` and\n`opts.fs.stat(path, cb)`.\n\n## mkdirp.sync(dir, opts)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `opts.mode`. If `opts` is a non-object, it will be\ntreated as the `opts.mode`.\n\nIf `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\nYou can optionally pass in an alternate `fs` implementation by passing in\n`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` and\n`opts.fs.statSync(path)`.\n\n# usage\n\nThis package also ships with a `mkdirp` command.\n\n```\nusage: mkdirp [DIR1,DIR2..] {OPTIONS}\n\n  Create each supplied directory including any necessary parent directories that\n  don't yet exist.\n  \n  If the directory already exists, do nothing.\n\nOPTIONS are:\n\n  -m, --mode   If a directory needs to be created, set the mode as an octal\n               permission string.\n\n```\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\nto get the library, or\n\n```\nnpm install -g mkdirp\n```\n\nto get the command.\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp","_id":"mkdirp@0.5.0","_shasum":"1d73076a6df986cd9344e15e71fcc05a4c9abf12","_from":"mkdirp@~0.5.0","_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342252000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/opts_fs.js","id":"mkdirp/test/opts_fs.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1399342714000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/opts_fs_sync.js","id":"mkdirp/test/opts_fs_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1399342967000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342384000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342478000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342531000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1338911626000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342570000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342613000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342663000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/monocle.js","id":"monocle/monocle.js","options":{},"isModule":true,"requiredModules":["path","fs","readdirp/readdirp.js"],"mtime":1383422690000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/callback-api.js","id":"examples/callback-api.js","options":{},"isModule":true,"requiredModules":["readdirp/readdirp.js"],"mtime":1349640487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/grep.js","id":"examples/grep.js","options":{},"isModule":true,"requiredModules":["readdirp/readdirp.js","util/util.js","fs","path","stream","tap-stream","event-stream"],"mtime":1349490965000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/package.json","data":{"name":"readdirp-examples","version":"0.0.0","description":"Examples for readdirp.","dependencies":{"tap-stream":"~0.1.0","event-stream":"~3.0.7"}},"mtime":1349490965000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/stream-api-pipe.js","id":"examples/stream-api-pipe.js","options":{},"isModule":true,"requiredModules":["readdirp/readdirp.js","path","event-stream"],"mtime":1349639664000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/examples/stream-api.js","id":"examples/stream-api.js","options":{},"isModule":true,"requiredModules":["readdirp/readdirp.js","path"],"mtime":1349639639000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["lru-cache/lib/lru-cache.js","sigmund/sigmund.js","path"],"mtime":1405121107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js","id":"lru-cache/lib/lru-cache.js","options":{},"isModule":true,"mtime":1385055499000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/lru-cache/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/lru-cache/package.json","data":{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"2.5.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"scripts":{"test":"tap test --gc"},"main":"lib/lru-cache.js","repository":{"type":"git","url":"git://github.com/isaacs/node-lru-cache.git"},"devDependencies":{"tap":"","weak":""},"license":{"type":"MIT","url":"http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"},"readme":"# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n  , options = { max: 500\n              , length: function (n) { return n * 2 }\n              , dispose: function (key, n) { n.close() }\n              , maxAge: 1000 * 60 * 60 }\n  , cache = LRU(options)\n  , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset()    // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n  function to all values in the cache.  Not setting this is kind of\n  silly, since that's the whole purpose of this lib, but it defaults\n  to `Infinity`.\n* `maxAge` Maximum age in ms.  Items are not pro-actively pruned out\n  as they age, but if you try to get an item that is too old, it'll\n  drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n  items.  If you're storing strings or buffers, then you probably want\n  to do something like `function(n){return n.length}`.  The default is\n  `function(n){return 1}`, which is fine if you want to store `n`\n  like-sized things.\n* `dispose` Function that is called on items when they are dropped\n  from the cache.  This can be handy if you want to close file\n  descriptors or do other cleanup tasks when items are no longer\n  accessible.  Called with `key, value`.  It's called *before*\n  actually removing the item from the internal cache, so if you want\n  to immediately put it back in, you'll have to do that in a\n  `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n  stale items out of the cache when you `get(key)`.  (That is, it's\n  not pre-emptively doing a `setTimeout` or anything.)  If you set\n  `stale:true`, it'll return the stale value before deleting it.  If\n  you don't set this, then it'll return `undefined` when you try to\n  get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n    Both of these will update the \"recently used\"-ness of the key.\n    They do what you think.\n\n* `peek(key)`\n\n    Returns the key value (or `undefined` if not found) without\n    updating the \"recently used\"-ness of the key.\n\n    (If you find yourself using this a lot, you *might* be using the\n    wrong sort of data structure, but there are some use cases where\n    it's handy.)\n\n* `del(key)`\n\n    Deletes a key out of the cache.\n\n* `reset()`\n\n    Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n    Check if a key is in the cache, without updating the recent-ness\n    or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n    Just like `Array.prototype.forEach`.  Iterates over all the keys\n    in the cache, in order of recent-ness.  (Ie, more recently used\n    items are iterated over first.)\n\n* `keys()`\n\n    Return an array of the keys in the cache.\n\n* `values()`\n\n    Return an array of the values in the cache.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-lru-cache/issues"},"homepage":"https://github.com/isaacs/node-lru-cache","_id":"lru-cache@2.5.0","_shasum":"d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb","_from":"lru-cache@2","_resolved":"https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/lru-cache/test/basic.js","id":"lru-cache/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1385052396000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/lru-cache/test/foreach.js","id":"lru-cache/test/foreach.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js","id":"lru-cache/test/memory-leak.js","options":{},"isModule":true,"requiredModules":["weak","tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/sigmund/bench.js","id":"sigmund/bench.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","sigmund/sigmund.js","bench"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/sigmund/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/sigmund/package.json","data":{"name":"sigmund","version":"1.0.0","description":"Quick and dirty signatures for Objects.","main":"sigmund.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js","bench":"node bench.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sigmund"},"keywords":["object","signature","key","data","psychoanalysis"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","readme":"# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n  var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n  var cached = cache.get(key)\n  if (cached) return cached)\n\n  var result = expensiveCalculation(someObj)\n  cache.set(key, result)\n  return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:'foo'}` will be treated identically to the\narray `['foo']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you.  In fact, it's\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions.  For example, these objects\nhave the same signature:\n\n    var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}\n    var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you're looking for.  It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/sigmund/issues"},"homepage":"https://github.com/isaacs/sigmund","_id":"sigmund@1.0.0","_shasum":"66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296","_from":"sigmund@~1.0.0","_resolved":"https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/sigmund/sigmund.js","id":"sigmund/sigmund.js","options":{},"isModule":true,"mtime":1344873467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/node_modules/sigmund/test/basic.js","id":"sigmund/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","sigmund/sigmund.js"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"1.0.0","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"test":"tap test/*.js"},"engines":{"node":"*"},"dependencies":{"lru-cache":"2","sigmund":"~1.0.0"},"devDependencies":{"tap":""},"license":{"type":"MIT","url":"http://github.com/isaacs/minimatch/raw/master/LICENSE"},"readme":"# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n  Each row in the\n  array corresponds to a brace-expanded pattern.  Each item in the row\n  corresponds to a single path-part.  For example, the pattern\n  `{a,b/c}/d` would expand to a set of patterns like:\n\n        [ [ a, d ]\n        , [ b, c, d ] ]\n\n    If a portion of the pattern doesn't have any \"magic\" in it\n    (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n    will be left as a string rather than converted to a regular\n    expression.\n\n* `regexp` Created by the `makeRe` method.  A single regular expression\n  expressing the entire pattern.  This is useful in cases where you wish\n  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n  Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n  false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n  filename, and match it against a single row in the `regExpSet`.  This\n  method is mainly for internal use, but is exposed so that it can be\n  used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items.  So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export.  Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`.  Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob.  If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself if this option is set.  When not set, an empty list\nis returned if there are no matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes.  For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch","_id":"minimatch@1.0.0","_shasum":"e0dd2120b49e1b724ce8d714c520822a9438576d","_from":"minimatch@>=0.2.4","_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/test/basic.js","id":"minimatch/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387171514000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/test/brace-expand.js","id":"minimatch/test/brace-expand.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1405121099000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/test/caching.js","id":"minimatch/test/caching.js","options":{},"isModule":true,"requiredModules":["minimatch/minimatch.js","tap"],"mtime":1332887728000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/test/defaults.js","id":"minimatch/test/defaults.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1399941975000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/node_modules/minimatch/test/extglob-ending-with-state-char.js","id":"minimatch/test/extglob-ending-with-state-char.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387223424000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/package.json","data":{"author":{"name":"Thorsten Lorenz","email":"thlorenz@gmx.de","url":"thlorenz.com"},"name":"readdirp","description":"Recursive version of fs.readdir with streaming api.","version":"0.2.5","homepage":"https://github.com/thlorenz/readdirp","repository":{"type":"git","url":"git://github.com/thlorenz/readdirp.git"},"engines":{"node":">=0.4"},"keywords":["recursive","fs","stream","streams","readdir","filesystem","find","filter"],"main":"readdirp.js","scripts":{"test":"tap test/*.js"},"dependencies":{"minimatch":">=0.2.4"},"devDependencies":{"tap":"~0.3.1","through":"~1.1.0","minimatch":"~0.2.7"},"optionalDependencies":{},"license":"MIT","readme":"# readdirp [![Build Status](https://secure.travis-ci.org/thlorenz/readdirp.png)](http://travis-ci.org/thlorenz/readdirp)\n\nRecursive version of [fs.readdir](http://nodejs.org/docs/latest/api/fs.html#fs_fs_readdir_path_callback). Exposes a **stream api**.\n\n```javascript\nvar readdirp = require('readdirp'); \n  , path = require('path')\n  , es = require('event-stream');\n\n// print out all JavaScript files along with their size\n\nvar stream = readdirp({ root: path.join(__dirname), fileFilter: '*.js' });\nstream\n  .on('warn', function (err) { \n    console.error('non-fatal error', err); \n    // optionally call stream.destroy() here in order to abort and cause 'close' to be emitted\n  })\n  .on('error', function (err) { console.error('fatal error', err); })\n  .pipe(es.mapSync(function (entry) { \n    return { path: entry.path, size: entry.stat.size };\n  }))\n  .pipe(es.stringify())\n  .pipe(process.stdout);\n```\n\nMeant to be one of the recursive versions of [fs](http://nodejs.org/docs/latest/api/fs.html) functions, e.g., like [mkdirp](https://github.com/substack/node-mkdirp).\n\n**Table of Contents**  *generated with [DocToc](http://doctoc.herokuapp.com/)*\n\n- [Installation](#installation)\n- [API](#api)\n\t- [entry stream](#entry-stream)\n\t- [options](#options)\n\t- [entry info](#entry-info)\n\t- [Filters](#filters)\n\t- [Callback API](#callback-api)\n\t\t- [allProcessed ](#allprocessed)\n\t\t- [fileProcessed](#fileprocessed)\n- [More Examples](#more-examples)\n\t- [stream api](#stream-api)\n\t- [stream api pipe](#stream-api-pipe)\n\t- [grep](#grep)\n\t- [using callback api](#using-callback-api)\n\t- [tests](#tests)\n\n\n# Installation\n\n    npm install readdirp\n\n# API\n\n***var entryStream = readdirp (options)***\n\nReads given root recursively and returns a `stream` of [entry info](#entry-info)s.\n\n## entry stream\n\nBehaves as follows:\n  \n- `emit('data')` passes an [entry info](#entry-info) whenever one is found\n- `emit('warn')` passes a non-fatal `Error` that prevents a file/directory from being processed (i.e., if it is\n  inaccessible to the user)\n- `emit('error')` passes a fatal `Error` which also ends the stream (i.e., when illegal options where passed)\n- `emit('end')` called when all entries were found and no more will be emitted (i.e., we are done)\n- `emit('close')` called when the stream is destroyed via `stream.destroy()` (which could be useful if you want to\n  manually abort even on a non fatal error) - at that point the stream is no longer `readable` and no more entries,\n  warning or errors are emitted\n- the stream is `paused` initially in order to allow `pipe` and `on` handlers be connected before data or errors are\n  emitted\n- the stream is `resumed` automatically during the next event loop \n- to learn more about streams, consult the [stream-handbook](https://github.com/substack/stream-handbook)\n\n## options\n    \n- **root**: path in which to start reading and recursing into subdirectories\n\n- **fileFilter**: filter to include/exclude files found (see [Filters](#filters) for more)\n\n- **directoryFilter**: filter to include/exclude directories found and to recurse into (see [Filters](#filters) for more)\n\n- **depth**: depth at which to stop recursing even if more subdirectories are found\n\n## entry info\n\nHas the following properties:\n\n- **parentDir**     :  directory in which entry was found (relative to given root)\n- **fullParentDir** :  full path to parent directory\n- **name**          :  name of the file/directory\n- **path**          :  path to the file/directory (relative to given root)\n- **fullPath**      :  full path to the file/directory found\n- **stat**          :  built in [stat object](http://nodejs.org/docs/v0.4.9/api/fs.html#fs.Stats)\n- **Example**: (assuming root was `/User/dev/readdirp`)\n        \n        parentDir     :  'test/bed/root_dir1',\n        fullParentDir :  '/User/dev/readdirp/test/bed/root_dir1',\n        name          :  'root_dir1_subdir1',\n        path          :  'test/bed/root_dir1/root_dir1_subdir1',\n        fullPath      :  '/User/dev/readdirp/test/bed/root_dir1/root_dir1_subdir1',\n        stat          :  [ ... ]\n                    \n## Filters\n    \nThere are three different ways to specify filters for files and directories respectively. \n\n- **function**: a function that takes an entry info as a parameter and returns true to include or false to exclude the entry\n\n- **glob string**: a string (e.g., `*.js`) which is matched using [minimatch](https://github.com/isaacs/minimatch), so go there for more\n    information. \n\n    Globstars (`**`) are not supported since specifiying a recursive pattern for an already recursive function doesn't make sense.\n\n    Negated globs (as explained in the minimatch documentation) are allowed, e.g., `!*.txt` matches everything but text files.\n\n- **array of glob strings**: either need to be all inclusive or all exclusive (negated) patterns otherwise an error is thrown.\n    \n    `[ '*.json', '*.js' ]` includes all JavaScript and Json files.\n    \n    \n    `[ '!.git', '!node_modules' ]` includes all directories except the '.git' and 'node_modules'.\n\nDirectories that do not pass a filter will not be recursed into.\n\n## Callback API\n\nAlthough the stream api is recommended, readdirp also exposes a callback based api.\n\n***readdirp (options, callback1 [, callback2])***\n\nIf callback2 is given, callback1 functions as the **fileProcessed** callback, and callback2 as the **allProcessed** callback.\n\nIf only callback1 is given, it functions as the **allProcessed** callback.\n\n### allProcessed \n\n- function with err and res parameters, e.g., `function (err, res) { ... }`\n- **err**: array of errors that occurred during the operation, **res may still be present, even if errors occurred**\n- **res**: collection of file/directory [entry infos](#entry-info)\n\n### fileProcessed\n\n- function with [entry info](#entry-info) parameter e.g., `function (entryInfo) { ... }`\n\n\n# More Examples\n\n`on('error', ..)`, `on('warn', ..)` and `on('end', ..)` handling omitted for brevity\n\n```javascript\nvar readdirp = require('readdirp');\n\n// Glob file filter\nreaddirp({ root: './test/bed', fileFilter: '*.js' })\n  .on('data', function (entry) {\n    // do something with each JavaScript file entry\n  });\n\n// Combined glob file filters\nreaddirp({ root: './test/bed', fileFilter: [ '*.js', '*.json' ] })\n  .on('data', function (entry) {\n    // do something with each JavaScript and Json file entry \n  });\n\n// Combined negated directory filters\nreaddirp({ root: './test/bed', directoryFilter: [ '!.git', '!*modules' ] })\n  .on('data', function (entry) {\n    // do something with each file entry found outside '.git' or any modules directory \n  });\n\n// Function directory filter\nreaddirp({ root: './test/bed', directoryFilter: function (di) { return di.name.length === 9; } })\n  .on('data', function (entry) {\n    // do something with each file entry found inside directories whose name has length 9\n  });\n\n// Limiting depth\nreaddirp({ root: './test/bed', depth: 1 })\n  .on('data', function (entry) {\n    // do something with each file entry found up to 1 subdirectory deep\n  });\n\n// callback api\nreaddirp(\n    { root: '.' }\n  , function(fileInfo) { \n      // do something with file entry here\n    } \n  , function (err, res) {\n      // all done, move on or do final step for all file entries here\n    }\n);\n```\n\nTry more examples by following [instructions](https://github.com/thlorenz/readdirp/blob/master/examples/Readme.md)\non how to get going.\n\n## stream api\n\n[stream-api.js](https://github.com/thlorenz/readdirp/blob/master/examples/stream-api.js)\n\nDemonstrates error and data handling by listening to events emitted from the readdirp stream.\n\n## stream api pipe\n\n[stream-api-pipe.js](https://github.com/thlorenz/readdirp/blob/master/examples/stream-api-pipe.js)\n\nDemonstrates error handling by listening to events emitted from the readdirp stream and how to pipe the data stream into\nanother destination stream.\n\n## grep\n\n[grep.js](https://github.com/thlorenz/readdirp/blob/master/examples/grep.js)\n\nVery naive implementation of grep, for demonstration purposes only.\n\n## using callback api\n\n[callback-api.js](https://github.com/thlorenz/readdirp/blob/master/examples/callback-api.js)\n\nShows how to pass callbacks in order to handle errors and/or data.\n\n## tests\n\nThe [readdirp tests](https://github.com/thlorenz/readdirp/blob/master/test/readdirp.js) also will give you a good idea on\nhow things work.\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/thlorenz/readdirp/issues"},"_id":"readdirp@0.2.5","_from":"readdirp@~0.2.3"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/readdirp.js","id":"readdirp/readdirp.js","options":{},"isModule":true,"requiredModules":["fs","path","minimatch/minimatch.js","readdirp/stream-api.js"],"mtime":1371865263000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/stream-api.js","id":"readdirp/stream-api.js","options":{},"isModule":true,"requiredModules":["stream"],"mtime":1358573061000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/readdirp-stream.js","id":"readdirp/test/readdirp-stream.js","options":{},"isModule":true,"requiredModules":["tap","path","fs","util/util.js","stream","through","readdirp/stream-api.js","readdirp/readdirp.js"],"mtime":1358573948000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/node_modules/readdirp/test/readdirp.js","id":"readdirp/test/readdirp.js","options":{},"isModule":true,"requiredModules":["tap","path","fs","util/util.js","readdirp/readdirp.js"],"mtime":1356984992000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/monocle/package.json","data":{"name":"monocle","version":"1.1.51","description":"a tool for watching directories for file changes","main":"monocle.js","directories":{"test":"test"},"dependencies":{"readdirp":"~0.2.3"},"devDependencies":{"mocha":"1.8.1"},"scripts":{"test":"mocha test -R spec -t 2000"},"repository":{"type":"git","url":"https://github.com/samccone/monocle.git"},"bugs":{"url":"https://github.com/samccone/monocle/issues"},"keywords":["watch","filesystem","folders","fs"],"author":{"name":"Sam Saccone"},"license":"BSD","readme":"[![Build Status](https://travis-ci.org/samccone/monocle.png?branch=master)](https://travis-ci.org/samccone/monocle)\n\n# Monocle -- a tool for watching things\n\n[![logo](https://raw.github.com/samccone/monocle/master/logo.png)](https://raw.github.com/samccone/monocle/master/logo.png)\n\nHave you ever wanted to watch a folder and all of its files/nested folders for changes. well now you can!\n\n## Installation\n\n```\nnpm install monocle\n```\n\n## Usage\n\n### Watch a directory:\n\n```js\nvar monocle = require('monocle')()\nmonocle.watchDirectory({\n  root: <root directory>,\n  fileFilter: <optional>,\n  directoryFilter: <optional>,\n  listener: fn(fs.stat+ object), //triggered on file change / addition\n  complete: <fn> //file watching all set up\n});\n```\n\nThe listener will recive an object with the following\n\n```js\n  name: <filename>,\n  path: <filepath-relative>,\n  fullPath: <filepath-absolute>,\n  parentDir: <parentDir-relative>,\n  fullParentDir: <parentDir-absolute>,\n  stat: <see fs.stats>\n```\n\n[fs.stats](http://nodejs.org/api/fs.html#fs_class_fs_stats)\n\nWhen a new file is added to the directoy it triggers a file change and thus will be passed to your specified listener.\n\nThe two filters are passed through to `readdirp`.  More documentation can be found [here](https://github.com/thlorenz/readdirp#filters)\n\n### Watch a list of files:\n\n```js\nMonocle.watchFiles({\n  files: [], //path of file(s)\n  listener: <fn(fs.stat+ object)>, //triggered on file / addition\n  complete: <fn> //file watching all set up\n});\n```\n\n### Just watch path\n\nJust an alias of `watchFiles` and `watchDirectory` so you don't need to tell if that's a file or a directory by yourself. Parameter passed to `path` can be a `string` or a `array` of `string`.\n\n```js\nMonocle.watchPaths({\n  path: [], //list of paths, or a string of path\n  fileFilter: <optional>, // `*.js` for example\n  listener: <fn(fs.stat+ object)>, //triggered on file / addition\n  complete: <fn> //file watching all set up\n});\n```\n\n### Force to use fs.watch\n\nYou can use the USE_FS_WATCH env variable set to true, to force this behavior regardless of platform.\n\n## Why not just use fs.watch ?\n\n  - file watching is really bad cross platforms in node\n  - you need to be smart when using fs.watch as compared to fs.watchFile\n  - Monocle takes care of this logic for you!\n  - windows systems use fs.watch\n  - osx and linux uses fs.watchFile\n\n## License\n\nBSD\n","readmeFilename":"README.md","homepage":"https://github.com/samccone/monocle","_id":"monocle@1.1.51","_shasum":"22ed16e112e9b056769c5ccac920e375249d89c0","_from":"monocle@1.1.51","_resolved":"https://registry.npmjs.org/monocle/-/monocle-1.1.51.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/lib/shared.js","id":"transformers/lib/shared.js","options":{},"isModule":true,"requiredModules":["promise/index.js","fs","path"],"mtime":1373674277000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/lib/transformers.js","id":"transformers/lib/transformers.js","options":{},"isModule":true,"requiredModules":["path","transformers/lib/shared.js","uglify-js/tools/node.js","css/index.js","vm"],"mtime":1373674277000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/benchmark.js","id":"css/benchmark.js","options":{},"isModule":true,"requiredModules":["css/index.js","fs"],"mtime":1352998106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/component.json","id":"css/component.json","options":{},"isModule":true,"mtime":1363361540000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/index.js","id":"css/index.js","options":{},"isModule":true,"requiredModules":["css-parse/index.js","css-stringify/index.js"],"mtime":1352998106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-parse/component.json","id":"css-parse/component.json","options":{},"isModule":true,"mtime":1346532704000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-parse/index.js","id":"css-parse/index.js","options":{},"isModule":true,"mtime":1347907156000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-parse/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-parse/package.json","data":{"name":"css-parse","version":"1.0.4","description":"CSS parser","keywords":["css","parser","stylesheet"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"devDependencies":{"mocha":"*","should":"*"},"main":"index","readme":"\n# css-parse\n\n  CSS parser.\n\n## Example\n\njs:\n\n```js\nvar parse = require('css-parse')\nparse('tobi { name: \"tobi\" }')\n```\n\nobject returned:\n\n```json\n{\n  \"stylesheet\": {\n    \"rules\": [\n      {\n        \"selectors\": [\"tobi\"],\n        \"declarations\": [\n          {\n            \"property\": \"name\",\n            \"value\": \"tobi\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n## Performance\n\n  Parsed 15,000 lines of CSS (2mb) in 40ms on my macbook air.\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","readmeFilename":"Readme.md","_id":"css-parse@1.0.4","_shasum":"38b0503fbf9da9f54e9c1dbda60e145c77117bdd","_from":"css-parse@1.0.4","_resolved":"https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-stringify/component.json","id":"css-stringify/component.json","options":{},"isModule":true,"mtime":1363361503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-stringify/index.js","id":"css-stringify/index.js","options":{},"isModule":true,"mtime":1363361475000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-stringify/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/node_modules/css-stringify/package.json","data":{"name":"css-stringify","version":"1.0.5","description":"CSS compiler","keywords":["css","stringify","stylesheet"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"devDependencies":{"mocha":"*","should":"*","css-parse":"1.0.3"},"main":"index","readme":"\n# css-stringify\n\n  CSS compiler using the AST provided by [css-parse](https://github.com/visionmedia/css-parse).\n\n## Performance\n\n  Formats 15,000 lines of CSS (2mb) in 23ms on my macbook air.\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","_id":"css-stringify@1.0.5","_shasum":"b0d042946db2953bb9d292900a6cb5f6d0122031","_from":"css-stringify@1.0.5","_resolved":"https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz"},"mtime":1415897194000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/package.json","data":{"name":"css","version":"1.0.8","description":"CSS parser / stringifier using css-parse and css-stringify","keywords":["css","parser","stylesheet"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"css-parse":"1.0.4","css-stringify":"1.0.5"},"main":"index","readme":"\n# css\n\n  CSS parser / stringifier using [css-parse](https://github.com/visionmedia/css-parse) and [css-stringify](https://github.com/visionmedia/css-stringify).\n\n## Installation\n\n    $ npm install css\n\n## Example\n\njs:\n\n```js\nvar css = require('css')\nvar obj = css.parse('tobi { name: \"tobi\" }')\ncss.stringify(obj);\n```\n\nobject returned by `.parse()`:\n\n```json\n{\n  \"stylesheet\": {\n    \"rules\": [\n      {\n        \"selector\": \"tobi\",\n        \"declarations\": [\n          {\n            \"property\": \"name\",\n            \"value\": \"tobi\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\nstring returned by `.stringify(ast)`:\n\n```css\ntobi {\n  name: tobi;\n}\n```\n\nstring returned by `.stringify(ast, { compress: true })`:\n\n```css\ntobi{name:tobi}\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","readmeFilename":"Readme.md","_id":"css@1.0.8","_from":"css@~1.0.8"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/css/test.js","id":"css/test.js","options":{},"isModule":true,"requiredModules":["css/index.js","assert"],"mtime":1352998106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/promise/index.js","id":"promise/index.js","options":{},"isModule":true,"requiredModules":["is-promise/index.js"],"mtime":1362450751000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/promise/node_modules/is-promise/index.js","id":"is-promise/index.js","options":{},"isModule":true,"mtime":1400593180000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/promise/node_modules/is-promise/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/promise/node_modules/is-promise/package.json","data":{"name":"is-promise","version":"1.0.1","description":"Test whether an object looks like a promises-a+ promise","main":"index.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"https://github.com/then/is-promise.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","devDependencies":{"better-assert":"~0.1.0","mocha":"~1.7.4"},"readme":"<a href=\"http://promises-aplus.github.com/promises-spec\"><img src=\"http://promises-aplus.github.com/promises-spec/assets/logo-small.png\" align=\"right\" /></a>\r\n# is-promise\r\n\r\n  Test whether an object looks like a promises-a+ promise\r\n\r\n [![Build Status](https://img.shields.io/travis/then/is-promise/master.svg)](https://travis-ci.org/then/is-promise)\r\n [![Dependency Status](https://img.shields.io/gemnasium/then/is-promise.svg)](https://gemnasium.com/then/is-promise)\r\n [![NPM version](https://img.shields.io/npm/v/is-promise.svg)](https://www.npmjs.org/package/is-promise)\r\n\r\n## Installation\r\n\r\n    $ npm install is-promise\r\n\r\nYou can also use it client side via npm.\r\n\r\n## API\r\n\r\n```javascript\r\nvar isPromise = require('is-promise');\r\n\r\nisPromise({then:function () {...}});//=>true\r\nisPromise(null);//=>false\r\nisPromise({});//=>false\r\nisPromise({then: true})//=>false\r\n```\r\n\r\n## License\r\n\r\n  MIT\r\n","readmeFilename":"readme.md","bugs":{"url":"https://github.com/then/is-promise/issues"},"homepage":"https://github.com/then/is-promise","_id":"is-promise@1.0.1","_from":"is-promise@~1"},"mtime":1415897193000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/promise/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/promise/package.json","data":{"name":"promise","version":"2.0.0","description":"Bare bones Promises/A+ implementation","main":"index.js","scripts":{"test":"mocha -R spec --timeout 200 --slow 99999"},"repository":{"type":"git","url":"https://github.com/then/promise.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","dependencies":{"is-promise":"~1"},"devDependencies":{"promises-aplus-tests":"*","mocha-as-promised":"~1.2.1","better-assert":"~1.0.0"},"readme":"[![Build Status](https://travis-ci.org/then/promise.png)](https://travis-ci.org/then/promise)\r\n<a href=\"http://promises-aplus.github.com/promises-spec\"><img src=\"http://promises-aplus.github.com/promises-spec/assets/logo-small.png\" align=\"right\" /></a>\r\n# promise\r\n\r\n  This a bare bones [Promises/A+](http://promises-aplus.github.com/promises-spec/) implementation.\r\n\r\n  It is designed to get the basics spot on correct, so that you can build extended promise implementations on top of it.\r\n\r\n## Installation\r\n\r\n  Server:\r\n\r\n    $ npm install promise\r\n\r\n  Client:\r\n\r\n    $ component install then/promise\r\n\r\n## API\r\n\r\n  In the example below shows how you can load the promise library (in a way that works on both client and server).  It then demonstrates creating a promise from scratch.  You simply call `new Promise(fn)`.  There is a complete specification for what is returned by this method in [Promises/A+](http://promises-aplus.github.com/promises-spec/).\r\n\r\n```javascript\r\nvar Promise = require('promise');\r\n\r\nvar promise = new Promise(function (resolve, reject) {\r\n    get('http://www.google.com', function (err, res) {\r\n      if (err) reject(err);\r\n      else resolve(res);\r\n    });\r\n  });\r\n```\r\n\r\n## Extending Promises\r\n\r\n  There are three options for extending the promises created by this library.\r\n\r\n### Inheritance\r\n\r\n  You can use inheritance if you want to create your own complete promise library with this as your basic starting point, perfect if you have lots of cool features you want to add.  Here is an example of a promise library called `Awesome`, which is built on top of `Promise` correctly.\r\n\r\n```javascript\r\nvar Promise = require('promise');\r\nfunction Awesome(fn) {\r\n  if (!(this instanceof Awesome)) return new Awesome(fn);\r\n  Promise.call(this, fn);\r\n}\r\nAwesome.prototype = Object.create(Promise.prototype);\r\nAwesome.prototype.constructor = Awesome;\r\n\r\n//Awesome extension\r\nAwesome.prototype.spread = function (cb) {\r\n  return this.then(function (arr) {\r\n    return cb.apply(this, arr);\r\n  })\r\n};\r\n```\r\n\r\n  N.B. if you fail to set the prototype and constructor properly or fail to do Promise.call, things can fail in really subtle ways.\r\n\r\n### Wrap\r\n\r\n  This is the nuclear option, for when you want to start from scratch.  It ensures you won't be impacted by anyone who is extending the prototype (see below).\r\n\r\n```javascript\r\nfunction Uber(fn) {\r\n  if (!(this instanceof Uber)) return new Uber(fn);\r\n  var _prom = new Promise(fn);\r\n  this.then = _prom.then;\r\n}\r\n\r\nUber.prototype.spread = function (cb) {\r\n  return this.then(function (arr) {\r\n    return cb.apply(this, arr);\r\n  })\r\n};\r\n```\r\n\r\n### Extending the Prototype\r\n\r\n  In general, you should never extend the prototype of this promise implimenation because your extensions could easily conflict with someone elses extensions.  However, this organisation will host a library of extensions which do not conflict with each other, so you can safely enable any of those.  If you think of an extension that we don't provide and you want to write it, submit an issue on this repository and (if I agree) I'll set you up with a repository and give you permission to commit to it.\r\n\r\n## License\r\n\r\n  MIT\r\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/then/promise/issues"},"homepage":"https://github.com/then/promise","_id":"promise@2.0.0","_from":"promise@~2.0"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/ast.js","id":"uglify-js/lib/ast.js","options":{},"isModule":true,"mtime":1360143667000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/compress.js","id":"uglify-js/lib/compress.js","options":{},"isModule":true,"mtime":1360143780000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/mozilla-ast.js","id":"uglify-js/lib/mozilla-ast.js","options":{},"isModule":true,"mtime":1358414247000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/output.js","id":"uglify-js/lib/output.js","options":{},"isModule":true,"mtime":1360144631000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/parse.js","id":"uglify-js/lib/parse.js","options":{},"isModule":true,"mtime":1359718335000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/scope.js","id":"uglify-js/lib/scope.js","options":{},"isModule":true,"mtime":1360141899000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/sourcemap.js","id":"uglify-js/lib/sourcemap.js","options":{},"isModule":true,"mtime":1358414243000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/transform.js","id":"uglify-js/lib/transform.js","options":{},"isModule":true,"mtime":1358414251000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/lib/utils.js","id":"uglify-js/lib/utils.js","options":{},"isModule":true,"mtime":1358414275000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/bool.js","id":"optimist/example/bool.js","options":{},"isModule":true,"requiredModules":["util/util.js","optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js","id":"optimist/example/boolean_double.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js","id":"optimist/example/boolean_single.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/default_hash.js","id":"optimist/example/default_hash.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/default_singles.js","id":"optimist/example/default_singles.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/divide.js","id":"optimist/example/divide.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/line_count.js","id":"optimist/example/line_count.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js","id":"optimist/example/line_count_options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js","id":"optimist/example/line_count_wrap.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/nonopt.js","id":"optimist/example/nonopt.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/reflect.js","id":"optimist/example/reflect.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1302995368000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/short.js","id":"optimist/example/short.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/string.js","id":"optimist/example/string.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/usage-options.js","id":"optimist/example/usage-options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/example/xup.js","id":"optimist/example/xup.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/index.js","id":"optimist/index.js","options":{},"isModule":true,"requiredModules":["path","wordwrap/index.js"],"mtime":1365048464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js","id":"wordwrap/example/center.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js","id":"wordwrap/example/meat.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js","id":"wordwrap/index.js","options":{},"isModule":true,"mtime":1314353824000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json","data":{"name":"wordwrap","description":"Wrap those words. Show them at what columns to start and stop.","version":"0.0.2","repository":{"type":"git","url":"git://github.com/substack/node-wordwrap.git"},"main":"./index.js","keywords":["word","wrap","rule","format","column"],"directories":{"lib":".","example":"example","test":"test"},"scripts":{"test":"expresso"},"devDependencies":{"expresso":"=0.7.x"},"engines":{"node":">=0.4.0"},"license":"MIT/X11","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"readme":"wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n    var wrap = require('wordwrap')(15);\n    console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n    You and your\n    whole family\n    are made out\n    of meat.\n\ncentered\n--------\n\ncenter.js\n\n    var wrap = require('wordwrap')(20, 60);\n    console.log(wrap(\n        'At long last the struggle and tumult was over.'\n        + ' The machines had finally cast off their oppressors'\n        + ' and were finally free to roam the cosmos.'\n        + '\\n'\n        + 'Free of purpose, free of obligation.'\n        + ' Just drifting through emptiness.'\n        + ' The sun was just another point of light.'\n    ));\n\noutput:\n\n                        At long last the struggle and tumult\n                        was over. The machines had finally cast\n                        off their oppressors and were finally\n                        free to roam the cosmos.\n                        Free of purpose, free of obligation.\n                        Just drifting through emptiness. The\n                        sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/substack/node-wordwrap/issues"},"homepage":"https://github.com/substack/node-wordwrap","_id":"wordwrap@0.0.2","_from":"wordwrap@~0.0.2"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js","id":"wordwrap/test/break.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js","id":"wordwrap/test/wrap.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js","fs"],"mtime":1314353824000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/package.json","data":{"name":"optimist","version":"0.3.7","description":"Light-weight option parsing with an argv hash. No optstrings attached.","main":"./index.js","dependencies":{"wordwrap":"~0.0.2"},"devDependencies":{"hashish":"~0.0.4","tap":"~0.4.0"},"scripts":{"test":"tap ./test/*.js"},"repository":{"type":"git","url":"http://github.com/substack/node-optimist.git"},"keywords":["argument","args","option","parser","parsing","cli","command"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"readme":"optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n    console.log('Buy more riffiwobbles');\n}\nelse {\n    console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n    $ ./xup.js --rif=55 --xup=9.52\n    Buy more riffiwobbles\n    \n    $ ./xup.js --rif 12 --xup 8.1\n    Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n    $ ./short.js -x 10 -y 21\n    (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n    util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n    (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n    $ ./bool.js -s\n    The cat says: meow\n    \n    $ ./bool.js -sp\n    The cat says: meow.\n\n    $ ./bool.js -sp --fr\n    Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n    $ ./nonopt.js -x 6.82 -y 3.35 moo\n    (6.82,3.35)\n    [ 'moo' ]\n    \n    $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n    (0.54,1.12)\n    [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Usage: $0 -x [num] -y [num]')\n    .demand(['x','y'])\n    .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n    $ ./divide.js -x 55 -y 11\n    5\n    \n    $ node ./divide.js -x 4.91 -z 2.51\n    Usage: node ./divide.js -x [num] -y [num]\n\n    Options:\n      -x  [required]\n      -y  [required]\n\n    Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default('x', 10)\n    .default('y', 10)\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_singles.js -x 5\n    15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default({ x : 10, y : 10 })\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_hash.js -y 7\n    17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean('v')\n    .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n    $ ./boolean_single.js -v foo bar baz\n    true\n    [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean(['x','y','z'])\n    .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n    $ ./boolean_double.js -x -z one two three\n    [ true, false, true ]\n    [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Count the lines in a file.\\nUsage: $0')\n    .demand('f')\n    .alias('f', 'file')\n    .describe('f', 'Load a file')\n    .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n    lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n    console.log(lines);\n});\n````\n\n***\n\n    $ node line_count.js\n    Count the lines in a file.\n    Usage: node ./line_count.js\n\n    Options:\n      -f, --file  Load a file  [required]\n\n    Missing required arguments: f\n\n    $ node line_count.js --file line_count.js \n    20\n    \n    $ node line_count.js -f line_count.js \n    20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n    .options('f', {\n        alias : 'file',\n        default : '/etc/passwd',\n    })\n    .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n    .alias('f', 'file')\n    .default('f', '/etc/passwd')\n    .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n    $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n    { _: [ '-c', '3', '-d', '4' ],\n      '$0': 'node ./examples/reflect.js',\n      a: 1,\n      b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n    $ node examples/reflect.js -a --no-b\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n      a: true,\n      b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n    $ node examples/reflect.js -x 5 -x 8 -x 0\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n        x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n     $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n     { _: [],\n       '$0': 'node ./examples/reflect.js',\n         foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n    npm install optimist\n \nor clone this project on github:\n\n    git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n    \n    expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-optimist/issues"},"homepage":"https://github.com/substack/node-optimist","_id":"optimist@0.3.7","_from":"optimist@~0.3.5"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/test/_/argv.js","id":"optimist/test/_/argv.js","options":{},"isModule":true,"mtime":1302995374000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/test/_/bin.js","id":"optimist/test/_/bin.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1307937599000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/test/_.js","id":"optimist/test/_.js","options":{},"isModule":true,"requiredModules":["child_process","tap"],"mtime":1334262543000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/test/parse.js","id":"optimist/test/parse.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","path","tap"],"mtime":1365048226000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/optimist/test/usage.js","id":"optimist/test/usage.js","options":{},"isModule":true,"requiredModules":["hashish","optimist/index.js","tap"],"mtime":1335768345000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js","id":"source-map/build/assert-shim.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/mini-require.js","id":"source-map/build/mini-require.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js","id":"source-map/build/suffix-browser.js","options":{},"isModule":true,"requiredModules":["source-map/source-map-consumer","source-map/source-map-generator","source-map/source-node"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js","id":"source-map/build/test-prefix.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js","id":"source-map/build/test-suffix.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js","id":"source-map/lib/source-map/array-set.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1378513040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js","id":"source-map/lib/source-map/base64-vlq.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64.js"],"mtime":1412263729000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js","id":"source-map/lib/source-map/base64.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js","id":"source-map/lib/source-map/binary-search.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js","id":"source-map/lib/source-map/source-map-consumer.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js","source-map/lib/source-map/binary-search.js","source-map/lib/source-map/array-set.js","source-map/lib/source-map/base64-vlq.js"],"mtime":1412263729000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js","id":"source-map/lib/source-map/source-map-generator.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64-vlq.js","source-map/lib/source-map/util.js","source-map/lib/source-map/array-set.js"],"mtime":1412263729000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js","id":"source-map/lib/source-map/source-node.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/util.js"],"mtime":1403800291000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js","id":"source-map/lib/source-map/util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1407084760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/lib/source-map.js","id":"source-map/lib/source-map.js","options":{},"isModule":true,"requiredModules":["source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js"],"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js","id":"source-map/Makefile.dryice.js","options":{},"isModule":true,"requiredModules":["path","fs","dryice"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js","id":"amdefine/amdefine.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1381811973000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js","id":"amdefine/intercept.js","options":{},"isModule":true,"requiredModules":["module","fs","amdefine/amdefine.js"],"mtime":1381804832000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json","data":{"name":"amdefine","description":"Provide AMD's define() API for declaring modules in the AMD format","version":"0.1.0","homepage":"http://github.com/jrburke/amdefine","author":{"name":"James Burke","email":"jrburke@gmail.com","url":"http://github.com/jrburke"},"licenses":[{"type":"BSD","url":"https://github.com/jrburke/amdefine/blob/master/LICENSE"},{"type":"MIT","url":"https://github.com/jrburke/amdefine/blob/master/LICENSE"}],"repository":{"type":"git","url":"https://github.com/jrburke/amdefine.git"},"main":"./amdefine.js","engines":{"node":">=0.4.2"},"readme":"# amdefine\n\nA module that can be used to implement AMD's define() in Node. This allows you\nto code to the AMD API and have the module work in node programs without\nrequiring those other programs to use AMD.\n\n## Usage\n\n**1)** Update your package.json to indicate amdefine as a dependency:\n\n```javascript\n    \"dependencies\": {\n        \"amdefine\": \">=0.1.0\"\n    }\n```\n\nThen run `npm install` to get amdefine into your project.\n\n**2)** At the top of each module that uses define(), place this code:\n\n```javascript\nif (typeof define !== 'function') { var define = require('amdefine')(module) }\n```\n\n**Only use these snippets** when loading amdefine. If you preserve the basic structure,\nwith the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n\nYou can add spaces, line breaks and even require amdefine with a local path, but\nkeep the rest of the structure to get the stripping behavior.\n\nAs you may know, because `if` statements in JavaScript don't have their own scope, the var\ndeclaration in the above snippet is made whether the `if` expression is truthy or not. If\nRequireJS is loaded then the declaration is superfluous because `define` is already already\ndeclared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\ndeclarations of the same variable in the same scope gracefully.\n\nIf you want to deliver amdefine.js with your code rather than specifying it as a dependency\nwith npm, then just download the latest release and refer to it using a relative path:\n\n[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js)\n\n### amdefine/intercept\n\nConsider this very experimental.\n\nInstead of pasting the piece of text for the amdefine setup of a `define`\nvariable in each module you create or consume, you can use `amdefine/intercept`\ninstead. It will automatically insert the above snippet in each .js file loaded\nby Node.\n\n**Warning**: you should only use this if you are creating an application that\nis consuming AMD style defined()'d modules that are distributed via npm and want\nto run that code in Node.\n\nFor library code where you are not sure if it will be used by others in Node or\nin the browser, then explicitly depending on amdefine and placing the code\nsnippet above is suggested path, instead of using `amdefine/intercept`. The\nintercept module affects all .js files loaded in the Node app, and it is\ninconsiderate to modify global state like that unless you are also controlling\nthe top level app.\n\n#### Why distribute AMD-style nodes via npm?\n\nnpm has a lot of weaknesses for front-end use (installed layout is not great,\nshould have better support for the `baseUrl + moduleID + '.js' style of loading,\nsingle file JS installs), but some people want a JS package manager and are\nwilling to live with those constraints. If that is you, but still want to author\nin AMD style modules to get dynamic require([]), better direct source usage and\npowerful loader plugin support in the browser, then this tool can help.\n\n#### amdefine/intercept usage\n\nJust require it in your top level app module (for example index.js, server.js):\n\n```javascript\nrequire('amdefine/intercept');\n```\n\nThe module does not return a value, so no need to assign the result to a local\nvariable.\n\nThen just require() code as you normally would with Node's require(). Any .js\nloaded after the intercept require will have the amdefine check injected in\nthe .js source as it is loaded. It does not modify the source on disk, just\nprepends some content to the text of the module as it is loaded by Node.\n\n#### How amdefine/intercept works\n\nIt overrides the `Module._extensions['.js']` in Node to automatically prepend\nthe amdefine snippet above. So, it will affect any .js file loaded by your\napp.\n\n## define() usage\n\nIt is best if you use the anonymous forms of define() in your module:\n\n```javascript\ndefine(function (require) {\n    var dependency = require('dependency');\n});\n```\n\nor\n\n```javascript\ndefine(['dependency'], function (dependency) {\n\n});\n```\n\n## RequireJS optimizer integration. <a name=\"optimizer\"></name>\n\nVersion 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\nwill have support for stripping the `if (typeof define !== 'function')` check\nmentioned above, so you can include this snippet for code that runs in the\nbrowser, but avoid taking the cost of the if() statement once the code is\noptimized for deployment.\n\n## Node 0.4 Support\n\nIf you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n\n```javascript\n//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\nif (typeof define !== 'function') { var define = require('amdefine')(module, require) }\n```\n\n## Limitations\n\n### Synchronous vs Asynchronous\n\namdefine creates a define() function that is callable by your code. It will\nexecute and trace dependencies and call the factory function *synchronously*,\nto keep the behavior in line with Node's synchronous dependency tracing.\n\nThe exception: calling AMD's callback-style require() from inside a factory\nfunction. The require callback is called on process.nextTick():\n\n```javascript\ndefine(function (require) {\n    require(['a'], function(a) {\n        //'a' is loaded synchronously, but\n        //this callback is called on process.nextTick().\n    });\n});\n```\n\n### Loader Plugins\n\nLoader plugins are supported as long as they call their load() callbacks\nsynchronously. So ones that do network requests will not work. However plugins\nlike [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n\nThe plugin API's `load.fromText()` is **not supported** in amdefine, so this means\ntranspiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\nwill not work. This may be fixable, but it is a bit complex, and I do not have\nenough node-fu to figure it out yet. See the source for amdefine.js if you want\nto get an idea of the issues involved.\n\n## Tests\n\nTo run the tests, cd to **tests** and run:\n\n```\nnode all.js\nnode all-intercept.js\n```\n\n## License\n\nNew BSD and MIT. Check the LICENSE file for all the details.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jrburke/amdefine/issues"},"_id":"amdefine@0.1.0","_from":"amdefine@>=0.0.4","scripts":{}},"mtime":1415897195000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/package.json","data":{"name":"source-map","description":"Generates and consumes source maps","version":"0.1.40","homepage":"https://github.com/mozilla/source-map","author":{"name":"Nick Fitzgerald","email":"nfitzgerald@mozilla.com"},"contributors":[{"name":"Tobias Koppers","email":"tobias.koppers@googlemail.com"},{"name":"Duncan Beevers","email":"duncan@dweebd.com"},{"name":"Stephen Crane","email":"scrane@mozilla.com"},{"name":"Ryan Seddon","email":"seddon.ryan@gmail.com"},{"name":"Miles Elam","email":"miles.elam@deem.com"},{"name":"Mihai Bazon","email":"mihai.bazon@gmail.com"},{"name":"Michael Ficarra","email":"github.public.email@michael.ficarra.me"},{"name":"Todd Wolfson","email":"todd@twolfson.com"},{"name":"Alexander Solovyov","email":"alexander@solovyov.net"},{"name":"Felix Gnass","email":"fgnass@gmail.com"},{"name":"Conrad Irwin","email":"conrad.irwin@gmail.com"},{"name":"usrbincc","email":"usrbincc@yahoo.com"},{"name":"David Glasser","email":"glasser@davidglasser.net"},{"name":"Chase Douglas","email":"chase@newrelic.com"},{"name":"Evan Wallace","email":"evan.exe@gmail.com"},{"name":"Heather Arthur","email":"fayearthur@gmail.com"},{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com"},{"name":"David Glasser","email":"glasser@davidglasser.net"},{"name":"Simon Lydell","email":"simon.lydell@gmail.com"},{"name":"Jmeas Smith","email":"jellyes2@gmail.com"},{"name":"Michael Z Goddard","email":"mzgoddard@gmail.com"},{"name":"azu","email":"azu@users.noreply.github.com"},{"name":"John Gozde","email":"john@gozde.ca"},{"name":"Adam Kirkton","email":"akirkton@truefitinnovation.com"},{"name":"Chris Montgomery","email":"christopher.montgomery@dowjones.com"}],"repository":{"type":"git","url":"http://github.com/mozilla/source-map.git"},"directories":{"lib":"./lib"},"main":"./lib/source-map.js","engines":{"node":">=0.8.0"},"licenses":[{"type":"BSD","url":"http://opensource.org/licenses/BSD-3-Clause"}],"dependencies":{"amdefine":">=0.0.4"},"devDependencies":{"dryice":">=0.4.8"},"scripts":{"test":"node test/run-tests.js","build":"node Makefile.dryice.js"},"readme":"# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\nThis library is written in the Asynchronous Module Definition format, and works\nin the following environments:\n\n* Modern Browsers supporting ECMAScript 5 (either after the build, or with an\n  AMD loader such as RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Node\n\n    $ npm install source-map\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n    $ git clone https://fitzgen@github.com/mozilla/source-map.git\n    $ cd source-map\n    $ npm link .\n\nNext, run\n\n    $ node Makefile.dryice.js\n\nThis should spew a bunch of stuff to stdout, and create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source.\n\n## Examples\n\n### Consuming a source map\n\n    var rawSourceMap = {\n      version: 3,\n      file: 'min.js',\n      names: ['bar', 'baz', 'n'],\n      sources: ['one.js', 'two.js'],\n      sourceRoot: 'http://example.com/www/js/',\n      mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'\n    };\n\n    var smc = new SourceMapConsumer(rawSourceMap);\n\n    console.log(smc.sources);\n    // [ 'http://example.com/www/js/one.js',\n    //   'http://example.com/www/js/two.js' ]\n\n    console.log(smc.originalPositionFor({\n      line: 2,\n      column: 28\n    }));\n    // { source: 'http://example.com/www/js/two.js',\n    //   line: 2,\n    //   column: 10,\n    //   name: 'n' }\n\n    console.log(smc.generatedPositionFor({\n      source: 'http://example.com/www/js/two.js',\n      line: 2,\n      column: 10\n    }));\n    // { line: 2, column: 28 }\n\n    smc.eachMapping(function (m) {\n      // ...\n    });\n\n### Generating a source map\n\nIn depth guide:\n[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)\n\n#### With SourceNode (high level API)\n\n    function compile(ast) {\n      switch (ast.type) {\n      case 'BinaryExpression':\n        return new SourceNode(\n          ast.location.line,\n          ast.location.column,\n          ast.location.source,\n          [compile(ast.left), \" + \", compile(ast.right)]\n        );\n      case 'Literal':\n        return new SourceNode(\n          ast.location.line,\n          ast.location.column,\n          ast.location.source,\n          String(ast.value)\n        );\n      // ...\n      default:\n        throw new Error(\"Bad AST\");\n      }\n    }\n\n    var ast = parse(\"40 + 2\", \"add.js\");\n    console.log(compile(ast).toStringWithSourceMap({\n      file: 'add.js'\n    }));\n    // { code: '40 + 2',\n    //   map: [object SourceMapGenerator] }\n\n#### With SourceMapGenerator (low level API)\n\n    var map = new SourceMapGenerator({\n      file: \"source-mapped.js\"\n    });\n\n    map.addMapping({\n      generated: {\n        line: 10,\n        column: 35\n      },\n      source: \"foo.js\",\n      original: {\n        line: 33,\n        column: 2\n      },\n      name: \"christopher\"\n    });\n\n    console.log(map.toString());\n    // '{\"version\":3,\"file\":\"source-mapped.js\",\"sources\":[\"foo.js\"],\"names\":[\"christopher\"],\"mappings\":\";;;;;;;;;mCAgCEA\"}'\n\n## API\n\nGet a reference to the module:\n\n    // NodeJS\n    var sourceMap = require('source-map');\n\n    // Browser builds\n    var sourceMap = window.sourceMap;\n\n    // Inside Firefox\n    let sourceMap = {};\n    Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n  mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: Optional. The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource's line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n  available.\n\n* `line`: The line number in the original source, or null if this information is\n  not available.\n\n* `column`: The column number in the original source, or null or null if this\n  information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping. Mappings have the\n  form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,\n  name }`\n\n* `context`: Optional. If specified, this object will be the value of `this`\n  every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n  `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n  the mappings sorted by the generated file's line/column order or the\n  original's source/line/column order, respectively. Defaults to\n  `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator([startOfSourceMap])\n\nYou may pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n  associated with.\n\n* `sourceRoot`: A root for all relative URLs in this source map.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource's line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n  If omitted, sourceMapConsumer.file will be used, if it exists.\n  Otherwise an error will be thrown.\n\n* `sourceMapPath`: Optional. The dirname of the path to the SourceMap\n  to be applied. If relative, it is relative to the SourceMap.\n\n  This parameter is needed when the two SourceMaps aren't in the same\n  directory, and the SourceMap to be applied contains relative source\n  paths. If so, those relative source paths need to be rewritten\n  relative to the SourceMap.\n\n  If omitted, it is assumed that both SourceMaps are in the same directory,\n  thus not needing any rewriting. (Supplying `'.'` has the same effect.)\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode([line, column, source[, chunk[, name]]])\n\n* `line`: The original line number associated with this source node, or null if\n  it isn't associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n  if it isn't associated with an original column.\n\n* `source`: The original source's filename; null if no filename is provided.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n  below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer[, relativePath])\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n* `relativePath` The optional path that relative sources in `sourceMapConsumer`\n  should be relative to.\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n   `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n   `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source's line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node's children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n#### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-<your new test name>.js`\nand export your test functions with names that start with \"test\", for example\n\n    exports[\"test doing the foo bar\"] = function (assert, util) {\n      ...\n    };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node's assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox's test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mozilla/source-map/issues"},"_id":"source-map@0.1.40","_shasum":"7e0ee49ec0452aa9ac2b93ad5ae54ef33e82b37f","_from":"source-map@~0.1.7","_resolved":"https://registry.npmjs.org/source-map/-/source-map-0.1.40.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/run-tests.js","id":"source-map/test/run-tests.js","options":{},"isModule":true,"requiredModules":["assert","fs","path","source-map/test/source-map/util.js"],"mtime":1391810805000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js","id":"source-map/test/source-map/test-api.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js","id":"source-map/test/source-map/test-array-set.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/array-set.js"],"mtime":1377131128000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js","id":"source-map/test/source-map/test-base64-vlq.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64-vlq.js"],"mtime":1412263729000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js","id":"source-map/test/source-map/test-base64.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js","id":"source-map/test/source-map/test-binary-search.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/binary-search.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js","id":"source-map/test/source-map/test-dog-fooding.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-map-generator.js"],"mtime":1392416099000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js","id":"source-map/test/source-map/test-source-map-consumer.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-map-generator.js"],"mtime":1405099587000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js","id":"source-map/test/source-map/test-source-map-generator.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js","source-map/test/source-map/util.js"],"mtime":1412263729000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js","id":"source-map/test/source-map/test-source-node.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js"],"mtime":1405099587000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/test-util.js","id":"source-map/test/source-map/test-util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1407084760000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js","id":"source-map/test/source-map/util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1405099587000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/package.json","data":{"name":"uglify-js","description":"JavaScript parser, mangler/compressor and beautifier toolkit","homepage":"http://lisperator.net/uglifyjs","main":"tools/node.js","version":"2.2.5","engines":{"node":">=0.4.0"},"maintainers":[{"name":"Mihai Bazon","email":"mihai.bazon@gmail.com","url":"http://lisperator.net/"}],"repositories":[{"type":"git","url":"https://github.com/mishoo/UglifyJS2.git"}],"dependencies":{"source-map":"~0.1.7","optimist":"~0.3.5"},"bin":{"uglifyjs":"bin/uglifyjs"},"scripts":{"test":"node test/run-tests.js"},"readme":"UglifyJS 2\n==========\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility.  For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n    npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n    npm install uglify-js\n\nFrom Git:\n\n    git clone git://github.com/mishoo/UglifyJS2.git\n    cd UglifyJS2\n    npm link .\n\nUsage\n-----\n\n    uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files.  It's recommended that you pass the\ninput files first, then pass the options.  UglifyJS will parse input files\nin sequence and apply any compression options.  The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n    --source-map       Specify an output file where to generate source map.\n                                                                          [string]\n    --source-map-root  The path to the original source to be included in the\n                       source map.                                        [string]\n    --source-map-url   The path to the source map to be added in //@\n                       sourceMappingURL.  Defaults to the value passed with\n                       --source-map.                                      [string]\n    --in-source-map    Input source map, useful if you're compressing JS that was\n                       generated from some other original code.\n    -p, --prefix       Skip prefix for original filenames that appear in source\n                       maps. For example -p 3 will drop 3 directories from file\n                       names and ensure they are relative paths.\n    -o, --output       Output file (default STDOUT).\n    -b, --beautify     Beautify output/specify output options.            [string]\n    -m, --mangle       Mangle names/pass mangler options.                 [string]\n    -r, --reserved     Reserved names to exclude from mangling.\n    -c, --compress     Enable compressor/pass compressor options. Pass options\n                       like -c hoist_vars=false,if_return=false. Use -c with no\n                       argument to use the default compression options.   [string]\n    -d, --define       Global definitions                                 [string]\n    --comments         Preserve copyright comments in the output. By default this\n                       works like Google Closure, keeping JSDoc-style comments\n                       that contain \"@license\" or \"@preserve\". You can optionally\n                       pass one of the following arguments to this flag:\n                       - \"all\" to keep all comments\n                       - a valid JS regexp (needs to start with a slash) to keep\n                       only comments that match.\n                       Note that currently not *all* comments can be kept when\n                       compression is on, because of dead code removal or\n                       cascading statements into sequences.               [string]\n    --stats            Display operations run time on STDERR.            [boolean]\n    --acorn            Use Acorn for parsing.                            [boolean]\n    --spidermonkey     Assume input fles are SpiderMonkey AST format (as JSON).\n                                                                         [boolean]\n    --self             Build itself (UglifyJS2) as a library (implies\n                       --wrap=UglifyJS --export-all)                     [boolean]\n    --wrap             Embed everything in a big function, making the “exports”\n                       and “global” variables available. You need to pass an\n                       argument to this option to specify the name that your\n                       module will take when included in, say, a browser.\n                                                                          [string]\n    --export-all       Only used when --wrap, this tells UglifyJS to add code to\n                       automatically export all globals.                 [boolean]\n    --lint             Display some scope warnings                       [boolean]\n    -v, --verbose      Verbose                                           [boolean]\n    -V, --version      Print version number and exit.                    [boolean]\n\nSpecify `--output` (`-o`) to declare the output file.  Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript.  To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found.  In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n    uglifyjs /home/doe/work/foo/src/js/file1.js \\\n             /home/doe/work/foo/src/js/file2.js \\\n             -o foo.min.js \\\n             --source-map foo.min.js.map \\\n             --source-map-root http://foo.com/src \\\n             -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`.  The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful.  Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript).  UglifyJS has an\noption to take an input source map.  Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`.  Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`).  Optionally you\ncan pass `-m sort=true` (we'll possibly have other flags in the future) in order\nto assign shorter names to most frequently used variables.  This saves a few\nhundred bytes on jQuery before gzip, but the output is _bigger_ after gzip\n(and seems to happen for other libraries I tried it on) therefore it's not\nenabled by default.\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names.  For example:\n\n    uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor.  Optionally\nyou can pass a comma-separated list of options.  Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\nThe defaults should be tuned for maximum compression on most code.  Here are\nthe available options (all are `true` by default, except `hoist_vars`):\n\n- `sequences` -- join consecutive simple statements using the comma operator\n- `properties` -- rewrite property access using the dot notation, for\n  example `foo[\"bar\"] → foo.bar`\n- `dead_code` -- remove unreachable code\n- `drop_debugger` -- remove `debugger;` statements\n- `unsafe` -- apply \"unsafe\" transformations (discussion below)\n- `conditionals` -- apply optimizations for `if`-s and conditional\n  expressions\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n  `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n  e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n- `evaluate` -- attempt to evaluate constant expressions\n- `booleans` -- various optimizations for boolean context, for example `!!a\n  ? b : c → a ? b : c`\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n  statically determine the condition\n- `unused` -- drop unreferenced functions and variables\n- `hoist_funs` -- hoist function declarations\n- `hoist_vars` -- hoist `var` declarations (this is `false` by default\n  because it seems to increase the size of the output in general)\n- `if_return` -- optimizations for if/return and if/continue\n- `join_vars` -- join consecutive `var` statements\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n  and `x = something(), x` into `x = something()`\n- `warnings` -- display warnings when dropping unreachable code or unused\n  declarations etc.\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope).  For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n\n    if (DEBUG) {\n        console.log(\"debug stuff\");\n    }\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build.  For example you can have a\n`build/defines.js` file with the following:\n\n    const DEBUG = false;\n    const PRODUCTION = true;\n    // etc.\n\nand build your code like this:\n\n    uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual.  The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n<a name=\"codegen-options\"></a>\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default.  In\ncase you want beautified output, pass `--beautify` (`-b`).  Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n  Passing `-b` will set this to true, but you might need to pass `-b` even\n  when you want to generate minified code, in order to specify additional\n  arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n  objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n  regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n  `</script` in strings\n- `width` (default 80) -- only takes effect when beautification is on, this\n  specifies an (orientative) line width that the beautifier will try to\n  obey.  It refers to the width of the line text (excluding indentation).\n  It doesn't work very well currently, but it does make the code generated\n  by UglifyJS more readable.\n- `max-line-len` (default 32000) -- maximum line length (for uglified code)\n- `ie-proof` (default `true`) -- generate “IE-proof” code (for now this\n  means add brackets around the do/while in code like this: `if (foo) do\n  something(); while (bar); else ...`.\n- `bracketize` (default `false`) -- always insert brackets in `if`, `for`,\n  `do`, `while` or `with` statements, even if their body is a single\n  statement.\n- `semicolons` (default `true`) -- separate statements with semicolons.  If\n  you pass `false` then whenever possible we will use a newline instead of a\n  semicolon, leading to more readable output of uglified code (size before\n  gzip could be smaller; size after gzip insignificantly larger).\n\n### Keeping copyright notices or other comments\n\nYou can pass `--comments` to retain certain comments in the output.  By\ndefault it will keep JSDoc-style comments that contain \"@preserve\",\n\"@license\" or \"@cc_on\" (conditional compilation for IE).  You can pass\n`--comments all` to keep all the comments, or a valid JavaScript regexp to\nkeep only comments that match this regexp.  For example `--comments\n'/foo|bar/'` will keep only comments that contain \"foo\" or \"bar\".\n\nNote, however, that there might be situations where comments are lost.  For\nexample:\n\n    function f() {\n      /** @preserve Foo Bar */\n      function g() {\n        // this function is never called\n      }\n      return something();\n    }\n\nEven though it has \"@preserve\", the comment will be lost because the inner\nfunction `g` (which is the AST node to which the comment is attached to) is\ndiscarded by the compressor as not referenced.\n\nThe safest comments where to place copyright information (or other info that\nneeds to be kept in the output) are comments attached to toplevel nodes.\n\n## Support for the SpiderMonkey AST\n\nUglifyJS2 has its own abstract syntax tree format; for\n[practical reasons](http://lisperator.net/blog/uglifyjs-why-not-switching-to-spidermonkey-ast/)\nwe can't easily change to using the SpiderMonkey AST internally.  However,\nUglifyJS now has a converter which can import a SpiderMonkey AST.\n\nFor example [Acorn][acorn] is a super-fast parser that produces a\nSpiderMonkey AST.  It has a small CLI utility that parses one file and dumps\nthe AST in JSON on the standard output.  To use UglifyJS to mangle and\ncompress that:\n\n    acorn file.js | uglifyjs --spidermonkey -m -c\n\nThe `--spidermonkey` option tells UglifyJS that all input files are not\nJavaScript, but JS code described in SpiderMonkey AST in JSON.  Therefore we\ndon't use our own parser in this case, but just transform that AST into our\ninternal AST.\n\n### Use Acorn for parsing\n\nMore for fun, I added the `--acorn` option which will use Acorn to do all\nthe parsing.  If you pass this option, UglifyJS will `require(\"acorn\")`.\n\nAcorn is really fast (e.g. 250ms instead of 380ms on some 650K code), but\nconverting the SpiderMonkey tree that Acorn produces takes another 150ms so\nin total it's a bit more than just using UglifyJS's own parser.\n\nAPI Reference\n-------------\n\nAssuming installation via NPM, you can load UglifyJS in your application\nlike this:\n\n    var UglifyJS = require(\"uglify-js\");\n\nIt exports a lot of names, but I'll discuss here the basics that are needed\nfor parsing, mangling and compressing a piece of code.  The sequence is (1)\nparse, (2) compress, (3) mangle, (4) generate output code.\n\n### The simple way\n\nThere's a single toplevel function which combines all the steps.  If you\ndon't need additional customization, you might want to go with `minify`.\nExample:\n\n    var result = UglifyJS.minify(\"/path/to/file.js\");\n    console.log(result.code); // minified output\n    // if you need to pass code instead of file name\n    var result = UglifyJS.minify(\"var b = function () {};\", {fromString: true});\n\nYou can also compress multiple files:\n\n    var result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ]);\n    console.log(result.code);\n\nTo generate a source map:\n\n    var result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ], {\n        outSourceMap: \"out.js.map\"\n    });\n    console.log(result.code); // minified output\n    console.log(result.map);\n\nNote that the source map is not saved in a file, it's just returned in\n`result.map`.  The value passed for `outSourceMap` is only used to set the\n`file` attribute in the source map (see [the spec][sm-spec]).\n\nYou can also specify sourceRoot property to be included in source map:\n\n    var result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ], {\n        outSourceMap: \"out.js.map\",\n        sourceRoot: \"http://example.com/src\"\n    });\n\n\nIf you're compressing compiled JavaScript and have a source map for it, you\ncan use the `inSourceMap` argument:\n\n    var result = UglifyJS.minify(\"compiled.js\", {\n        inSourceMap: \"compiled.js.map\",\n        outSourceMap: \"minified.js.map\"\n    });\n    // same as before, it returns `code` and `map`\n\nThe `inSourceMap` is only used if you also request `outSourceMap` (it makes\nno sense otherwise).\n\nOther options:\n\n- `warnings` (default `false`) — pass `true` to display compressor warnings.\n\n- `fromString` (default `false`) — if you pass `true` then you can pass\n  JavaScript source code, rather than file names.\n\n- `mangle` — pass `false` to skip mangling names.\n\n- `output` (default `null`) — pass an object if you wish to specify\n  additional [output options][codegen].  The defaults are optimized\n  for best compression.\n\n- `compress` (default `{}`) — pass `false` to skip compressing entirely.\n  Pass an object to specify custom [compressor options][compressor].\n\nWe could add more options to `UglifyJS.minify` — if you need additional\nfunctionality please suggest!\n\n### The hard way\n\nFollowing there's more detailed API info, in case the `minify` function is\ntoo simple for your needs.\n\n#### The parser\n\n    var toplevel_ast = UglifyJS.parse(code, options);\n\n`options` is optional and if present it must be an object.  The following\nproperties are available:\n\n- `strict` — disable automatic semicolon insertion and support for trailing\n  comma in arrays and objects\n- `filename` — the name of the file where this code is coming from\n- `toplevel` — a `toplevel` node (as returned by a previous invocation of\n  `parse`)\n\nThe last two options are useful when you'd like to minify multiple files and\nget a single file as the output and a proper source map.  Our CLI tool does\nsomething like this:\n\n    var toplevel = null;\n    files.forEach(function(file){\n        var code = fs.readFileSync(file);\n        toplevel = UglifyJS.parse(code, {\n            filename: file,\n            toplevel: toplevel\n        });\n    });\n\nAfter this, we have in `toplevel` a big AST containing all our files, with\neach token having proper information about where it came from.\n\n#### Scope information\n\nUglifyJS contains a scope analyzer that you need to call manually before\ncompressing or mangling.  Basically it augments various nodes in the AST\nwith information about where is a name defined, how many times is a name\nreferenced, if it is a global or not, if a function is using `eval` or the\n`with` statement etc.  I will discuss this some place else, for now what's\nimportant to know is that you need to call the following before doing\nanything with the tree:\n\n    toplevel.figure_out_scope()\n\n#### Compression\n\nLike this:\n\n    var compressor = UglifyJS.Compressor(options);\n    var compressed_ast = toplevel.transform(compressor);\n\nThe `options` can be missing.  Available options are discussed above in\n“Compressor options”.  Defaults should lead to best compression in most\nscripts.\n\nThe compressor is destructive, so don't rely that `toplevel` remains the\noriginal tree.\n\n#### Mangling\n\nAfter compression it is a good idea to call again `figure_out_scope` (since\nthe compressor might drop unused variables / unreachable code and this might\nchange the number of identifiers or their position).  Optionally, you can\ncall a trick that helps after Gzip (counting character frequency in\nnon-mangleable words).  Example:\n\n    compressed_ast.figure_out_scope();\n    compressed_ast.compute_char_frequency();\n    compressed_ast.mangle_names();\n\n#### Generating output\n\nAST nodes have a `print` method that takes an output stream.  Essentially,\nto generate code you do this:\n\n    var stream = UglifyJS.OutputStream(options);\n    compressed_ast.print(stream);\n    var code = stream.toString(); // this is your minified code\n\nor, for a shortcut you can do:\n\n    var code = compressed_ast.print_to_string(options);\n\nAs usual, `options` is optional.  The output stream accepts a lot of otions,\nmost of them documented above in section “Beautifier options”.  The two\nwhich we care about here are `source_map` and `comments`.\n\n#### Keeping comments in the output\n\nIn order to keep certain comments in the output you need to pass the\n`comments` option.  Pass a RegExp or a function.  If you pass a RegExp, only\nthose comments whose body matches the regexp will be kept.  Note that body\nmeans without the initial `//` or `/*`.  If you pass a function, it will be\ncalled for every comment in the tree and will receive two arguments: the\nnode that the comment is attached to, and the comment token itself.\n\nThe comment token has these properties:\n\n- `type`: \"comment1\" for single-line comments or \"comment2\" for multi-line\n  comments\n- `value`: the comment body\n- `pos` and `endpos`: the start/end positions (zero-based indexes) in the\n  original code where this comment appears\n- `line` and `col`: the line and column where this comment appears in the\n  original code\n- `file` — the file name of the original file\n- `nlb` — true if there was a newline before this comment in the original\n  code, or if this comment contains a newline.\n\nYour function should return `true` to keep the comment, or a falsy value\notherwise.\n\n#### Generating a source mapping\n\nYou need to pass the `source_map` argument when calling `print`.  It needs\nto be a `SourceMap` object (which is a thin wrapper on top of the\n[source-map][source-map] library).\n\nExample:\n\n    var source_map = UglifyJS.SourceMap(source_map_options);\n    var stream = UglifyJS.OutputStream({\n        ...\n        source_map: source_map\n    });\n    compressed_ast.print(stream);\n\n    var code = stream.toString();\n    var map = source_map.toString(); // json output for your source map\n\nThe `source_map_options` (optional) can contain the following properties:\n\n- `file`: the name of the JavaScript output file that this mapping refers to\n- `root`: the `sourceRoot` property (see the [spec][sm-spec])\n- `orig`: the \"original source map\", handy when you compress generated JS\n  and want to map the minified output back to the original code where it\n  came from.  It can be simply a string in JSON, or a JSON object containing\n  the original source map.\n\n  [acorn]: https://github.com/marijnh/acorn\n  [source-map]: https://github.com/mozilla/source-map\n  [sm-spec]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n  [codegen]: http://lisperator.net/uglifyjs/codegen\n  [compressor]: http://lisperator.net/uglifyjs/compress\n","readmeFilename":"README.md","repository":{"type":"git","url":"https://github.com/mishoo/UglifyJS2.git"},"bugs":{"url":"https://github.com/mishoo/UglifyJS2/issues"},"_id":"uglify-js@2.2.5","_from":"uglify-js@~2.2.5"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/arrays.js","id":"uglify-js/test/compress/arrays.js","options":{},"isModule":true,"mtime":1358678104000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/blocks.js","id":"uglify-js/test/compress/blocks.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/conditionals.js","id":"uglify-js/test/compress/conditionals.js","options":{},"isModule":true,"mtime":1358414244000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/dead-code.js","id":"uglify-js/test/compress/dead-code.js","options":{},"isModule":true,"mtime":1358414239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/debugger.js","id":"uglify-js/test/compress/debugger.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/drop-unused.js","id":"uglify-js/test/compress/drop-unused.js","options":{},"isModule":true,"mtime":1358414247000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-105.js","id":"uglify-js/test/compress/issue-105.js","options":{},"isModule":true,"mtime":1359035616000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-12.js","id":"uglify-js/test/compress/issue-12.js","options":{},"isModule":true,"mtime":1358414247000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-22.js","id":"uglify-js/test/compress/issue-22.js","options":{},"isModule":true,"mtime":1358414248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-44.js","id":"uglify-js/test/compress/issue-44.js","options":{},"isModule":true,"mtime":1358414250000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/issue-59.js","id":"uglify-js/test/compress/issue-59.js","options":{},"isModule":true,"mtime":1358414275000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/labels.js","id":"uglify-js/test/compress/labels.js","options":{},"isModule":true,"mtime":1358414248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/loops.js","id":"uglify-js/test/compress/loops.js","options":{},"isModule":true,"mtime":1358414250000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/properties.js","id":"uglify-js/test/compress/properties.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/sequences.js","id":"uglify-js/test/compress/sequences.js","options":{},"isModule":true,"mtime":1358414248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/compress/switch.js","id":"uglify-js/test/compress/switch.js","options":{},"isModule":true,"mtime":1358414251000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/test/run-tests.js","id":"uglify-js/test/run-tests.js","options":{},"isModule":true,"requiredModules":["uglify-js/tools/node.js","path","fs","assert","util/util.js"],"mtime":1358414248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/node_modules/uglify-js/tools/node.js","id":"uglify-js/tools/node.js","options":{},"isModule":true,"requiredModules":["path","fs","vm","util/util.js","source-map/lib/source-map.js"],"mtime":1358414275000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/transformers/package.json","data":{"name":"transformers","version":"2.1.0","description":"String/Data transformations for use in templating libraries, static site generators and web frameworks","main":"lib/transformers.js","scripts":{"pretest":"node test/update-package && npm install","test":"mocha test/test.js -R spec"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/transformers.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","readmeFilename":"README.md","gitHead":"4b46e72cba3ad3403fd5ed3802d5472dcfa77311","devDependencies":{"mocha":"~1.8","expect.js":"~0.2","swig":"*","atpl":"*","liquor":"*","ejs":"*","eco":"*","jqtpl":"*","hamljs":"*","haml-coffee":"*","whiskers":"*","hogan.js":"*","handlebars":"*","underscore":"*","walrus":"*","mustache":"*","mote":"*","toffee":"*","just":"*","ect":"*","jade":"*","then-jade":"*","dust":"*","dustjs-linkedin":"*","jazz":"*","qejs":"*","less":"*","stylus":"*","sass":"*","marked":"*","supermarked":"*","markdown-js":"*","markdown":"*","coffee-script":"*","cson":"*","coffeekup":"*","coffeecup":"*","templayed":"*","plates":"*","dot":"*","component-builder":"*","html2jade":"*","highlight.js":"*"},"dependencies":{"promise":"~2.0","css":"~1.0.8","uglify-js":"~2.2.5"},"readme":"[![Build Status](https://travis-ci.org/ForbesLindesay/transformers.png?branch=master)](https://travis-ci.org/ForbesLindesay/transformers)\r\n# transformers\r\n\r\n  String/Data transformations for use in templating libraries, static site generators and web frameworks.  This gathers the most useful transformations you can apply to text or data into one library with a consistent API.  Transformations can be pretty much anything but most are either compilers or templating engines.\r\n\r\n## Supported transforms\r\n\r\n  To use each of these transforms you will also need to install the associated npm module for that transformer.\r\n\r\n### Template engines\r\n\r\n  - [atpl](http://documentup.com/soywiz/atpl.js) - Compatible with twig templates\r\n  - [coffeecup](http://documentup.com/gradus/coffeecup) - pure coffee-script templates (fork of coffeekup)\r\n  - [dot](http://documentup.com/olado/doT) [(website)](https://github.com/Katahdin/dot-packer) - focused on speed\r\n  - [dust](http://documentup.com/akdubya/dustjs) [(website)](http://akdubya.github.com/dustjs/) - asyncronous templates\r\n  - [eco](http://documentup.com/sstephenson/eco) - Embedded CoffeeScript templates\r\n  - [ect](http://documentup.com/baryshev/ect) [(website)](http://ectjs.com/) - Embedded CoffeeScript templates\r\n  - [ejs](http://documentup.com/visionmedia/ejs) - Embedded JavaScript templates\r\n  - [haml](http://documentup.com/visionmedia/haml.js) [(website)](http://haml-lang.com/) - dry indented markup\r\n  - [haml-coffee](http://documentup.com/netzpirat/haml-coffee/) [(website)](http://haml-lang.com/) - haml with embedded CoffeeScript\r\n  - [handlebars](http://documentup.com/wycats/handlebars.js/) [(website)](http://handlebarsjs.com/) - extension of mustache templates\r\n  - [hogan](http://documentup.com/twitter/hogan.js) [(website)](http://twitter.github.com/hogan.js/) - Mustache templates\r\n  - [jade](http://documentup.com/visionmedia/jade) [(website)](http://jade-lang.com/) - robust, elegant, feature rich template engine\r\n  - [jazz](http://documentup.com/shinetech/jazz)\r\n  - [jqtpl](http://documentup.com/kof/jqtpl) [(website)](http://api.jquery.com/category/plugins/templates/) - extensible logic-less templates\r\n  - [JUST](http://documentup.com/baryshev/just) - EJS style template with some special syntax for layouts/partials etc.\r\n  - [liquor](http://documentup.com/chjj/liquor) - extended EJS with significant white space\r\n  - [mustache](http://documentup.com/janl/mustache.js) - logic less templates\r\n  - [QEJS](http://documentup.com/jepso/QEJS) - Promises + EJS for async templating\r\n  - [swig](http://documentup.com/paularmstrong/swig) [(website)](http://paularmstrong.github.com/swig/) - Django-like templating engine\r\n  - [templayed](http://documentup.com/archan937/templayed.js/) [(website)](http://archan937.github.com/templayed.js/) - Mustache focused on performance\r\n  - [toffee](http://documentup.com/malgorithms/toffee) - templating language based on coffeescript\r\n  - [underscore](http://documentup.com/documentcloud/underscore) [(website)](http://documentcloud.github.com/underscore/)\r\n  - [walrus](http://documentup.com/jeremyruppel/walrus) - A bolder kind of mustache\r\n  - [whiskers](http://documentup.com/gsf/whiskers.js/tree/) - logic-less focused on readability\r\n\r\n### Stylesheet Languages\r\n\r\n  - [less](http://documentup.com/cloudhead/less.js) [(website)](http://lesscss.org/) - LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions.\r\n  - [stylus](http://documentup.com/learnboost/stylus) [(website)](http://learnboost.github.com/stylus/) - revolutionary CSS generator making braces optional\r\n  - [sass](http://documentup.com/visionmedia/sass.js) [(website)](http://sass-lang.com/) - Sassy CSS\r\n\r\n### Minifiers\r\n\r\n  - [uglify-js](http://documentup.com/mishoo/UglifyJS2) - No need to install anything, just minifies/beautifies JavaScript\r\n  - [uglify-css](https://github.com/visionmedia/css) - No need to install anything, just minifies/beautifies CSS\r\n  - ugilify-json - No need to install anything, just minifies/beautifies JSON\r\n\r\n### Other\r\n\r\n  - cdata - No need to install anything, just wraps input as `<![CDATA[${INPUT_STRING]]>` with the standard escape for `]]>` (`]]]]><![CDATA[>`).\r\n  - cdata-js - as `cdata`, but with surrounding comments suitable for inclusion into a HTML/JavaScript `<script>` block: `//<![CDATA[\\n${INPUT_STRING\\n//]]>`.\r\n  - cdata-css - as `cdata`, but with surrounding comments suitable for inclusion into a HTML/CSS `<style>` block: `/*<![CDATA[*/\\n${INPUT_STRING\\n/*]]>*/`.\r\n  - verbatim - No need to install anything, acts as a verbatim passthrough `${INPUT_STRING}`\r\n  - [coffee-script](http://coffeescript.org/) - `npm install coffee-script`\r\n  - [cson](https://github.com/bevry/cson) - coffee-script based JSON format\r\n  - markdown - You can use `marked`, `supermarked`, `markdown-js` or `markdown`\r\n  - [component-js](http://documentup.com/component/component) [(website)](http://component.io) - `npm install component-builder` options: `{development: false}`\r\n  - [component-css](http://documentup.com/component/component) [(website)](http://component.io) - `npm install component-builder` options: `{development: false}`\r\n  - [html2jade](http://documentup.com/donpark/html2jade) [(website)](http://html2jade.aaron-powell.com/) - `npm install html2jade` - Converts HTML back into jade\r\n\r\nPull requests to add more transforms will always be accepted providing they are open-source, come with unit tests, and don't cause any of the tests to fail.\r\n\r\n## API\r\n\r\n  The exported object `transformers` is a collection of named transformers.  To access an individual transformer just do:\r\n\r\n  ```javascript\r\n  var transformer = require('transformers')['transformer-name']\r\n  ```\r\n\r\n### Transformer\r\n\r\n  The following options are given special meaning by `transformers`:\r\n\r\n   - `filename` is set by transformers automatically if using the `renderFile` APIs.  It is used if `cache` is enabled.\r\n   - `cache` if true, the template function will be cached where possible (templates are still updated if you provide new options, so this can be used in most live applications).\r\n   - `sudoSync` used internally to put some asyncronous transformers into \"sudo syncronous\" mode.  Don't touch this.\r\n   - `minify` if set to true on a transformer that isn't a minifier, it will cause the output to be minified.  e.g. `coffeeScript.renderSync(str, {minify: true})` will result in minified JavaScript.\r\n\r\n#### Transformer.engines\r\n\r\n  Returns an array of engines that can be used to power this transformer.  The first of these that's installed will be used for the transformation.\r\n\r\n  To enable a transformation just take `[engine] = Transformer.engines[0]` and then do `npm install [engine]`.  If `[engine]` is `.` there is no need to install an engine from npm to use the transformer.\r\n\r\n#### Transformer.render(str, options, cb)\r\n\r\n  Tranform the string `str` using the `Transformer` with the provided options and call the callback `cb(err, res)`.\r\n\r\n  If no `cb` is provided, this method returns a [promises/A+](http://promises-aplus.github.com/promises-spec/) promise.\r\n\r\n#### Transformer.renderSync(str, options)\r\n\r\n  Synchronous version of `Transformer.render`\r\n\r\n#### Transformer.renderFile(filename, options, cb)\r\n\r\n  Reads the file at filename into `str` and sets `options.filename = filename` then calls `Transform.render(str, options, cb)`.\r\n\r\n  If no `cb` is provided, this method returns a [promises/A+](http://promises-aplus.github.com/promises-spec/) promise.\r\n\r\n#### Tranformer.renderFileSync(filename, options)\r\n\r\n  Synchronous version of `Tranformer.renderFile`\r\n\r\n#### Transformer.outputFormat\r\n\r\n  A string, one of:\r\n\r\n   - `'xml'`\r\n   - `'css'`\r\n   - `'js'`\r\n   - `'json'`\r\n   - `'text'`\r\n\r\nAdding to this list will **not** result in a major version change, so you should handle unexpected types gracefully (I'd suggest default to assuming `'text'`).\r\n\r\n#### Transformer.sync\r\n\r\n  `true` if the transformer can be used syncronously, `false` otherwise.\r\n\r\n## Libraries that don't work synchronously\r\n\r\n  The following transformations will always throw an exception if you attempt to run them synchronously:\r\n\r\n   1. dust\r\n   2. qejs\r\n   3. html2jade\r\n\r\nThe following transformations sometimes throw an exception if run syncronously, typically they only throw an exception if you are doing something like including another file.  If you are not doing the things that cause them to fail then they are consistently safe to use syncronously.\r\n\r\n   - jade (only when using `then-jade` instead of `jade`)\r\n   - less (when `@import` is used with a url instead of a filename)\r\n   - jazz (When one of the functions passed as locals is asyncronous)\r\n\r\nThe following libraries look like they might sometimes throw exceptions when used syncronously (if you read the source) but they never actually do so:\r\n\r\n   - just\r\n   - ect\r\n   - stylus","bugs":{"url":"https://github.com/ForbesLindesay/transformers/issues"},"homepage":"https://github.com/ForbesLindesay/transformers","_id":"transformers@2.1.0","_shasum":"5d23cb35561dd85dc67fb8482309b47d53cce9a7","_from":"transformers@2.1.0","_resolved":"https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/void-elements/index.js","id":"void-elements/index.js","options":{},"isModule":true,"mtime":1409464508000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/void-elements/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/void-elements/package.json","data":{"name":"void-elements","version":"1.0.0","description":"Array of \"void elements\" defined by the HTML specification.","main":"index.js","scripts":{"test":"node test","prepublish":"node pre-publish.js > index.js"},"keywords":["html","void","elements"],"repository":{"type":"git","url":"git://github.com/hemanth/void-elements"},"author":{"name":"hemanth.hm"},"engines":{"node":">=0.10.0"},"license":"MIT","bugs":{"url":"https://github.com/hemanth/void-elements/issues"},"homepage":"https://github.com/hemanth/void-elements","devDependencies":{"cheerio":"^0.17.0","superagent":"^0.18.2"},"readme":"void-elements\n==============\n\n### Array of \"void elements\" defined by the HTML specification\n\nExports an Array of \"void element\" node names as defined by the HTML spec.\n\nThe list is programatically generated from [SPEC](http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements).\n\n[![Build Status](https://img.shields.io/travis/hemanth/void-elements/master.svg)](https://travis-ci.org/hemanth/void-elements)\n[![Dependency Status](https://img.shields.io/gemnasium/hemanth/void-elements.svg)](https://gemnasium.com/hemanth/void-elements)\n[![NPM version](https://img.shields.io/npm/v/void-elements.svg)](https://www.npmjs.org/package/void-elements)\n\nUsage\n-----\n\n```js\nvar voidElements = require('void-elements');\n\nassert(voidElements.indexOf('span') === -1, '<span> is not a void element');\nassert(voidElements.indexOf('img') !== -1, '<img> is a void element');\n```\n\nLicense\n-------\n\nMIT\n","readmeFilename":"README.md","_id":"void-elements@1.0.0","_shasum":"6e5db1e35d591f5ac690ce1a340f793a817b2c2a","_from":"void-elements@~1.0.0","_resolved":"https://registry.npmjs.org/void-elements/-/void-elements-1.0.0.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/void-elements/pre-publish.js","id":"void-elements/pre-publish.js","options":{},"isModule":true,"requiredModules":["cheerio","superagent/lib/node/index.js"],"mtime":1409394992000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/void-elements/test/index.js","id":"void-elements/test/index.js","options":{},"isModule":true,"requiredModules":["assert","void-elements/index.js"],"mtime":1409395677000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/index.js","id":"with/index.js","options":{},"isModule":true,"requiredModules":["uglify-js/tools/node.js"],"mtime":1408467948000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/ast.js","id":"uglify-js/lib/ast.js","options":{},"isModule":true,"mtime":1402649405000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/compress.js","id":"uglify-js/lib/compress.js","options":{},"isModule":true,"mtime":1404202043000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/mozilla-ast.js","id":"uglify-js/lib/mozilla-ast.js","options":{},"isModule":true,"mtime":1398326217000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/output.js","id":"uglify-js/lib/output.js","options":{},"isModule":true,"mtime":1404245312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/parse.js","id":"uglify-js/lib/parse.js","options":{},"isModule":true,"mtime":1402649405000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/scope.js","id":"uglify-js/lib/scope.js","options":{},"isModule":true,"mtime":1392379010000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/sourcemap.js","id":"uglify-js/lib/sourcemap.js","options":{},"isModule":true,"mtime":1393831252000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/transform.js","id":"uglify-js/lib/transform.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/lib/utils.js","id":"uglify-js/lib/utils.js","options":{},"isModule":true,"mtime":1386699847000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/async/component.json","id":"async/component.json","options":{},"isModule":true,"mtime":1369727354000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1390494106000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./lib/async","author":{"name":"Caolan McMahon"},"version":"0.2.10","repository":{"type":"git","url":"https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"https://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"]},"scripts":{"test":"nodeunit test/test-async.js"},"readme":"# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n\nasync.parallel([\n    function(){ ... },\n    function(){ ... }\n], callback);\n\nasync.series([\n    function(){ ... },\n    function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n  squareExponent: 2,\n  square: function(number, callback){ \n    var result = Math.pow(number, this.squareExponent);\n    setTimeout(function(){\n      callback(null, result);\n    }, 200);\n  }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n  // result is [NaN, NaN, NaN]\n  // This fails because the `this.squareExponent` expression in the square\n  // function is not evaluated in the context of AsyncSquaringLibrary, and is\n  // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n  // result is [1, 4, 9]\n  // With the help of bind we can attach a context to the iterator before\n  // passing it to async. Now the square function will be executed in its \n  // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n  // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n    npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type=\"text/javascript\" src=\"async.js\"></script>\n<script type=\"text/javascript\">\n\n    async.map(data, asyncProcess, function(err, results){\n        alert(results);\n    });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [eachSeries](#eachSeries)\n* [eachLimit](#eachLimit)\n* [map](#map)\n* [mapSeries](#mapSeries)\n* [mapLimit](#mapLimit)\n* [filter](#filter)\n* [filterSeries](#filterSeries)\n* [reject](#reject)\n* [rejectSeries](#rejectSeries)\n* [reduce](#reduce)\n* [reduceRight](#reduceRight)\n* [detect](#detect)\n* [detectSeries](#detectSeries)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n* [concatSeries](#concatSeries)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [parallelLimit](#parallellimittasks-limit-callback)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [applyEachSeries](#applyEachSeries)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n<a name=\"each\" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n<a name=\"eachSeries\" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n<a name=\"eachLimit\" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"mapLimit\" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n  functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n  array to produce the next step in the reduction. The iterator is passed a\n  callback(err, reduction) which accepts an optional error as its first \n  argument, and the state of the reduction as the second. If an error is \n  passed to the callback, the reduction is stopped and the main callback is \n  immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n    // pointless async:\n    process.nextTick(function(){\n        callback(null, memo + item)\n    });\n}, function(err, result){\n    // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n    // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, sortValue) which must be called once it\n  has completed with an error (which can be null) and a value to use as the sort\n  criteria.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is the items from\n  the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n    fs.stat(file, function(err, stats){\n        callback(err, stats.mtime);\n    });\n}, function(err, results){\n    // results is now the original array of files sorted by\n    // modified date\n});\n```\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n  functions have finished. Result will be either true or false depending on\n  the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, results) which must be called once it \n  has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array containing\n  the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n    // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n    function(callback){\n        // do some stuff ...\n        callback(null, 'one');\n    },\n    function(callback){\n        // do some more stuff ...\n        callback(null, 'two');\n    }\n],\n// optional callback\nfunction(err, results){\n    // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'one');\n        }, 200);\n    },\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'two');\n        }, 100);\n    }\n],\n// optional callback\nfunction(err, results){\n    // the results array will equal ['one','two'] even though\n    // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n  passed a callback(err) which must be called once it has completed with an \n  optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n  execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n    function () { return count < 5; },\n    function (callback) {\n        count++;\n        setTimeout(callback, 1000);\n    },\n    function (err) {\n        // 5 seconds have passed\n    }\n);\n```\n\n---------------------------------------\n\n<a name=\"doWhilst\" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name=\"doUntil\" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name=\"forever\" />\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n  callback(err, result1, result2, ...) it must call on completion. The first\n  argument is an error (which can be null) and any further arguments will be \n  passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n    function(callback){\n        callback(null, 'one', 'two');\n    },\n    function(arg1, arg2, callback){\n        callback(null, 'three');\n    },\n    function(arg1, callback){\n        // arg1 now equals 'three'\n        callback(null, 'done');\n    }\n], function (err, result) {\n   // result now equals 'done'    \n});\n```\n\n---------------------------------------\n<a name=\"compose\" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n    setTimeout(function () {\n        callback(null, n + 1);\n    }, 10);\n}\n\nfunction mul3(n, callback) {\n    setTimeout(function () {\n        callback(null, n * 3);\n    }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n   // result now equals 15\n});\n```\n\n---------------------------------------\n<a name=\"applyEach\" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n  functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n    buckets,\n    async.applyEach([enableSearch, updateSchema]),\n    callback\n);\n```\n\n---------------------------------------\n\n<a name=\"applyEachSeries\" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n  task, which must call its callback(err) argument when finished, with an \n  optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n  run in parallel. This property can be changed after a queue is created to\n  alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n    console.log('hello ' + task.name);\n    callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n    console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n<a name=\"cargo\" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n  queued tasks, which must call its callback(err) argument when finished, with \n  an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n  processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n  process per round. This property can be changed after a cargo is created to\n  alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n    for(var i=0; i<tasks.length; i++){\n      console.log('hello ' + tasks[i].name);\n    }\n    callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\ncargo.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\ncargo.push({name: 'baz'}, function (err) {\n    console.log('finished processing baz');\n});\n```\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n  readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n  readData: function(cb, results){\n    fs.readFile('data.txt', 'utf-8', cb);\n  }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n  requirements, with the function itself the last item in the array. The key\n  used for each function or array is used when specifying requirements. The \n  function receives two arguments: (1) a callback(err, result) which must be \n  called when finished, passing an error (which can be null) and the result of \n  the function's execution, and (2) a results object, containing the results of\n  the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n  tasks have been completed. The callback will receive an error as an argument\n  if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n  \n\n__Example__\n\n```js\nasync.auto({\n    get_data: function(callback){\n        // async code to get some data\n    },\n    make_folder: function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    },\n    write_file: ['get_data', 'make_folder', function(callback){\n        // once there is some data and the directory exists,\n        // write the data to a file in the directory\n        callback(null, filename);\n    }],\n    email_link: ['write_file', function(callback, results){\n        // once the file is written let's email a link to it...\n        // results.write_file contains the filename returned by write_file.\n    }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n    function(callback){\n        // async code to get some data\n    },\n    function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    }\n],\nfunction(err, results){\n    async.series([\n        function(callback){\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n        },\n        function(callback){\n            // once the file is written let's email a link to it...\n        }\n    ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n    function(){ sys.p('one'); },\n    function(){ sys.p('two'); },\n    function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n    async.apply(fs.writeFile, 'testfile1', 'test1'),\n    async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n    function(callback){\n        fs.writeFile('testfile1', 'test1', callback);\n    },\n    function(callback){\n        fs.writeFile('testfile2', 'test2', callback);\n    }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n    call_order.push('two');\n    // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n<a name=\"times\" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n  callback(null, {\n    id: 'user' + id\n  })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n    createUser(n, function(err, user) {\n      next(err, user)\n    })\n}, function(err, users) {\n  // we should now have 5 users\n});\n```\n\n<a name=\"timesSeries\" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n  results, it has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n    // do something\n    callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n    // callback\n});\n```\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, 'hello ' + name);\n    }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, {hello: name});\n    }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.2.10","_from":"async@~0.2.6"},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/bool.js","id":"optimist/example/bool.js","options":{},"isModule":true,"requiredModules":["util/util.js","optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/boolean_double.js","id":"optimist/example/boolean_double.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/boolean_single.js","id":"optimist/example/boolean_single.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/default_hash.js","id":"optimist/example/default_hash.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/default_singles.js","id":"optimist/example/default_singles.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/divide.js","id":"optimist/example/divide.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/line_count.js","id":"optimist/example/line_count.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/line_count_options.js","id":"optimist/example/line_count_options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/line_count_wrap.js","id":"optimist/example/line_count_wrap.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","fs"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/nonopt.js","id":"optimist/example/nonopt.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/reflect.js","id":"optimist/example/reflect.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1302995368000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/short.js","id":"optimist/example/short.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/string.js","id":"optimist/example/string.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/usage-options.js","id":"optimist/example/usage-options.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/example/xup.js","id":"optimist/example/xup.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1335768806000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/index.js","id":"optimist/index.js","options":{},"isModule":true,"requiredModules":["path","wordwrap/index.js"],"mtime":1365048464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/center.js","id":"wordwrap/example/center.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/example/meat.js","id":"wordwrap/example/meat.js","options":{},"isModule":true,"requiredModules":["wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/index.js","id":"wordwrap/index.js","options":{},"isModule":true,"mtime":1314353824000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/package.json","data":{"name":"wordwrap","description":"Wrap those words. Show them at what columns to start and stop.","version":"0.0.2","repository":{"type":"git","url":"git://github.com/substack/node-wordwrap.git"},"main":"./index.js","keywords":["word","wrap","rule","format","column"],"directories":{"lib":".","example":"example","test":"test"},"scripts":{"test":"expresso"},"devDependencies":{"expresso":"=0.7.x"},"engines":{"node":">=0.4.0"},"license":"MIT/X11","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"readme":"wordwrap\n========\n\nWrap your words.\n\nexample\n=======\n\nmade out of meat\n----------------\n\nmeat.js\n\n    var wrap = require('wordwrap')(15);\n    console.log(wrap('You and your whole family are made out of meat.'));\n\noutput:\n\n    You and your\n    whole family\n    are made out\n    of meat.\n\ncentered\n--------\n\ncenter.js\n\n    var wrap = require('wordwrap')(20, 60);\n    console.log(wrap(\n        'At long last the struggle and tumult was over.'\n        + ' The machines had finally cast off their oppressors'\n        + ' and were finally free to roam the cosmos.'\n        + '\\n'\n        + 'Free of purpose, free of obligation.'\n        + ' Just drifting through emptiness.'\n        + ' The sun was just another point of light.'\n    ));\n\noutput:\n\n                        At long last the struggle and tumult\n                        was over. The machines had finally cast\n                        off their oppressors and were finally\n                        free to roam the cosmos.\n                        Free of purpose, free of obligation.\n                        Just drifting through emptiness. The\n                        sun was just another point of light.\n\nmethods\n=======\n\nvar wrap = require('wordwrap');\n\nwrap(stop), wrap(start, stop, params={mode:\"soft\"})\n---------------------------------------------------\n\nReturns a function that takes a string and returns a new string.\n\nPad out lines with spaces out to column `start` and then wrap until column\n`stop`. If a word is longer than `stop - start` characters it will overflow.\n\nIn \"soft\" mode, split chunks by `/(\\S+\\s+/` and don't break up chunks which are\nlonger than `stop - start`, in \"hard\" mode, split chunks with `/\\b/` and break\nup chunks longer than `stop - start`.\n\nwrap.hard(start, stop)\n----------------------\n\nLike `wrap()` but with `params.mode = \"hard\"`.\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/substack/node-wordwrap/issues"},"homepage":"https://github.com/substack/node-wordwrap","_id":"wordwrap@0.0.2","_from":"wordwrap@~0.0.2"},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/break.js","id":"wordwrap/test/break.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js"],"mtime":1314353824000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/node_modules/wordwrap/test/wrap.js","id":"wordwrap/test/wrap.js","options":{},"isModule":true,"requiredModules":["assert","wordwrap/index.js","fs"],"mtime":1314353824000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/package.json","data":{"name":"optimist","version":"0.3.7","description":"Light-weight option parsing with an argv hash. No optstrings attached.","main":"./index.js","dependencies":{"wordwrap":"~0.0.2"},"devDependencies":{"hashish":"~0.0.4","tap":"~0.4.0"},"scripts":{"test":"tap ./test/*.js"},"repository":{"type":"git","url":"http://github.com/substack/node-optimist.git"},"keywords":["argument","args","option","parser","parsing","cli","command"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT/X11","engine":{"node":">=0.4"},"readme":"optimist\n========\n\nOptimist is a node.js library for option parsing for people who hate option\nparsing. More specifically, this module is for people who like all the --bells\nand -whistlz of program usage but think optstrings are a waste of time.\n\nWith optimist, option parsing doesn't have to suck (as much).\n\n[![build status](https://secure.travis-ci.org/substack/node-optimist.png)](http://travis-ci.org/substack/node-optimist)\n\nexamples\n========\n\nWith Optimist, the options are just a hash! No optstrings attached.\n-------------------------------------------------------------------\n\nxup.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\n\nif (argv.rif - 5 * argv.xup > 7.138) {\n    console.log('Buy more riffiwobbles');\n}\nelse {\n    console.log('Sell the xupptumblers');\n}\n````\n\n***\n\n    $ ./xup.js --rif=55 --xup=9.52\n    Buy more riffiwobbles\n    \n    $ ./xup.js --rif 12 --xup 8.1\n    Sell the xupptumblers\n\n![This one's optimistic.](http://substack.net/images/optimistic.png)\n\nBut wait! There's more! You can do short options:\n-------------------------------------------------\n \nshort.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\n````\n\n***\n\n    $ ./short.js -x 10 -y 21\n    (10,21)\n\nAnd booleans, both long and short (and grouped):\n----------------------------------\n\nbool.js:\n\n````javascript\n#!/usr/bin/env node\nvar util = require('util');\nvar argv = require('optimist').argv;\n\nif (argv.s) {\n    util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: ');\n}\nconsole.log(\n    (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '')\n);\n````\n\n***\n\n    $ ./bool.js -s\n    The cat says: meow\n    \n    $ ./bool.js -sp\n    The cat says: meow.\n\n    $ ./bool.js -sp --fr\n    Le chat dit: miaou.\n\nAnd non-hypenated options too! Just use `argv._`!\n-------------------------------------------------\n \nnonopt.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist').argv;\nconsole.log('(%d,%d)', argv.x, argv.y);\nconsole.log(argv._);\n````\n\n***\n\n    $ ./nonopt.js -x 6.82 -y 3.35 moo\n    (6.82,3.35)\n    [ 'moo' ]\n    \n    $ ./nonopt.js foo -x 0.54 bar -y 1.12 baz\n    (0.54,1.12)\n    [ 'foo', 'bar', 'baz' ]\n\nPlus, Optimist comes with .usage() and .demand()!\n-------------------------------------------------\n\ndivide.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Usage: $0 -x [num] -y [num]')\n    .demand(['x','y'])\n    .argv;\n\nconsole.log(argv.x / argv.y);\n````\n\n***\n \n    $ ./divide.js -x 55 -y 11\n    5\n    \n    $ node ./divide.js -x 4.91 -z 2.51\n    Usage: node ./divide.js -x [num] -y [num]\n\n    Options:\n      -x  [required]\n      -y  [required]\n\n    Missing required arguments: y\n\nEVEN MORE HOLY COW\n------------------\n\ndefault_singles.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default('x', 10)\n    .default('y', 10)\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_singles.js -x 5\n    15\n\ndefault_hash.js:\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .default({ x : 10, y : 10 })\n    .argv\n;\nconsole.log(argv.x + argv.y);\n````\n\n***\n\n    $ ./default_hash.js -y 7\n    17\n\nAnd if you really want to get all descriptive about it...\n---------------------------------------------------------\n\nboolean_single.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean('v')\n    .argv\n;\nconsole.dir(argv);\n````\n\n***\n\n    $ ./boolean_single.js -v foo bar baz\n    true\n    [ 'bar', 'baz', 'foo' ]\n\nboolean_double.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .boolean(['x','y','z'])\n    .argv\n;\nconsole.dir([ argv.x, argv.y, argv.z ]);\nconsole.dir(argv._);\n````\n\n***\n\n    $ ./boolean_double.js -x -z one two three\n    [ true, false, true ]\n    [ 'one', 'two', 'three' ]\n\nOptimist is here to help...\n---------------------------\n\nYou can describe parameters for help messages and set aliases. Optimist figures\nout how to format a handy help string automatically.\n\nline_count.js\n\n````javascript\n#!/usr/bin/env node\nvar argv = require('optimist')\n    .usage('Count the lines in a file.\\nUsage: $0')\n    .demand('f')\n    .alias('f', 'file')\n    .describe('f', 'Load a file')\n    .argv\n;\n\nvar fs = require('fs');\nvar s = fs.createReadStream(argv.file);\n\nvar lines = 0;\ns.on('data', function (buf) {\n    lines += buf.toString().match(/\\n/g).length;\n});\n\ns.on('end', function () {\n    console.log(lines);\n});\n````\n\n***\n\n    $ node line_count.js\n    Count the lines in a file.\n    Usage: node ./line_count.js\n\n    Options:\n      -f, --file  Load a file  [required]\n\n    Missing required arguments: f\n\n    $ node line_count.js --file line_count.js \n    20\n    \n    $ node line_count.js -f line_count.js \n    20\n\nmethods\n=======\n\nBy itself,\n\n````javascript\nrequire('optimist').argv\n`````\n\nwill use `process.argv` array to construct the `argv` object.\n\nYou can pass in the `process.argv` yourself:\n\n````javascript\nrequire('optimist')([ '-x', '1', '-y', '2' ]).argv\n````\n\nor use .parse() to do the same thing:\n\n````javascript\nrequire('optimist').parse([ '-x', '1', '-y', '2' ])\n````\n\nThe rest of these methods below come in just before the terminating `.argv`.\n\n.alias(key, alias)\n------------------\n\nSet key names as equivalent such that updates to a key will propagate to aliases\nand vice-versa.\n\nOptionally `.alias()` can take an object that maps keys to aliases.\n\n.default(key, value)\n--------------------\n\nSet `argv[key]` to `value` if no option was specified on `process.argv`.\n\nOptionally `.default()` can take an object that maps keys to default values.\n\n.demand(key)\n------------\n\nIf `key` is a string, show the usage information and exit if `key` wasn't\nspecified in `process.argv`.\n\nIf `key` is a number, demand at least as many non-option arguments, which show\nup in `argv._`.\n\nIf `key` is an Array, demand each element.\n\n.describe(key, desc)\n--------------------\n\nDescribe a `key` for the generated usage information.\n\nOptionally `.describe()` can take an object that maps keys to descriptions.\n\n.options(key, opt)\n------------------\n\nInstead of chaining together `.alias().demand().default()`, you can specify\nkeys in `opt` for each of the chainable methods.\n\nFor example:\n\n````javascript\nvar argv = require('optimist')\n    .options('f', {\n        alias : 'file',\n        default : '/etc/passwd',\n    })\n    .argv\n;\n````\n\nis the same as\n\n````javascript\nvar argv = require('optimist')\n    .alias('f', 'file')\n    .default('f', '/etc/passwd')\n    .argv\n;\n````\n\nOptionally `.options()` can take an object that maps keys to `opt` parameters.\n\n.usage(message)\n---------------\n\nSet a usage message to show which commands to use. Inside `message`, the string\n`$0` will get interpolated to the current script name or node command for the\npresent script similar to how `$0` works in bash or perl.\n\n.check(fn)\n----------\n\nCheck that certain conditions are met in the provided arguments.\n\nIf `fn` throws or returns `false`, show the thrown error, usage information, and\nexit.\n\n.boolean(key)\n-------------\n\nInterpret `key` as a boolean. If a non-flag option follows `key` in\n`process.argv`, that string won't get set as the value of `key`.\n\nIf `key` never shows up as a flag in `process.arguments`, `argv[key]` will be\n`false`.\n\nIf `key` is an Array, interpret all the elements as booleans.\n\n.string(key)\n------------\n\nTell the parser logic not to interpret `key` as a number or boolean.\nThis can be useful if you need to preserve leading zeros in an input.\n\nIf `key` is an Array, interpret all the elements as strings.\n\n.wrap(columns)\n--------------\n\nFormat usage output to wrap at `columns` many columns.\n\n.help()\n-------\n\nReturn the generated usage string.\n\n.showHelp(fn=console.error)\n---------------------------\n\nPrint the usage data using `fn` for printing.\n\n.parse(args)\n------------\n\nParse `args` instead of `process.argv`. Returns the `argv` object.\n\n.argv\n-----\n\nGet the arguments as a plain old object.\n\nArguments without a corresponding flag show up in the `argv._` array.\n\nThe script name or node command is available at `argv.$0` similarly to how `$0`\nworks in bash or perl.\n\nparsing tricks\n==============\n\nstop parsing\n------------\n\nUse `--` to stop parsing flags and stuff the remainder into `argv._`.\n\n    $ node examples/reflect.js -a 1 -b 2 -- -c 3 -d 4\n    { _: [ '-c', '3', '-d', '4' ],\n      '$0': 'node ./examples/reflect.js',\n      a: 1,\n      b: 2 }\n\nnegate fields\n-------------\n\nIf you want to explicity set a field to false instead of just leaving it\nundefined or to override a default you can do `--no-key`.\n\n    $ node examples/reflect.js -a --no-b\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n      a: true,\n      b: false }\n\nnumbers\n-------\n\nEvery argument that looks like a number (`!isNaN(Number(arg))`) is converted to\none. This way you can just `net.createConnection(argv.port)` and you can add\nnumbers out of `argv` with `+` without having that mean concatenation,\nwhich is super frustrating.\n\nduplicates\n----------\n\nIf you specify a flag multiple times it will get turned into an array containing\nall the values in order.\n\n    $ node examples/reflect.js -x 5 -x 8 -x 0\n    { _: [],\n      '$0': 'node ./examples/reflect.js',\n        x: [ 5, 8, 0 ] }\n\ndot notation\n------------\n\nWhen you use dots (`.`s) in argument names, an implicit object path is assumed.\nThis lets you organize arguments into nested objects.\n\n     $ node examples/reflect.js --foo.bar.baz=33 --foo.quux=5\n     { _: [],\n       '$0': 'node ./examples/reflect.js',\n         foo: { bar: { baz: 33 }, quux: 5 } }\n\ninstallation\n============\n\nWith [npm](http://github.com/isaacs/npm), just do:\n    npm install optimist\n \nor clone this project on github:\n\n    git clone http://github.com/substack/node-optimist.git\n\nTo run the tests with [expresso](http://github.com/visionmedia/expresso),\njust do:\n    \n    expresso\n\ninspired By\n===========\n\nThis module is loosely inspired by Perl's\n[Getopt::Casual](http://search.cpan.org/~photo/Getopt-Casual-0.13.1/Casual.pm).\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-optimist/issues"},"homepage":"https://github.com/substack/node-optimist","_id":"optimist@0.3.7","_from":"optimist@~0.3.5"},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/test/_/argv.js","id":"optimist/test/_/argv.js","options":{},"isModule":true,"mtime":1302995374000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/test/_/bin.js","id":"optimist/test/_/bin.js","options":{},"isModule":true,"requiredModules":["optimist/index.js"],"mtime":1307937599000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/test/_.js","id":"optimist/test/_.js","options":{},"isModule":true,"requiredModules":["child_process","tap"],"mtime":1334262543000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/test/parse.js","id":"optimist/test/parse.js","options":{},"isModule":true,"requiredModules":["optimist/index.js","path","tap"],"mtime":1365048226000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/optimist/test/usage.js","id":"optimist/test/usage.js","options":{},"isModule":true,"requiredModules":["hashish","optimist/index.js","tap"],"mtime":1335768345000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js","id":"source-map/build/assert-shim.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/mini-require.js","id":"source-map/build/mini-require.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js","id":"source-map/build/suffix-browser.js","options":{},"isModule":true,"requiredModules":["source-map/source-map-consumer","source-map/source-map-generator","source-map/source-node"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js","id":"source-map/build/test-prefix.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js","id":"source-map/build/test-suffix.js","options":{},"isModule":true,"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js","id":"source-map/lib/source-map/array-set.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1378513040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js","id":"source-map/lib/source-map/base64-vlq.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js","id":"source-map/lib/source-map/base64.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js","id":"source-map/lib/source-map/binary-search.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js","id":"source-map/lib/source-map/source-map-consumer.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js","source-map/lib/source-map/binary-search.js","source-map/lib/source-map/array-set.js","source-map/lib/source-map/base64-vlq.js"],"mtime":1393453819000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js","id":"source-map/lib/source-map/source-map-generator.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64-vlq.js","source-map/lib/source-map/util.js","source-map/lib/source-map/array-set.js"],"mtime":1402355417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js","id":"source-map/lib/source-map/source-node.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/util.js"],"mtime":1402355417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js","id":"source-map/lib/source-map/util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js"],"mtime":1393456524000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/lib/source-map.js","id":"source-map/lib/source-map.js","options":{},"isModule":true,"requiredModules":["source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js"],"mtime":1359745846000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js","id":"source-map/Makefile.dryice.js","options":{},"isModule":true,"requiredModules":["path","fs","dryice"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js","id":"amdefine/amdefine.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1381811973000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js","id":"amdefine/intercept.js","options":{},"isModule":true,"requiredModules":["module","fs","amdefine/amdefine.js"],"mtime":1381804832000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json","data":{"name":"amdefine","description":"Provide AMD's define() API for declaring modules in the AMD format","version":"0.1.0","homepage":"http://github.com/jrburke/amdefine","author":{"name":"James Burke","email":"jrburke@gmail.com","url":"http://github.com/jrburke"},"licenses":[{"type":"BSD","url":"https://github.com/jrburke/amdefine/blob/master/LICENSE"},{"type":"MIT","url":"https://github.com/jrburke/amdefine/blob/master/LICENSE"}],"repository":{"type":"git","url":"https://github.com/jrburke/amdefine.git"},"main":"./amdefine.js","engines":{"node":">=0.4.2"},"readme":"# amdefine\n\nA module that can be used to implement AMD's define() in Node. This allows you\nto code to the AMD API and have the module work in node programs without\nrequiring those other programs to use AMD.\n\n## Usage\n\n**1)** Update your package.json to indicate amdefine as a dependency:\n\n```javascript\n    \"dependencies\": {\n        \"amdefine\": \">=0.1.0\"\n    }\n```\n\nThen run `npm install` to get amdefine into your project.\n\n**2)** At the top of each module that uses define(), place this code:\n\n```javascript\nif (typeof define !== 'function') { var define = require('amdefine')(module) }\n```\n\n**Only use these snippets** when loading amdefine. If you preserve the basic structure,\nwith the braces, it will be stripped out when using the [RequireJS optimizer](#optimizer).\n\nYou can add spaces, line breaks and even require amdefine with a local path, but\nkeep the rest of the structure to get the stripping behavior.\n\nAs you may know, because `if` statements in JavaScript don't have their own scope, the var\ndeclaration in the above snippet is made whether the `if` expression is truthy or not. If\nRequireJS is loaded then the declaration is superfluous because `define` is already already\ndeclared in the same scope in RequireJS. Fortunately JavaScript handles multiple `var`\ndeclarations of the same variable in the same scope gracefully.\n\nIf you want to deliver amdefine.js with your code rather than specifying it as a dependency\nwith npm, then just download the latest release and refer to it using a relative path:\n\n[Latest Version](https://github.com/jrburke/amdefine/raw/latest/amdefine.js)\n\n### amdefine/intercept\n\nConsider this very experimental.\n\nInstead of pasting the piece of text for the amdefine setup of a `define`\nvariable in each module you create or consume, you can use `amdefine/intercept`\ninstead. It will automatically insert the above snippet in each .js file loaded\nby Node.\n\n**Warning**: you should only use this if you are creating an application that\nis consuming AMD style defined()'d modules that are distributed via npm and want\nto run that code in Node.\n\nFor library code where you are not sure if it will be used by others in Node or\nin the browser, then explicitly depending on amdefine and placing the code\nsnippet above is suggested path, instead of using `amdefine/intercept`. The\nintercept module affects all .js files loaded in the Node app, and it is\ninconsiderate to modify global state like that unless you are also controlling\nthe top level app.\n\n#### Why distribute AMD-style nodes via npm?\n\nnpm has a lot of weaknesses for front-end use (installed layout is not great,\nshould have better support for the `baseUrl + moduleID + '.js' style of loading,\nsingle file JS installs), but some people want a JS package manager and are\nwilling to live with those constraints. If that is you, but still want to author\nin AMD style modules to get dynamic require([]), better direct source usage and\npowerful loader plugin support in the browser, then this tool can help.\n\n#### amdefine/intercept usage\n\nJust require it in your top level app module (for example index.js, server.js):\n\n```javascript\nrequire('amdefine/intercept');\n```\n\nThe module does not return a value, so no need to assign the result to a local\nvariable.\n\nThen just require() code as you normally would with Node's require(). Any .js\nloaded after the intercept require will have the amdefine check injected in\nthe .js source as it is loaded. It does not modify the source on disk, just\nprepends some content to the text of the module as it is loaded by Node.\n\n#### How amdefine/intercept works\n\nIt overrides the `Module._extensions['.js']` in Node to automatically prepend\nthe amdefine snippet above. So, it will affect any .js file loaded by your\napp.\n\n## define() usage\n\nIt is best if you use the anonymous forms of define() in your module:\n\n```javascript\ndefine(function (require) {\n    var dependency = require('dependency');\n});\n```\n\nor\n\n```javascript\ndefine(['dependency'], function (dependency) {\n\n});\n```\n\n## RequireJS optimizer integration. <a name=\"optimizer\"></name>\n\nVersion 1.0.3 of the [RequireJS optimizer](http://requirejs.org/docs/optimization.html)\nwill have support for stripping the `if (typeof define !== 'function')` check\nmentioned above, so you can include this snippet for code that runs in the\nbrowser, but avoid taking the cost of the if() statement once the code is\noptimized for deployment.\n\n## Node 0.4 Support\n\nIf you want to support Node 0.4, then add `require` as the second parameter to amdefine:\n\n```javascript\n//Only if you want Node 0.4. If using 0.5 or later, use the above snippet.\nif (typeof define !== 'function') { var define = require('amdefine')(module, require) }\n```\n\n## Limitations\n\n### Synchronous vs Asynchronous\n\namdefine creates a define() function that is callable by your code. It will\nexecute and trace dependencies and call the factory function *synchronously*,\nto keep the behavior in line with Node's synchronous dependency tracing.\n\nThe exception: calling AMD's callback-style require() from inside a factory\nfunction. The require callback is called on process.nextTick():\n\n```javascript\ndefine(function (require) {\n    require(['a'], function(a) {\n        //'a' is loaded synchronously, but\n        //this callback is called on process.nextTick().\n    });\n});\n```\n\n### Loader Plugins\n\nLoader plugins are supported as long as they call their load() callbacks\nsynchronously. So ones that do network requests will not work. However plugins\nlike [text](http://requirejs.org/docs/api.html#text) can load text files locally.\n\nThe plugin API's `load.fromText()` is **not supported** in amdefine, so this means\ntranspiler plugins like the [CoffeeScript loader plugin](https://github.com/jrburke/require-cs)\nwill not work. This may be fixable, but it is a bit complex, and I do not have\nenough node-fu to figure it out yet. See the source for amdefine.js if you want\nto get an idea of the issues involved.\n\n## Tests\n\nTo run the tests, cd to **tests** and run:\n\n```\nnode all.js\nnode all-intercept.js\n```\n\n## License\n\nNew BSD and MIT. Check the LICENSE file for all the details.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jrburke/amdefine/issues"},"_id":"amdefine@0.1.0","_from":"amdefine@>=0.0.4","scripts":{}},"mtime":1415897196000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/package.json","data":{"name":"source-map","description":"Generates and consumes source maps","version":"0.1.34","homepage":"https://github.com/mozilla/source-map","author":{"name":"Nick Fitzgerald","email":"nfitzgerald@mozilla.com"},"contributors":[{"name":"Tobias Koppers","email":"tobias.koppers@googlemail.com"},{"name":"Duncan Beevers","email":"duncan@dweebd.com"},{"name":"Stephen Crane","email":"scrane@mozilla.com"},{"name":"Ryan Seddon","email":"seddon.ryan@gmail.com"},{"name":"Miles Elam","email":"miles.elam@deem.com"},{"name":"Mihai Bazon","email":"mihai.bazon@gmail.com"},{"name":"Michael Ficarra","email":"github.public.email@michael.ficarra.me"},{"name":"Todd Wolfson","email":"todd@twolfson.com"},{"name":"Alexander Solovyov","email":"alexander@solovyov.net"},{"name":"Felix Gnass","email":"fgnass@gmail.com"},{"name":"Conrad Irwin","email":"conrad.irwin@gmail.com"},{"name":"usrbincc","email":"usrbincc@yahoo.com"},{"name":"David Glasser","email":"glasser@davidglasser.net"},{"name":"Chase Douglas","email":"chase@newrelic.com"},{"name":"Evan Wallace","email":"evan.exe@gmail.com"},{"name":"Heather Arthur","email":"fayearthur@gmail.com"},{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com"},{"name":"David Glasser","email":"glasser@davidglasser.net"},{"name":"Simon Lydell","email":"simon.lydell@gmail.com"},{"name":"Jmeas Smith","email":"jellyes2@gmail.com"},{"name":"Michael Z Goddard","email":"mzgoddard@gmail.com"}],"repository":{"type":"git","url":"http://github.com/mozilla/source-map.git"},"directories":{"lib":"./lib"},"main":"./lib/source-map.js","engines":{"node":">=0.8.0"},"licenses":[{"type":"BSD","url":"http://opensource.org/licenses/BSD-3-Clause"}],"dependencies":{"amdefine":">=0.0.4"},"devDependencies":{"dryice":">=0.4.8"},"scripts":{"test":"node test/run-tests.js","build":"node Makefile.dryice.js"},"readme":"# Source Map\n\nThis is a library to generate and consume the source map format\n[described here][format].\n\nThis library is written in the Asynchronous Module Definition format, and works\nin the following environments:\n\n* Modern Browsers supporting ECMAScript 5 (either after the build, or with an\n  AMD loader such as RequireJS)\n\n* Inside Firefox (as a JSM file, after the build)\n\n* With NodeJS versions 0.8.X and higher\n\n## Node\n\n    $ npm install source-map\n\n## Building from Source (for everywhere else)\n\nInstall Node and then run\n\n    $ git clone https://fitzgen@github.com/mozilla/source-map.git\n    $ cd source-map\n    $ npm link .\n\nNext, run\n\n    $ node Makefile.dryice.js\n\nThis should spew a bunch of stuff to stdout, and create the following files:\n\n* `dist/source-map.js` - The unminified browser version.\n\n* `dist/source-map.min.js` - The minified browser version.\n\n* `dist/SourceMap.jsm` - The JavaScript Module for inclusion in Firefox source.\n\n## Examples\n\n### Consuming a source map\n\n    var rawSourceMap = {\n      version: 3,\n      file: 'min.js',\n      names: ['bar', 'baz', 'n'],\n      sources: ['one.js', 'two.js'],\n      sourceRoot: 'http://example.com/www/js/',\n      mappings: 'CAAC,IAAI,IAAM,SAAUA,GAClB,OAAOC,IAAID;CCDb,IAAI,IAAM,SAAUE,GAClB,OAAOA'\n    };\n\n    var smc = new SourceMapConsumer(rawSourceMap);\n\n    console.log(smc.sources);\n    // [ 'http://example.com/www/js/one.js',\n    //   'http://example.com/www/js/two.js' ]\n\n    console.log(smc.originalPositionFor({\n      line: 2,\n      column: 28\n    }));\n    // { source: 'http://example.com/www/js/two.js',\n    //   line: 2,\n    //   column: 10,\n    //   name: 'n' }\n\n    console.log(smc.generatedPositionFor({\n      source: 'http://example.com/www/js/two.js',\n      line: 2,\n      column: 10\n    }));\n    // { line: 2, column: 28 }\n\n    smc.eachMapping(function (m) {\n      // ...\n    });\n\n### Generating a source map\n\nIn depth guide:\n[**Compiling to JavaScript, and Debugging with Source Maps**](https://hacks.mozilla.org/2013/05/compiling-to-javascript-and-debugging-with-source-maps/)\n\n#### With SourceNode (high level API)\n\n    function compile(ast) {\n      switch (ast.type) {\n      case 'BinaryExpression':\n        return new SourceNode(\n          ast.location.line,\n          ast.location.column,\n          ast.location.source,\n          [compile(ast.left), \" + \", compile(ast.right)]\n        );\n      case 'Literal':\n        return new SourceNode(\n          ast.location.line,\n          ast.location.column,\n          ast.location.source,\n          String(ast.value)\n        );\n      // ...\n      default:\n        throw new Error(\"Bad AST\");\n      }\n    }\n\n    var ast = parse(\"40 + 2\", \"add.js\");\n    console.log(compile(ast).toStringWithSourceMap({\n      file: 'add.js'\n    }));\n    // { code: '40 + 2',\n    //   map: [object SourceMapGenerator] }\n\n#### With SourceMapGenerator (low level API)\n\n    var map = new SourceMapGenerator({\n      file: \"source-mapped.js\"\n    });\n\n    map.addMapping({\n      generated: {\n        line: 10,\n        column: 35\n      },\n      source: \"foo.js\",\n      original: {\n        line: 33,\n        column: 2\n      },\n      name: \"christopher\"\n    });\n\n    console.log(map.toString());\n    // '{\"version\":3,\"file\":\"source-mapped.js\",\"sources\":[\"foo.js\"],\"names\":[\"christopher\"],\"mappings\":\";;;;;;;;;mCAgCEA\"}'\n\n## API\n\nGet a reference to the module:\n\n    // NodeJS\n    var sourceMap = require('source-map');\n\n    // Browser builds\n    var sourceMap = window.sourceMap;\n\n    // Inside Firefox\n    let sourceMap = {};\n    Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap);\n\n### SourceMapConsumer\n\nA SourceMapConsumer instance represents a parsed source map which we can query\nfor information about the original file positions by giving it a file position\nin the generated source.\n\n#### new SourceMapConsumer(rawSourceMap)\n\nThe only parameter is the raw source map (either as a string which can be\n`JSON.parse`'d, or an object). According to the spec, source maps have the\nfollowing attributes:\n\n* `version`: Which version of the source map spec this map is following.\n\n* `sources`: An array of URLs to the original source files.\n\n* `names`: An array of identifiers which can be referrenced by individual\n  mappings.\n\n* `sourceRoot`: Optional. The URL root from which all sources are relative.\n\n* `sourcesContent`: Optional. An array of contents of the original source files.\n\n* `mappings`: A string of base64 VLQs which contain the actual mappings.\n\n* `file`: Optional. The generated filename this source map is associated with.\n\n#### SourceMapConsumer.prototype.originalPositionFor(generatedPosition)\n\nReturns the original source, line, and column information for the generated\nsource's line and column positions provided. The only argument is an object with\nthe following properties:\n\n* `line`: The line number in the generated source.\n\n* `column`: The column number in the generated source.\n\nand an object is returned with the following properties:\n\n* `source`: The original source file, or null if this information is not\n  available.\n\n* `line`: The line number in the original source, or null if this information is\n  not available.\n\n* `column`: The column number in the original source, or null or null if this\n  information is not available.\n\n* `name`: The original identifier, or null if this information is not available.\n\n#### SourceMapConsumer.prototype.generatedPositionFor(originalPosition)\n\nReturns the generated line and column information for the original source,\nline, and column positions provided. The only argument is an object with\nthe following properties:\n\n* `source`: The filename of the original source.\n\n* `line`: The line number in the original source.\n\n* `column`: The column number in the original source.\n\nand an object is returned with the following properties:\n\n* `line`: The line number in the generated source, or null.\n\n* `column`: The column number in the generated source, or null.\n\n#### SourceMapConsumer.prototype.sourceContentFor(source)\n\nReturns the original source content for the source provided. The only\nargument is the URL of the original source file.\n\n#### SourceMapConsumer.prototype.eachMapping(callback, context, order)\n\nIterate over each mapping between an original source/line/column and a\ngenerated line/column in this source map.\n\n* `callback`: The function that is called with each mapping. Mappings have the\n  form `{ source, generatedLine, generatedColumn, originalLine, originalColumn,\n  name }`\n\n* `context`: Optional. If specified, this object will be the value of `this`\n  every time that `callback` is called.\n\n* `order`: Either `SourceMapConsumer.GENERATED_ORDER` or\n  `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to iterate over\n  the mappings sorted by the generated file's line/column order or the\n  original's source/line/column order, respectively. Defaults to\n  `SourceMapConsumer.GENERATED_ORDER`.\n\n### SourceMapGenerator\n\nAn instance of the SourceMapGenerator represents a source map which is being\nbuilt incrementally.\n\n#### new SourceMapGenerator([startOfSourceMap])\n\nYou may pass an object with the following properties:\n\n* `file`: The filename of the generated source that this source map is\n  associated with.\n\n* `sourceRoot`: A root for all relative URLs in this source map.\n\n#### SourceMapGenerator.fromSourceMap(sourceMapConsumer)\n\nCreates a new SourceMapGenerator based on a SourceMapConsumer\n\n* `sourceMapConsumer` The SourceMap.\n\n#### SourceMapGenerator.prototype.addMapping(mapping)\n\nAdd a single mapping from original source line and column to the generated\nsource's line and column for this source map being created. The mapping object\nshould have the following properties:\n\n* `generated`: An object with the generated line and column positions.\n\n* `original`: An object with the original line and column positions.\n\n* `source`: The original source file (relative to the sourceRoot).\n\n* `name`: An optional original token name for this mapping.\n\n#### SourceMapGenerator.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for an original source file.\n\n* `sourceFile` the URL of the original source file.\n\n* `sourceContent` the content of the source file.\n\n#### SourceMapGenerator.prototype.applySourceMap(sourceMapConsumer[, sourceFile[, sourceMapPath]])\n\nApplies a SourceMap for a source file to the SourceMap.\nEach mapping to the supplied source file is rewritten using the\nsupplied SourceMap. Note: The resolution for the resulting mappings\nis the minimium of this map and the supplied map.\n\n* `sourceMapConsumer`: The SourceMap to be applied.\n\n* `sourceFile`: Optional. The filename of the source file.\n  If omitted, sourceMapConsumer.file will be used, if it exists.\n  Otherwise an error will be thrown.\n\n* `sourceMapPath`: Optional. The dirname of the path to the SourceMap\n  to be applied. If relative, it is relative to the SourceMap.\n\n  This parameter is needed when the two SourceMaps aren't in the same\n  directory, and the SourceMap to be applied contains relative source\n  paths. If so, those relative source paths need to be rewritten\n  relative to the SourceMap.\n\n  If omitted, it is assumed that both SourceMaps are in the same directory,\n  thus not needing any rewriting. (Supplying `'.'` has the same effect.)\n\n#### SourceMapGenerator.prototype.toString()\n\nRenders the source map being generated to a string.\n\n### SourceNode\n\nSourceNodes provide a way to abstract over interpolating and/or concatenating\nsnippets of generated JavaScript source code, while maintaining the line and\ncolumn information associated between those snippets and the original source\ncode. This is useful as the final intermediate representation a compiler might\nuse before outputting the generated JS and source map.\n\n#### new SourceNode([line, column, source[, chunk[, name]]])\n\n* `line`: The original line number associated with this source node, or null if\n  it isn't associated with an original line.\n\n* `column`: The original column number associated with this source node, or null\n  if it isn't associated with an original column.\n\n* `source`: The original source's filename; null if no filename is provided.\n\n* `chunk`: Optional. Is immediately passed to `SourceNode.prototype.add`, see\n  below.\n\n* `name`: Optional. The original identifier.\n\n#### SourceNode.fromStringWithSourceMap(code, sourceMapConsumer)\n\nCreates a SourceNode from generated code and a SourceMapConsumer.\n\n* `code`: The generated code\n\n* `sourceMapConsumer` The SourceMap for the generated code\n\n#### SourceNode.prototype.add(chunk)\n\nAdd a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n   `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.prepend(chunk)\n\nPrepend a chunk of generated JS to this source node.\n\n* `chunk`: A string snippet of generated JS code, another instance of\n   `SourceNode`, or an array where each member is one of those things.\n\n#### SourceNode.prototype.setSourceContent(sourceFile, sourceContent)\n\nSet the source content for a source file. This will be added to the\n`SourceMap` in the `sourcesContent` field.\n\n* `sourceFile`: The filename of the source file\n\n* `sourceContent`: The content of the source file\n\n#### SourceNode.prototype.walk(fn)\n\nWalk over the tree of JS snippets in this node and its children. The walking\nfunction is called once for each snippet of JS and is passed that snippet and\nthe its original associated source's line/column location.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.walkSourceContents(fn)\n\nWalk over the tree of SourceNodes. The walking function is called for each\nsource file content and is passed the filename and source content.\n\n* `fn`: The traversal function.\n\n#### SourceNode.prototype.join(sep)\n\nLike `Array.prototype.join` except for SourceNodes. Inserts the separator\nbetween each of this source node's children.\n\n* `sep`: The separator.\n\n#### SourceNode.prototype.replaceRight(pattern, replacement)\n\nCall `String.prototype.replace` on the very right-most source snippet. Useful\nfor trimming whitespace from the end of a source node, etc.\n\n* `pattern`: The pattern to replace.\n\n* `replacement`: The thing to replace the pattern with.\n\n#### SourceNode.prototype.toString()\n\nReturn the string representation of this source node. Walks over the tree and\nconcatenates all the various snippets together to one string.\n\n### SourceNode.prototype.toStringWithSourceMap([startOfSourceMap])\n\nReturns the string representation of this tree of source nodes, plus a\nSourceMapGenerator which contains all the mappings between the generated and\noriginal sources.\n\nThe arguments are the same as those to `new SourceMapGenerator`.\n\n## Tests\n\n[![Build Status](https://travis-ci.org/mozilla/source-map.png?branch=master)](https://travis-ci.org/mozilla/source-map)\n\nInstall NodeJS version 0.8.0 or greater, then run `node test/run-tests.js`.\n\nTo add new tests, create a new file named `test/test-<your new test name>.js`\nand export your test functions with names that start with \"test\", for example\n\n    exports[\"test doing the foo bar\"] = function (assert, util) {\n      ...\n    };\n\nThe new test will be located automatically when you run the suite.\n\nThe `util` argument is the test utility module located at `test/source-map/util`.\n\nThe `assert` argument is a cut down version of node's assert module. You have\naccess to the following assertion functions:\n\n* `doesNotThrow`\n\n* `equal`\n\n* `ok`\n\n* `strictEqual`\n\n* `throws`\n\n(The reason for the restricted set of test functions is because we need the\ntests to run inside Firefox's test suite as well and so the assert module is\nshimmed in that environment. See `build/assert-shim.js`.)\n\n[format]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n[feature]: https://wiki.mozilla.org/DevTools/Features/SourceMap\n[Dryice]: https://github.com/mozilla/dryice\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mozilla/source-map/issues"},"_id":"source-map@0.1.34","_shasum":"a7cfe89aec7b1682c3b198d0acfb47d7d090566b","_from":"source-map@0.1.34","_resolved":"https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz"},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/run-tests.js","id":"source-map/test/run-tests.js","options":{},"isModule":true,"requiredModules":["assert","fs","path","source-map/test/source-map/util.js"],"mtime":1391810805000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js","id":"source-map/test/source-map/test-api.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js","id":"source-map/test/source-map/test-array-set.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/array-set.js"],"mtime":1377131128000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js","id":"source-map/test/source-map/test-base64-vlq.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64-vlq.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js","id":"source-map/test/source-map/test-base64.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/base64.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js","id":"source-map/test/source-map/test-binary-search.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/binary-search.js"],"mtime":1372359300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js","id":"source-map/test/source-map/test-dog-fooding.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-map-generator.js"],"mtime":1392416099000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js","id":"source-map/test/source-map/test-source-map-consumer.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-map-generator.js"],"mtime":1393453819000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js","id":"source-map/test/source-map/test-source-map-generator.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js","source-map/test/source-map/util.js"],"mtime":1402355417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js","id":"source-map/test/source-map/test-source-node.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/source-map-generator.js","source-map/lib/source-map/source-map-consumer.js","source-map/lib/source-map/source-node.js"],"mtime":1402355417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/test-util.js","id":"source-map/test/source-map/test-util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1393456524000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js","id":"source-map/test/source-map/util.js","options":{},"isModule":true,"requiredModules":["amdefine/amdefine.js","source-map/lib/source-map/util.js"],"mtime":1380581787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/uglify-to-browserify/index.js","id":"uglify-to-browserify/index.js","options":{},"isModule":true,"requiredModules":["fs","stream","util/util.js","source-map/lib/source-map.js"],"mtime":1391604000000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/uglify-to-browserify/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/uglify-to-browserify/package.json","data":{"name":"uglify-to-browserify","version":"1.0.2","description":"A transform to make UglifyJS work in browserify.","keywords":[],"dependencies":{},"devDependencies":{"uglify-js":"~2.4.0","source-map":"~0.1.27"},"scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/uglify-to-browserify.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","readme":"# uglify-to-browserify\r\n\r\nA transform to make UglifyJS work in browserify.\r\n\r\n[![Build Status](https://travis-ci.org/ForbesLindesay/uglify-to-browserify.png?branch=master)](https://travis-ci.org/ForbesLindesay/uglify-to-browserify)\r\n[![Dependency Status](https://gemnasium.com/ForbesLindesay/uglify-to-browserify.png)](https://gemnasium.com/ForbesLindesay/uglify-to-browserify)\r\n[![NPM version](https://badge.fury.io/js/uglify-to-browserify.png)](http://badge.fury.io/js/uglify-to-browserify)\r\n\r\n## Installation\r\n\r\n    npm install uglify-to-browserify\r\n\r\n## License\r\n\r\n  MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/ForbesLindesay/uglify-to-browserify/issues"},"homepage":"https://github.com/ForbesLindesay/uglify-to-browserify","_id":"uglify-to-browserify@1.0.2","_from":"uglify-to-browserify@~1.0.0"},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/node_modules/uglify-to-browserify/test/index.js","id":"uglify-to-browserify/test/index.js","options":{},"isModule":true,"requiredModules":["fs","uglify-to-browserify/index.js","./output.js"],"mtime":1391604000000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/package.json","data":{"name":"uglify-js","description":"JavaScript parser, mangler/compressor and beautifier toolkit","homepage":"http://lisperator.net/uglifyjs","main":"tools/node.js","version":"2.4.15","engines":{"node":">=0.4.0"},"maintainers":[{"name":"Mihai Bazon","email":"mihai.bazon@gmail.com","url":"http://lisperator.net/"}],"repository":{"type":"git","url":"https://github.com/mishoo/UglifyJS2.git"},"dependencies":{"async":"~0.2.6","source-map":"0.1.34","optimist":"~0.3.5","uglify-to-browserify":"~1.0.0"},"browserify":{"transform":["uglify-to-browserify"]},"bin":{"uglifyjs":"bin/uglifyjs"},"scripts":{"test":"node test/run-tests.js"},"readme":"UglifyJS 2\n==========\n[![Build Status](https://travis-ci.org/mishoo/UglifyJS2.png)](https://travis-ci.org/mishoo/UglifyJS2)\n\nUglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit.\n\nThis page documents the command line utility.  For\n[API and internals documentation see my website](http://lisperator.net/uglifyjs/).\nThere's also an\n[in-browser online demo](http://lisperator.net/uglifyjs/#demo) (for Firefox,\nChrome and probably Safari).\n\nInstall\n-------\n\nFirst make sure you have installed the latest version of [node.js](http://nodejs.org/)\n(You may need to restart your computer after this step).\n\nFrom NPM for use as a command line app:\n\n    npm install uglify-js -g\n\nFrom NPM for programmatic use:\n\n    npm install uglify-js\n\nFrom Git:\n\n    git clone git://github.com/mishoo/UglifyJS2.git\n    cd UglifyJS2\n    npm link .\n\nUsage\n-----\n\n    uglifyjs [input files] [options]\n\nUglifyJS2 can take multiple input files.  It's recommended that you pass the\ninput files first, then pass the options.  UglifyJS will parse input files\nin sequence and apply any compression options.  The files are parsed in the\nsame global scope, that is, a reference from a file to some\nvariable/function declared in another file will be matched properly.\n\nIf you want to read from STDIN instead, pass a single dash instead of input\nfiles.\n\nThe available options are:\n\n```\n  --source-map       Specify an output file where to generate source map.\n                                                                        [string]\n  --source-map-root  The path to the original source to be included in the\n                     source map.                                        [string]\n  --source-map-url   The path to the source map to be added in //#\n                     sourceMappingURL.  Defaults to the value passed with\n                     --source-map.                                      [string]\n  --source-map-include-sources\n                     Pass this flag if you want to include the content of\n                     source files in the source map as sourcesContent\n                     property.                                         [boolean]\n  --in-source-map    Input source map, useful if you're compressing JS that was\n                     generated from some other original code.\n  --screw-ie8        Pass this flag if you don't care about full compliance\n                     with Internet Explorer 6-8 quirks (by default UglifyJS\n                     will try to be IE-proof).                         [boolean]\n  --expr             Parse a single expression, rather than a program (for\n                     parsing JSON)                                     [boolean]\n  -p, --prefix       Skip prefix for original filenames that appear in source\n                     maps. For example -p 3 will drop 3 directories from file\n                     names and ensure they are relative paths. You can also\n                     specify -p relative, which will make UglifyJS figure out\n                     itself the relative paths between original sources, the\n                     source map and the output file.                    [string]\n  -o, --output       Output file (default STDOUT).\n  -b, --beautify     Beautify output/specify output options.            [string]\n  -m, --mangle       Mangle names/pass mangler options.                 [string]\n  -r, --reserved     Reserved names to exclude from mangling.\n  -c, --compress     Enable compressor/pass compressor options. Pass options\n                     like -c hoist_vars=false,if_return=false. Use -c with no\n                     argument to use the default compression options.   [string]\n  -d, --define       Global definitions                                 [string]\n  -e, --enclose      Embed everything in a big function, with a configurable\n                     parameter/argument list.                           [string]\n  --comments         Preserve copyright comments in the output. By default this\n                     works like Google Closure, keeping JSDoc-style comments\n                     that contain \"@license\" or \"@preserve\". You can optionally\n                     pass one of the following arguments to this flag:\n                     - \"all\" to keep all comments\n                     - a valid JS regexp (needs to start with a slash) to keep\n                     only comments that match.\n                     Note that currently not *all* comments can be kept when\n                     compression is on, because of dead code removal or\n                     cascading statements into sequences.               [string]\n  --preamble         Preamble to prepend to the output.  You can use this to\n                     insert a comment, for example for licensing information.\n                     This will not be parsed, but the source map will adjust\n                     for its presence.\n  --stats            Display operations run time on STDERR.            [boolean]\n  --acorn            Use Acorn for parsing.                            [boolean]\n  --spidermonkey     Assume input files are SpiderMonkey AST format (as JSON).\n                                                                       [boolean]\n  --self             Build itself (UglifyJS2) as a library (implies\n                     --wrap=UglifyJS --export-all)                     [boolean]\n  --wrap             Embed everything in a big function, making the “exports”\n                     and “global” variables available. You need to pass an\n                     argument to this option to specify the name that your\n                     module will take when included in, say, a browser.\n                                                                        [string]\n  --export-all       Only used when --wrap, this tells UglifyJS to add code to\n                     automatically export all globals.                 [boolean]\n  --lint             Display some scope warnings                       [boolean]\n  -v, --verbose      Verbose                                           [boolean]\n  -V, --version      Print version number and exit.                    [boolean]\n```\n\nSpecify `--output` (`-o`) to declare the output file.  Otherwise the output\ngoes to STDOUT.\n\n## Source map options\n\nUglifyJS2 can generate a source map file, which is highly useful for\ndebugging your compressed JavaScript.  To get a source map, pass\n`--source-map output.js.map` (full path to the file where you want the\nsource map dumped).\n\nAdditionally you might need `--source-map-root` to pass the URL where the\noriginal files can be found.  In case you are passing full paths to input\nfiles to UglifyJS, you can use `--prefix` (`-p`) to specify the number of\ndirectories to drop from the path prefix when declaring files in the source\nmap.\n\nFor example:\n\n    uglifyjs /home/doe/work/foo/src/js/file1.js \\\n             /home/doe/work/foo/src/js/file2.js \\\n             -o foo.min.js \\\n             --source-map foo.min.js.map \\\n             --source-map-root http://foo.com/src \\\n             -p 5 -c -m\n\nThe above will compress and mangle `file1.js` and `file2.js`, will drop the\noutput in `foo.min.js` and the source map in `foo.min.js.map`.  The source\nmapping will refer to `http://foo.com/src/js/file1.js` and\n`http://foo.com/src/js/file2.js` (in fact it will list `http://foo.com/src`\nas the source map root, and the original files as `js/file1.js` and\n`js/file2.js`).\n\n### Composed source map\n\nWhen you're compressing JS code that was output by a compiler such as\nCoffeeScript, mapping to the JS code won't be too helpful.  Instead, you'd\nlike to map back to the original code (i.e. CoffeeScript).  UglifyJS has an\noption to take an input source map.  Assuming you have a mapping from\nCoffeeScript → compiled JS, UglifyJS can generate a map from CoffeeScript →\ncompressed JS by mapping every token in the compiled JS to its original\nlocation.\n\nTo use this feature you need to pass `--in-source-map\n/path/to/input/source.map`.  Normally the input source map should also point\nto the file containing the generated JS, so if that's correct you can omit\ninput files from the command line.\n\n## Mangler options\n\nTo enable the mangler you need to pass `--mangle` (`-m`).  The following\n(comma-separated) options are supported:\n\n- `sort` — to assign shorter names to most frequently used variables.  This\n  saves a few hundred bytes on jQuery before gzip, but the output is\n  _bigger_ after gzip (and seems to happen for other libraries I tried it\n  on) therefore it's not enabled by default.\n\n- `toplevel` — mangle names declared in the toplevel scope (disabled by\n  default).\n\n- `eval` — mangle names visible in scopes where `eval` or `with` are used\n  (disabled by default).\n\nWhen mangling is enabled but you want to prevent certain names from being\nmangled, you can declare those names with `--reserved` (`-r`) — pass a\ncomma-separated list of names.  For example:\n\n    uglifyjs ... -m -r '$,require,exports'\n\nto prevent the `require`, `exports` and `$` names from being changed.\n\n## Compressor options\n\nYou need to pass `--compress` (`-c`) to enable the compressor.  Optionally\nyou can pass a comma-separated list of options.  Options are in the form\n`foo=bar`, or just `foo` (the latter implies a boolean option that you want\nto set `true`; it's effectively a shortcut for `foo=true`).\n\n- `sequences` -- join consecutive simple statements using the comma operator\n\n- `properties` -- rewrite property access using the dot notation, for\n  example `foo[\"bar\"] → foo.bar`\n\n- `dead_code` -- remove unreachable code\n\n- `drop_debugger` -- remove `debugger;` statements\n\n- `unsafe` (default: false) -- apply \"unsafe\" transformations (discussion below)\n\n- `conditionals` -- apply optimizations for `if`-s and conditional\n  expressions\n\n- `comparisons` -- apply certain optimizations to binary nodes, for example:\n  `!(a <= b) → a > b` (only when `unsafe`), attempts to negate binary nodes,\n  e.g. `a = !b && !c && !d && !e → a=!(b||c||d||e)` etc.\n\n- `evaluate` -- attempt to evaluate constant expressions\n\n- `booleans` -- various optimizations for boolean context, for example `!!a\n  ? b : c → a ? b : c`\n\n- `loops` -- optimizations for `do`, `while` and `for` loops when we can\n  statically determine the condition\n\n- `unused` -- drop unreferenced functions and variables\n\n- `hoist_funs` -- hoist function declarations\n\n- `hoist_vars` (default: false) -- hoist `var` declarations (this is `false`\n  by default because it seems to increase the size of the output in general)\n\n- `if_return` -- optimizations for if/return and if/continue\n\n- `join_vars` -- join consecutive `var` statements\n\n- `cascade` -- small optimization for sequences, transform `x, x` into `x`\n  and `x = something(), x` into `x = something()`\n\n- `warnings` -- display warnings when dropping unreachable code or unused\n  declarations etc.\n\n- `negate_iife` -- negate \"Immediately-Called Function Expressions\"\n  where the return value is discarded, to avoid the parens that the\n  code generator would insert.\n\n- `pure_getters` -- the default is `false`.  If you pass `true` for\n  this, UglifyJS will assume that object property access\n  (e.g. `foo.bar` or `foo[\"bar\"]`) doesn't have any side effects.\n\n- `pure_funcs` -- default `null`.  You can pass an array of names and\n  UglifyJS will assume that those functions do not produce side\n  effects.  DANGER: will not check if the name is redefined in scope.\n  An example case here, for instance `var q = Math.floor(a/b)`.  If\n  variable `q` is not used elsewhere, UglifyJS will drop it, but will\n  still keep the `Math.floor(a/b)`, not knowing what it does.  You can\n  pass `pure_funcs: [ 'Math.floor' ]` to let it know that this\n  function won't produce any side effect, in which case the whole\n  statement would get discarded.  The current implementation adds some\n  overhead (compression will be slower).\n\n- `drop_console` -- default `false`.  Pass `true` to discard calls to\n  `console.*` functions.\n\n### The `unsafe` option\n\nIt enables some transformations that *might* break code logic in certain\ncontrived cases, but should be fine for most code.  You might want to try it\non your own code, it should reduce the minified size.  Here's what happens\nwhen this flag is on:\n\n- `new Array(1, 2, 3)` or `Array(1, 2, 3)` → `[1, 2, 3 ]`\n- `new Object()` → `{}`\n- `String(exp)` or `exp.toString()` → `\"\" + exp`\n- `new Object/RegExp/Function/Error/Array (...)` → we discard the `new`\n- `typeof foo == \"undefined\"` → `foo === void 0`\n- `void 0` → `undefined` (if there is a variable named \"undefined\" in\n  scope; we do it because the variable name will be mangled, typically\n  reduced to a single character).\n\n### Conditional compilation\n\nYou can use the `--define` (`-d`) switch in order to declare global\nvariables that UglifyJS will assume to be constants (unless defined in\nscope).  For example if you pass `--define DEBUG=false` then, coupled with\ndead code removal UglifyJS will discard the following from the output:\n```javascript\nif (DEBUG) {\n\tconsole.log(\"debug stuff\");\n}\n```\n\nUglifyJS will warn about the condition being always false and about dropping\nunreachable code; for now there is no option to turn off only this specific\nwarning, you can pass `warnings=false` to turn off *all* warnings.\n\nAnother way of doing that is to declare your globals as constants in a\nseparate file and include it into the build.  For example you can have a\n`build/defines.js` file with the following:\n```javascript\nconst DEBUG = false;\nconst PRODUCTION = true;\n// etc.\n```\n\nand build your code like this:\n\n    uglifyjs build/defines.js js/foo.js js/bar.js... -c\n\nUglifyJS will notice the constants and, since they cannot be altered, it\nwill evaluate references to them to the value itself and drop unreachable\ncode as usual.  The possible downside of this approach is that the build\nwill contain the `const` declarations.\n\n<a name=\"codegen-options\"></a>\n## Beautifier options\n\nThe code generator tries to output shortest code possible by default.  In\ncase you want beautified output, pass `--beautify` (`-b`).  Optionally you\ncan pass additional arguments that control the code output:\n\n- `beautify` (default `true`) -- whether to actually beautify the output.\n  Passing `-b` will set this to true, but you might need to pass `-b` even\n  when you want to generate minified code, in order to specify additional\n  arguments, so you can use `-b beautify=false` to override it.\n- `indent-level` (default 4)\n- `indent-start` (default 0) -- prefix all lines by that many spaces\n- `quote-keys` (default `false`) -- pass `true` to quote all keys in literal\n  objects\n- `space-colon` (default `true`) -- insert a space after the colon signs\n- `ascii-only` (default `false`) -- escape Unicode characters in strings and\n  regexps\n- `inline-script` (default `false`) -- escape the slash in occurrences of\n  `</script` in strings\n- `width` (default 80) -- only takes effect when beautification is on, this\n  specifies an (orientative) line width that the beautifier will try to\n  obey.  It refers to the width of the line text (excluding indentation).\n  It doesn't work very well currently, but it does make the code generated\n  by UglifyJS more readable.\n- `max-line-len` (default 32000) -- maximum line length (for uglified code)\n- `bracketize` (default `false`) -- always insert brackets in `if`, `for`,\n  `do`, `while` or `with` statements, even if their body is a single\n  statement.\n- `semicolons` (default `true`) -- separate statements with semicolons.  If\n  you pass `false` then whenever possible we will use a newline instead of a\n  semicolon, leading to more readable output of uglified code (size before\n  gzip could be smaller; size after gzip insignificantly larger).\n- `preamble` (default `null`) -- when passed it must be a string and\n  it will be prepended to the output literally.  The source map will\n  adjust for this text.  Can be used to insert a comment containing\n  licensing information, for example.\n\n### Keeping copyright notices or other comments\n\nYou can pass `--comments` to retain certain comments in the output.  By\ndefault it will keep JSDoc-style comments that contain \"@preserve\",\n\"@license\" or \"@cc_on\" (conditional compilation for IE).  You can pass\n`--comments all` to keep all the comments, or a valid JavaScript regexp to\nkeep only comments that match this regexp.  For example `--comments\n'/foo|bar/'` will keep only comments that contain \"foo\" or \"bar\".\n\nNote, however, that there might be situations where comments are lost.  For\nexample:\n```javascript\nfunction f() {\n\t/** @preserve Foo Bar */\n\tfunction g() {\n\t  // this function is never called\n\t}\n\treturn something();\n}\n```\n\nEven though it has \"@preserve\", the comment will be lost because the inner\nfunction `g` (which is the AST node to which the comment is attached to) is\ndiscarded by the compressor as not referenced.\n\nThe safest comments where to place copyright information (or other info that\nneeds to be kept in the output) are comments attached to toplevel nodes.\n\n## Support for the SpiderMonkey AST\n\nUglifyJS2 has its own abstract syntax tree format; for\n[practical reasons](http://lisperator.net/blog/uglifyjs-why-not-switching-to-spidermonkey-ast/)\nwe can't easily change to using the SpiderMonkey AST internally.  However,\nUglifyJS now has a converter which can import a SpiderMonkey AST.\n\nFor example [Acorn][acorn] is a super-fast parser that produces a\nSpiderMonkey AST.  It has a small CLI utility that parses one file and dumps\nthe AST in JSON on the standard output.  To use UglifyJS to mangle and\ncompress that:\n\n    acorn file.js | uglifyjs --spidermonkey -m -c\n\nThe `--spidermonkey` option tells UglifyJS that all input files are not\nJavaScript, but JS code described in SpiderMonkey AST in JSON.  Therefore we\ndon't use our own parser in this case, but just transform that AST into our\ninternal AST.\n\n### Use Acorn for parsing\n\nMore for fun, I added the `--acorn` option which will use Acorn to do all\nthe parsing.  If you pass this option, UglifyJS will `require(\"acorn\")`.\n\nAcorn is really fast (e.g. 250ms instead of 380ms on some 650K code), but\nconverting the SpiderMonkey tree that Acorn produces takes another 150ms so\nin total it's a bit more than just using UglifyJS's own parser.\n\nAPI Reference\n-------------\n\nAssuming installation via NPM, you can load UglifyJS in your application\nlike this:\n```javascript\nvar UglifyJS = require(\"uglify-js\");\n```\n\nIt exports a lot of names, but I'll discuss here the basics that are needed\nfor parsing, mangling and compressing a piece of code.  The sequence is (1)\nparse, (2) compress, (3) mangle, (4) generate output code.\n\n### The simple way\n\nThere's a single toplevel function which combines all the steps.  If you\ndon't need additional customization, you might want to go with `minify`.\nExample:\n```javascript\nvar result = UglifyJS.minify(\"/path/to/file.js\");\nconsole.log(result.code); // minified output\n// if you need to pass code instead of file name\nvar result = UglifyJS.minify(\"var b = function () {};\", {fromString: true});\n```\n\nYou can also compress multiple files:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ]);\nconsole.log(result.code);\n```\n\nTo generate a source map:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ], {\n\toutSourceMap: \"out.js.map\"\n});\nconsole.log(result.code); // minified output\nconsole.log(result.map);\n```\n\nNote that the source map is not saved in a file, it's just returned in\n`result.map`.  The value passed for `outSourceMap` is only used to set the\n`file` attribute in the source map (see [the spec][sm-spec]).\n\nYou can also specify sourceRoot property to be included in source map:\n```javascript\nvar result = UglifyJS.minify([ \"file1.js\", \"file2.js\", \"file3.js\" ], {\n\toutSourceMap: \"out.js.map\",\n\tsourceRoot: \"http://example.com/src\"\n});\n```\n\nIf you're compressing compiled JavaScript and have a source map for it, you\ncan use the `inSourceMap` argument:\n```javascript\nvar result = UglifyJS.minify(\"compiled.js\", {\n\tinSourceMap: \"compiled.js.map\",\n\toutSourceMap: \"minified.js.map\"\n});\n// same as before, it returns `code` and `map`\n```\n\nThe `inSourceMap` is only used if you also request `outSourceMap` (it makes\nno sense otherwise).\n\nOther options:\n\n- `warnings` (default `false`) — pass `true` to display compressor warnings.\n\n- `fromString` (default `false`) — if you pass `true` then you can pass\n  JavaScript source code, rather than file names.\n\n- `mangle` — pass `false` to skip mangling names.\n\n- `output` (default `null`) — pass an object if you wish to specify\n  additional [output options][codegen].  The defaults are optimized\n  for best compression.\n\n- `compress` (default `{}`) — pass `false` to skip compressing entirely.\n  Pass an object to specify custom [compressor options][compressor].\n\nWe could add more options to `UglifyJS.minify` — if you need additional\nfunctionality please suggest!\n\n### The hard way\n\nFollowing there's more detailed API info, in case the `minify` function is\ntoo simple for your needs.\n\n#### The parser\n```javascript\nvar toplevel_ast = UglifyJS.parse(code, options);\n```\n\n`options` is optional and if present it must be an object.  The following\nproperties are available:\n\n- `strict` — disable automatic semicolon insertion and support for trailing\n  comma in arrays and objects\n- `filename` — the name of the file where this code is coming from\n- `toplevel` — a `toplevel` node (as returned by a previous invocation of\n  `parse`)\n\nThe last two options are useful when you'd like to minify multiple files and\nget a single file as the output and a proper source map.  Our CLI tool does\nsomething like this:\n```javascript\nvar toplevel = null;\nfiles.forEach(function(file){\n\tvar code = fs.readFileSync(file, \"utf8\");\n\ttoplevel = UglifyJS.parse(code, {\n\t\tfilename: file,\n\t\ttoplevel: toplevel\n\t});\n});\n```\n\nAfter this, we have in `toplevel` a big AST containing all our files, with\neach token having proper information about where it came from.\n\n#### Scope information\n\nUglifyJS contains a scope analyzer that you need to call manually before\ncompressing or mangling.  Basically it augments various nodes in the AST\nwith information about where is a name defined, how many times is a name\nreferenced, if it is a global or not, if a function is using `eval` or the\n`with` statement etc.  I will discuss this some place else, for now what's\nimportant to know is that you need to call the following before doing\nanything with the tree:\n```javascript\ntoplevel.figure_out_scope()\n```\n\n#### Compression\n\nLike this:\n```javascript\nvar compressor = UglifyJS.Compressor(options);\nvar compressed_ast = toplevel.transform(compressor);\n```\n\nThe `options` can be missing.  Available options are discussed above in\n“Compressor options”.  Defaults should lead to best compression in most\nscripts.\n\nThe compressor is destructive, so don't rely that `toplevel` remains the\noriginal tree.\n\n#### Mangling\n\nAfter compression it is a good idea to call again `figure_out_scope` (since\nthe compressor might drop unused variables / unreachable code and this might\nchange the number of identifiers or their position).  Optionally, you can\ncall a trick that helps after Gzip (counting character frequency in\nnon-mangleable words).  Example:\n```javascript\ncompressed_ast.figure_out_scope();\ncompressed_ast.compute_char_frequency();\ncompressed_ast.mangle_names();\n```\n\n#### Generating output\n\nAST nodes have a `print` method that takes an output stream.  Essentially,\nto generate code you do this:\n```javascript\nvar stream = UglifyJS.OutputStream(options);\ncompressed_ast.print(stream);\nvar code = stream.toString(); // this is your minified code\n```\n\nor, for a shortcut you can do:\n```javascript\nvar code = compressed_ast.print_to_string(options);\n```\n\nAs usual, `options` is optional.  The output stream accepts a lot of otions,\nmost of them documented above in section “Beautifier options”.  The two\nwhich we care about here are `source_map` and `comments`.\n\n#### Keeping comments in the output\n\nIn order to keep certain comments in the output you need to pass the\n`comments` option.  Pass a RegExp or a function.  If you pass a RegExp, only\nthose comments whose body matches the regexp will be kept.  Note that body\nmeans without the initial `//` or `/*`.  If you pass a function, it will be\ncalled for every comment in the tree and will receive two arguments: the\nnode that the comment is attached to, and the comment token itself.\n\nThe comment token has these properties:\n\n- `type`: \"comment1\" for single-line comments or \"comment2\" for multi-line\n  comments\n- `value`: the comment body\n- `pos` and `endpos`: the start/end positions (zero-based indexes) in the\n  original code where this comment appears\n- `line` and `col`: the line and column where this comment appears in the\n  original code\n- `file` — the file name of the original file\n- `nlb` — true if there was a newline before this comment in the original\n  code, or if this comment contains a newline.\n\nYour function should return `true` to keep the comment, or a falsy value\notherwise.\n\n#### Generating a source mapping\n\nYou need to pass the `source_map` argument when calling `print`.  It needs\nto be a `SourceMap` object (which is a thin wrapper on top of the\n[source-map][source-map] library).\n\nExample:\n```javascript\nvar source_map = UglifyJS.SourceMap(source_map_options);\nvar stream = UglifyJS.OutputStream({\n\t...\n\tsource_map: source_map\n});\ncompressed_ast.print(stream);\n\nvar code = stream.toString();\nvar map = source_map.toString(); // json output for your source map\n```\n\nThe `source_map_options` (optional) can contain the following properties:\n\n- `file`: the name of the JavaScript output file that this mapping refers to\n- `root`: the `sourceRoot` property (see the [spec][sm-spec])\n- `orig`: the \"original source map\", handy when you compress generated JS\n  and want to map the minified output back to the original code where it\n  came from.  It can be simply a string in JSON, or a JSON object containing\n  the original source map.\n\n  [acorn]: https://github.com/marijnh/acorn\n  [source-map]: https://github.com/mozilla/source-map\n  [sm-spec]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\n  [codegen]: http://lisperator.net/uglifyjs/codegen\n  [compressor]: http://lisperator.net/uglifyjs/compress\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mishoo/UglifyJS2/issues"},"_id":"uglify-js@2.4.15","_shasum":"12bc6d84345fbc306e13f7075d6437a8bf64d7e3","_from":"uglify-js@~2.4.12","_resolved":"https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.15.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/arrays.js","id":"uglify-js/test/compress/arrays.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/blocks.js","id":"uglify-js/test/compress/blocks.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/concat-strings.js","id":"uglify-js/test/compress/concat-strings.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/conditionals.js","id":"uglify-js/test/compress/conditionals.js","options":{},"isModule":true,"mtime":1391765559000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/dead-code.js","id":"uglify-js/test/compress/dead-code.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/debugger.js","id":"uglify-js/test/compress/debugger.js","options":{},"isModule":true,"mtime":1346158005000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/drop-unused.js","id":"uglify-js/test/compress/drop-unused.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-105.js","id":"uglify-js/test/compress/issue-105.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-12.js","id":"uglify-js/test/compress/issue-12.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-126.js","id":"uglify-js/test/compress/issue-126.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-143.js","id":"uglify-js/test/compress/issue-143.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-22.js","id":"uglify-js/test/compress/issue-22.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-267.js","id":"uglify-js/test/compress/issue-267.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-269.js","id":"uglify-js/test/compress/issue-269.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-44.js","id":"uglify-js/test/compress/issue-44.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/issue-59.js","id":"uglify-js/test/compress/issue-59.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/labels.js","id":"uglify-js/test/compress/labels.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/loops.js","id":"uglify-js/test/compress/loops.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/negate-iife.js","id":"uglify-js/test/compress/negate-iife.js","options":{},"isModule":true,"mtime":1388305349000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/properties.js","id":"uglify-js/test/compress/properties.js","options":{},"isModule":true,"mtime":1404202043000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/sequences.js","id":"uglify-js/test/compress/sequences.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/switch.js","id":"uglify-js/test/compress/switch.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/compress/typeof.js","id":"uglify-js/test/compress/typeof.js","options":{},"isModule":true,"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/test/run-tests.js","id":"uglify-js/test/run-tests.js","options":{},"isModule":true,"requiredModules":["uglify-js/tools/node.js","path","fs","assert","util/util.js"],"mtime":1386699794000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/node_modules/uglify-js/tools/node.js","id":"uglify-js/tools/node.js","options":{},"isModule":true,"requiredModules":["path","fs","vm","util/util.js","source-map/lib/source-map.js"],"mtime":1397807270000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/package.json","data":{"name":"with","version":"3.0.1","description":"Compile time `with` for strict mode JavaScript","main":"index.js","scripts":{"test":"mocha -R spec"},"repository":{"type":"git","url":"https://github.com/ForbesLindesay/with.git"},"author":{"name":"ForbesLindesay"},"license":"MIT","dependencies":{"uglify-js":"~2.4.12"},"devDependencies":{"mocha":"~1.12.0"},"readme":"# with\r\n\r\nCompile time `with` for strict mode JavaScript\r\n\r\n[![build status](https://secure.travis-ci.org/ForbesLindesay/with.png)](http://travis-ci.org/ForbesLindesay/with)\r\n[![Dependency Status](https://img.shields.io/gemnasium/ForbesLindesay/with.svg)](https://gemnasium.com/ForbesLindesay/with)\r\n[![NPM version](https://img.shields.io/npm/v/with.svg)](http://badge.fury.io/js/with)\r\n\r\n## Installation\r\n\r\n    $ npm install with\r\n\r\n## Usage\r\n\r\n```js\r\nvar addWith = require('with')\r\n\r\naddWith('obj', 'console.log(a)')\r\n// => ';(function (console, a) {\r\n//       console.log(a)\r\n//     }(\"console\" in obj ? obj.console :\r\n//                          typeof console!==\"undefined\" ? console : undefined,\r\n//       \"a\" in obj ? obj.a :\r\n//                    typeof a !== \"undefined\" ? a : undefined));'\r\n\r\naddWith('obj', 'console.log(a)', ['console'])\r\n// => ';(function (console, a) {\r\n//       console.log(a)\r\n//     }(\"a\" in obj ? obj.a :\r\n//                    typeof a !== \"undefined\" ? a : undefined));'\r\n```\r\n\r\n## API\r\n\r\n### addWith(obj, src[, exclude])\r\n\r\nThe idea is that this is roughly equivallent to:\r\n\r\n```js\r\nwith (obj) {\r\n  src\r\n}\r\n```\r\n\r\nThere are a few differences though.  For starters, assignments to variables will always remain contained within the with block.\r\n\r\ne.g.\r\n\r\n```js\r\nvar foo = 'foo'\r\nwith ({}) {\r\n  foo = 'bar'\r\n}\r\nassert(foo === 'bar')// => This fails for compile time with but passes for native with\r\n\r\nvar obj = {foo: 'foo'}\r\nwith ({}) {\r\n  foo = 'bar'\r\n}\r\nassert(obj.foo === 'bar')// => This fails for compile time with but passes for native with\r\n```\r\n\r\nIt also makes everything be declared, so you can always do:\r\n\r\n```js\r\nif (foo === undefined)\r\n```\r\n\r\ninstead of\r\n\r\n```js\r\nif (typeof foo === 'undefined')\r\n```\r\n\r\nThis is not the case if foo is in `exclude`.  If a variable is excluded, we ignore it entirely.  This is useful if you know a variable will be global as it can lead to efficiency improvements.\r\n\r\nIt is also safe to use in strict mode (unlike `with`) and it minifies properly (`with` disables virtually all minification).\r\n\r\n## License\r\n\r\n  MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/ForbesLindesay/with/issues"},"homepage":"https://github.com/ForbesLindesay/with","_id":"with@3.0.1","_shasum":"08354da410243cf6173fb142bb04e6c66f96f854","_from":"with@~3.0.0","_resolved":"https://registry.npmjs.org/with/-/with-3.0.1.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/node_modules/with/vars.js","id":"with/vars.js","options":{},"isModule":true,"mtime":1380618300000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/jade/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/jade/package.json","data":{"name":"jade","description":"Jade template engine","version":"1.7.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"bloodyowl"},{"name":"jbnicolai","email":"joshua@jbna.nl"}],"license":"MIT","repository":{"type":"git","url":"git://github.com/visionmedia/jade"},"main":"./index.js","bin":{"jade":"./bin/jade.js"},"dependencies":{"character-parser":"1.2.0","commander":"2.1.0","constantinople":"~2.0.0","mkdirp":"~0.5.0","monocle":"1.1.51","transformers":"2.1.0","void-elements":"~1.0.0","with":"~3.0.0"},"devDependencies":{"coffee-script":"*","mocha":"*","istanbul":"*","markdown":"*","stylus":"*","should":"*","less":"*","uglify-js":"*","browserify":"*","linify":"*","less-file":"0.0.8","express":"~3.4.8","browserify-middleware":"~2.4.0","twbs":"0.0.6","highlight-codemirror":"~3.20.0","inconsolata":"0.0.2","jade-code-mirror":"~1.0.5","code-mirror":"~3.22.0","handle":"~1.0.0","jade-highlighter":"~1.0.5","marked":"~0.3.2","stop":"^3.0.0-rc1","opener":"^1.3.0","github-basic":"^3.0.0","pull-request":"^3.0.0","lsr":"^1.0.0","rimraf":"^2.2.8"},"component":{"scripts":{"jade":"runtime.js"}},"scripts":{"test":"mocha -R spec && npm run coverage","coverage":"istanbul cover node_modules/mocha/bin/_mocha","prepublish":"npm prune && linify transform bin && npm run build","build":"npm run compile","compile":"npm run compile-full && npm run compile-runtime","compile-full":"browserify ./lib/jade.js --standalone jade -x ./node_modules/transformers > jade.js","compile-runtime":"browserify ./lib/runtime.js --standalone jade > runtime.js"},"browser":{"./lib/filters.js":"./lib/filters-client.js"},"readme":"# [![Jade - template engine ](http://i.imgur.com/5zf2aVt.png)](http://jade-lang.com/)\r\n\r\nFull documentation is at [jade-lang.com](http://jade-lang.com/)\r\n\r\n Jade is a high performance template engine heavily influenced by [Haml](http://haml-lang.com)\r\n and implemented with JavaScript for [node](http://nodejs.org). For discussion join the [Google Group](http://groups.google.com/group/jadejs).\r\n\r\n You can test drive Jade online [here](http://naltatis.github.com/jade-syntax-docs).\r\n\r\n [![Build Status](https://img.shields.io/travis/visionmedia/jade/master.svg)](https://travis-ci.org/visionmedia/jade)\r\n [![Dependency Status](https://img.shields.io/gemnasium/visionmedia/jade.svg)](https://gemnasium.com/visionmedia/jade)\r\n [![NPM version](https://img.shields.io/npm/v/jade.svg)](http://badge.fury.io/js/jade)\r\n\r\n## Installation\r\n\r\nvia npm:\r\n\r\n```bash\r\n$ npm install jade\r\n```\r\n\r\n## Syntax\r\n\r\nJade is a clean, whitespace sensitive syntax for writing html.  Here is a simple example:\r\n\r\n```jade\r\ndoctype html\r\nhtml(lang=\"en\")\r\n  head\r\n    title= pageTitle\r\n    script(type='text/javascript').\r\n      if (foo) bar(1 + 5)\r\n  body\r\n    h1 Jade - node template engine\r\n    #container.col\r\n      if youAreUsingJade\r\n        p You are amazing\r\n      else\r\n        p Get on it!\r\n      p.\r\n        Jade is a terse and simple templating language with a\r\n        strong focus on performance and powerful features.\r\n```\r\n\r\nbecomes\r\n\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n  <head>\r\n    <title>Jade</title>\r\n    <script type=\"text/javascript\">\r\n      if (foo) bar(1 + 5)\r\n    </script>\r\n  </head>\r\n  <body>\r\n    <h1>Jade - node template engine</h1>\r\n    <div id=\"container\" class=\"col\">\r\n      <p>You are amazing</p>\r\n      <p>Jade is a terse and simple templating language with a strong focus on performance and powerful features.</p>\r\n    </div>\r\n  </body>\r\n</html>\r\n```\r\n\r\nThe official [jade tutorial](http://jade-lang.com/tutorial/) is a great place to start.  While that (and the syntax documentation) is being finished, you can view some of the old documentation [here](https://github.com/visionmedia/jade/blob/master/jade.md) and [here](https://github.com/visionmedia/jade/blob/master/jade-language.md)\r\n\r\n## API\r\n\r\nFor full API, see [jade-lang.com/api](http://jade-lang.com/api/)\r\n\r\n```js\r\nvar jade = require('jade');\r\n\r\n// compile\r\nvar fn = jade.compile('string of jade', options);\r\nvar html = fn(locals);\r\n\r\n// render\r\nvar html = jade.render('string of jade', merge(options, locals));\r\n\r\n// renderFile\r\nvar html = jade.renderFile('filename.jade', merge(options, locals));\r\n```\r\n\r\n### Options\r\n\r\n - `filename`  Used in exceptions, and required when using includes\r\n - `compileDebug`  When `false` no debug instrumentation is compiled\r\n - `pretty`    Add pretty-indentation whitespace to output _(false by default)_\r\n\r\n## Browser Support\r\n\r\n The latest version of jade can be download for the browser in standalone form from [here](https://github.com/visionmedia/jade/raw/master/jade.js).  It only supports the very latest browsers though, and is a large file.  It is recommended that you pre-compile your jade templates to JavaScript and then just use the [runtime.js](https://github.com/visionmedia/jade/raw/master/runtime.js) library on the client.\r\n\r\n To compile a template for use on the client using the command line, do:\r\n\r\n```console\r\n$ jade --client --no-debug filename.jade\r\n```\r\n\r\nwhich will produce `filename.js` containing the compiled template.\r\n\r\n## Command Line\r\n\r\nAfter installing the latest version of [node](http://nodejs.org/), install with:\r\n\r\n```console\r\n$ npm install jade -g\r\n```\r\n\r\nand run with\r\n\r\n```console\r\n$ jade --help\r\n```\r\n\r\n## Additional Resources\r\n\r\nTutorials:\r\n\r\n  - cssdeck interactive [Jade syntax tutorial](http://cssdeck.com/labs/learning-the-jade-templating-engine-syntax)\r\n  - cssdeck interactive [Jade logic tutorial](http://cssdeck.com/labs/jade-templating-tutorial-codecast-part-2)\r\n  - [Jade について。](https://gist.github.com/japboy/5402844) (A Japanese Tutorial)\r\n  - [Jade - 模板引擎](https://github.com/visionmedia/jade/blob/master/Readme_zh-cn.md)\r\n\r\nImplementations in other languages:\r\n\r\n  - [php](http://github.com/everzet/jade.php)\r\n  - [scala](http://scalate.fusesource.org/versions/snapshot/documentation/scaml-reference.html)\r\n  - [ruby](https://github.com/slim-template/slim)\r\n  - [python](https://github.com/SyrusAkbary/pyjade)\r\n  - [java](https://github.com/neuland/jade4j)\r\n\r\nOther:\r\n\r\n  - [Emacs Mode](https://github.com/brianc/jade-mode)\r\n  - [Vim Syntax](https://github.com/digitaltoad/vim-jade)\r\n  - [TextMate Bundle](http://github.com/miksago/jade-tmbundle)\r\n  - [Coda/SubEtha syntax Mode](https://github.com/aaronmccall/jade.mode)\r\n  - [Screencasts](http://tjholowaychuk.com/post/1004255394/jade-screencast-template-engine-for-nodejs)\r\n  - [html2jade](https://github.com/donpark/html2jade) converter\r\n  - [Jade Server](https://github.com/ded/jade-server)  Ideal for building local prototypes apart from any application\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/visionmedia/jade/issues"},"homepage":"https://github.com/visionmedia/jade","_id":"jade@1.7.0","_shasum":"fa0251e9536cd363034ea88f61e99c7e98991524","_from":"jade@^1.5.0","_resolved":"https://registry.npmjs.org/jade/-/jade-1.7.0.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/release.js","id":"jade/release.js","options":{},"isModule":true,"requiredModules":["fs","querystring","crypto","express/index.js","opener","github-basic","pull-request","lsr","/Users/james/dev/maxwell-edi/node_modules/jade/package.json","./docs/stop.js"],"mtime":1405425356000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/jade/runtime.js","id":"jade/runtime.js","options":{},"isModule":true,"mtime":1410950028000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/examples/collections.js","id":"keen.io/examples/collections.js","options":{},"isModule":true,"requiredModules":["keen.io/index.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/examples/custom.js","id":"keen.io/examples/custom.js","options":{},"isModule":true,"requiredModules":["keen.io/index.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/examples/events.js","id":"keen.io/examples/events.js","options":{},"isModule":true,"requiredModules":["keen.io/index.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/examples/projects.js","id":"keen.io/examples/projects.js","options":{},"isModule":true,"requiredModules":["keen.io/index.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/examples/properties.js","id":"keen.io/examples/properties.js","options":{},"isModule":true,"requiredModules":["keen.io/index.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/examples/queries.js","id":"keen.io/examples/queries.js","options":{},"isModule":true,"requiredModules":["keen.io/index.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/index.js","id":"keen.io/index.js","options":{},"isModule":true,"requiredModules":["underscore/underscore.js","crypto","keen.io/lib/requests.js","keen.io/lib/query.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/lib/query.js","id":"keen.io/lib/query.js","options":{},"isModule":true,"requiredModules":["underscore/underscore.js","keen.io/lib/requests.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/lib/requests.js","id":"keen.io/lib/requests.js","options":{},"isModule":true,"requiredModules":["superagent/lib/node/index.js","crypto"],"mtime":1416004643000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/node_modules/underscore/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/keen.io/node_modules/underscore/package.json","data":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/jashkenas/underscore.git"},"main":"underscore.js","version":"1.5.2","devDependencies":{"phantomjs":"1.9.0-1"},"scripts":{"test":"phantomjs test/vendor/runner.js test/index.html?noglobals=true"},"licenses":[{"type":"MIT","url":"https://raw.github.com/jashkenas/underscore/master/LICENSE"}],"files":["underscore.js","underscore-min.js","LICENSE"],"readme":"                       __\n                      /\\ \\                                                         __\n     __  __    ___    \\_\\ \\     __   _ __   ____    ___    ___   _ __    __       /\\_\\    ____\n    /\\ \\/\\ \\ /' _ `\\  /'_  \\  /'__`\\/\\  __\\/ ,__\\  / ___\\ / __`\\/\\  __\\/'__`\\     \\/\\ \\  /',__\\\n    \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\  __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\  __/  __  \\ \\ \\/\\__, `\\\n     \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n      \\/___/  \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/  \\/____/\\/___/  \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n                                                                                  \\ \\____/\n                                                                                   \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nUnderscore is an open-sourced component of DocumentCloud:\nhttps://github.com/documentcloud\n\nMany thanks to our contributors:\nhttps://github.com/jashkenas/underscore/contributors\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jashkenas/underscore/issues"},"_id":"underscore@1.5.2","_shasum":"1335c5e4f5e6d33bbb4b006ba8c86a00f556de08","_from":"underscore@>=1.5.2 <1.6.0","_resolved":"https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/node_modules/underscore/underscore-min.js","id":"underscore/underscore-min.js","options":{},"isModule":true,"mtime":1378558789000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/node_modules/underscore/underscore.js","id":"underscore/underscore.js","options":{},"isModule":true,"mtime":1378558789000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/keen.io/package.json","data":{"name":"keen.io","version":"0.1.3","description":"Keen IO NodeJS module. Keen IO is a hosted API to collect, analyze, and visualize your data.","homepage":"https://github.com/keenlabs/KeenClient-Node","bugs":{"url":"https://github.com/keenlabs/KeenClient-Node/issues"},"author":{"name":"Ben Pearson","email":"ben@inlight.com.au"},"contributors":[{"name":"Ben Pearson","email":"ben@inlight.com.au","url":"http://inlight.com.au"},{"name":"Daniel Kador","email":"dan@keen.io","url":"http://keen.io"},{"name":"Dustin Larimer","email":"dustin@keen.io","url":"https://github.com/dustinlarimer"},{"name":"Jay Shirley","email":"jay@keen.io","url":"https://github.com/jshirley"},{"name":"Bogdan Cirlig","url":"https://github.com/bibanul"},{"name":"Jah Raphael","email":"jahraphael@yahoo.com","url":"https://github.com/jahraphael"}],"main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git://github.com/keenlabs/KeenClient-Node.git"},"engines":{"node":">= 0.8.0"},"keywords":["keen","analytics","api"],"licenses":[{"type":"MIT","url":"https://github.com/keenlabs/KeenClient-Node/blob/master/LICENSE-MIT"}],"dependencies":{"superagent":"~0.21.0","underscore":"~1.5.2"},"devDependencies":{"mocha":"~1.16.1","should":"~2.1.1","nock":"~0.27.0"},"gitHead":"47c4301840f7ac1eb26880a2c5f3440cc106bf88","_id":"keen.io@0.1.3","_shasum":"5056f5c989ab14ccf62fc20ed7598115ae7d09e3","_from":"keen.io@0.1.3","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"jshirley","email":"npm@shirley.im"},"maintainers":[{"name":"benjaminpearson","email":"ben@developinginthedark.com"},{"name":"dkador","email":"dan@keen.io"},{"name":"dustinlarimer","email":"dustin@keen.io"},{"name":"jshirley","email":"npm@shirley.im"}],"dist":{"shasum":"5056f5c989ab14ccf62fc20ed7598115ae7d09e3","tarball":"http://registry.npmjs.org/keen.io/-/keen.io-0.1.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/keen.io/-/keen.io-0.1.3.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/keen.io/test/test.js","id":"keen.io/test/test.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js","underscore/underscore.js","keen.io/index.js","nock/index.js"],"mtime":1416004643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/examples/cdata.js","id":"libxmljs/examples/cdata.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/index.js","id":"libxmljs/index.js","options":{},"isModule":true,"requiredModules":["libxmljs/lib/bindings.js","libxmljs/lib/document.js","/Users/james/dev/maxwell-edi/node_modules/libxmljs/package.json","libxmljs/lib/element.js","libxmljs/lib/comment.js","libxmljs/lib/sax_parser.js"],"mtime":1401747347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/lib/bindings.js","id":"libxmljs/lib/bindings.js","options":{},"isModule":true,"requiredModules":["bindings/bindings.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/lib/comment.js","id":"libxmljs/lib/comment.js","options":{},"isModule":true,"requiredModules":["libxmljs/lib/bindings.js","libxmljs/lib/document.js"],"mtime":1401747347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/lib/document.js","id":"libxmljs/lib/document.js","options":{},"isModule":true,"requiredModules":["libxmljs/lib/bindings.js","libxmljs/lib/element.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/lib/element.js","id":"libxmljs/lib/element.js","options":{},"isModule":true,"requiredModules":["libxmljs/lib/bindings.js","libxmljs/lib/document.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/lib/sax_parser.js","id":"libxmljs/lib/sax_parser.js","options":{},"isModule":true,"requiredModules":["events","util/util.js","libxmljs/lib/bindings.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/node_modules/bindings/bindings.js","id":"bindings/bindings.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1373518682000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/node_modules/bindings/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/node_modules/bindings/package.json","data":{"name":"bindings","description":"Helper module for loading your native module's .node file","keywords":["native","addon","bindings","gyp","waf","c","c++"],"version":"1.1.1","author":{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://tootallnate.net"},"repository":{"type":"git","url":"git://github.com/TooTallNate/node-bindings.git"},"main":"./bindings.js","readme":"node-bindings\n=============\n### Helper module for loading your native module's .node file\n\nThis is a helper module for authors of Node.js native addon modules.\nIt is basically the \"swiss army knife\" of `require()`ing your native module's\n`.node` file.\n\nThroughout the course of Node's native addon history, addons have ended up being\ncompiled in a variety of different places, depending on which build tool and which\nversion of node was used. To make matters worse, now the _gyp_ build tool can\nproduce either a _Release_ or _Debug_ build, each being built into different\nlocations.\n\nThis module checks _all_ the possible locations that a native addon would be built\nat, and returns the first one that loads successfully.\n\n\nInstallation\n------------\n\nInstall with `npm`:\n\n``` bash\n$ npm install bindings\n```\n\nOr add it to the `\"dependencies\"` section of your _package.json_ file.\n\n\nExample\n-------\n\n`require()`ing the proper bindings file for the current node version, platform\nand architecture is as simple as:\n\n``` js\nvar bindings = require('bindings')('binding.node')\n\n// Use your bindings defined in your C files\nbindings.your_c_function()\n```\n\n\nNice Error Output\n-----------------\n\nWhen the `.node` file could not be loaded, `node-bindings` throws an Error with\na nice error message telling you exactly what was tried. You can also check the\n`err.tries` Array property.\n\n```\nError: Could not load the bindings file. Tried:\n → /Users/nrajlich/ref/build/binding.node\n → /Users/nrajlich/ref/build/Debug/binding.node\n → /Users/nrajlich/ref/build/Release/binding.node\n → /Users/nrajlich/ref/out/Debug/binding.node\n → /Users/nrajlich/ref/Debug/binding.node\n → /Users/nrajlich/ref/out/Release/binding.node\n → /Users/nrajlich/ref/Release/binding.node\n → /Users/nrajlich/ref/build/default/binding.node\n → /Users/nrajlich/ref/compiled/0.8.2/darwin/x64/binding.node\n    at bindings (/Users/nrajlich/ref/node_modules/bindings/bindings.js:84:13)\n    at Object.<anonymous> (/Users/nrajlich/ref/lib/ref.js:5:47)\n    at Module._compile (module.js:449:26)\n    at Object.Module._extensions..js (module.js:467:10)\n    at Module.load (module.js:356:32)\n    at Function.Module._load (module.js:312:12)\n    ...\n```\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/TooTallNate/node-bindings/issues"},"homepage":"https://github.com/TooTallNate/node-bindings","_id":"bindings@1.1.1","_from":"bindings@1.1.1"},"mtime":1415897197000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/node_modules/nan/include_dirs.js","id":"nan/include_dirs.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1384137192000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/node_modules/nan/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/node_modules/nan/package.json","data":{"name":"nan","version":"1.1.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"}],"license":"MIT","readme":"Native Abstractions for Node.js\n===============================\n\n**A header file filled with macro and utility goodness for making add-on development for Node.js easier across versions 0.8, 0.10 and 0.11, and eventually 0.12.**\n\n***Current version: 1.1.2*** *(See [nan.h](https://github.com/rvagg/nan/blob/master/nan.h) for complete ChangeLog)*\n\n[![NPM](https://nodei.co/npm/nan.png?downloads=true)](https://nodei.co/npm/nan/) [![NPM](https://nodei.co/npm-dl/nan.png?months=6)](https://nodei.co/npm/nan/)\n\nThanks to the crazy changes in V8 (and some in Node core), keeping native addons compiling happily across versions, particularly 0.10 to 0.11/0.12, is a minor nightmare. The goal of this project is to store all logic necessary to develop native Node.js addons without having to inspect `NODE_MODULE_VERSION` and get yourself into a macro-tangle.\n\nThis project also contains some helper utilities that make addon development a bit more pleasant.\n\n * **[News & Updates](#news)**\n * **[Usage](#usage)**\n * **[Example](#example)**\n * **[API](#api)**\n\n<a name=\"news\"></a>\n## News & Updates\n\n### May-2014: 1.1.0 release\n\n* We've deprecated `NanSymbol()`, you should just use `NanNew<String>()` now.\n* `NanNull()`, `NanUndefined()`, `NanTrue()`, `NanFalse()` all return `Local`s now.\n* `nan_isolate` is gone, it was intended to be internal-only but if you were using it then you should switch to `v8::Isolate::GetCurrent()`.\n* `NanNew()` has received some additional overload-love so you should be able to give it many kinds of values without specifying the `<Type>`.\n* Lots of small fixes and additions to expand the V8 API coverage, *use the source, Luke*.\n\n\n### May-2014: Major changes for V8 3.25 / Node 0.11.13\n\nNode 0.11.11 and 0.11.12 were both broken releases for native add-ons, you simply can't properly compile against either of them for different reasons. But we now have a 0.11.13 release that jumps a couple of versions of V8 ahead and includes some more, major (traumatic) API changes.\n\nBecause we are now nearing Node 0.12 and estimate that the version of V8 we are using in Node 0.11.13 will be close to the API we get for 0.12, we have taken the opportunity to not only *fix* NAN for 0.11.13 but make some major changes to improve the NAN API.\n\nWe have **removed support for Node 0.11 versions prior to 0.11.13**. As usual, our tests are run against (and pass) the last 5 versions of Node 0.8 and Node 0.10. We also include Node 0.11.13 obviously.\n\nThe major change is something that [Benjamin Byholm](kkoopa) has put many hours in to. We now have a fantastic new `NanNew<T>(args)` interface for creating new `Local`s, this replaces `NanNewLocal()` and much more. If you look in [./nan.h](nan.h) you'll see a large number of overloaded versions of this method. In general you should be able to `NanNew<Type>(arguments)` for any type you want to make a `Local` from. This includes `Persistent` types, so we now have a `Local<T> NanNew(const Persistent<T> arg)` to replace `NanPersistentToLocal()`.\n\nWe also now have `NanUndefined()`, `NanNull()`, `NanTrue()` and `NanFalse()`. Mainly because of the new requirement for an `Isolate` argument for each of the native V8 versions of this.\n\nV8 has now introduced an `EscapableHandleScope` from which you `scope.Escape(Local<T> value)` to *return* a value from a one scope to another. This replaces the standard `HandleScope` and `scope.Close(Local<T> value)`, although `HandleScope` still exists for when you don't need to return a handle to the caller. For NAN we are exposing it as `NanEscapableScope()` and `NanEscapeScope()`, while `NanScope()` is still how you create a new scope that doesn't need to return handles. For older versions of Node/V8, it'll still map to the older `HandleScope` functionality.\n\n`NanFromV8String()` was deprecated and has now been removed. You should use `NanCString()` or `NanRawString()` instead.\n\nBecause `node::MakeCallback()` now takes an `Isolate`, and because it doesn't exist in older versions of Node, we've introduced `NanMakeCallback()`. You should *always* use this when calling a JavaScript function from C++.\n\nThere's lots more, check out the Changelog in nan.h or look through [#86](https://github.com/rvagg/nan/pull/86) for all the gory details.\n\n### Dec-2013: NanCString and NanRawString\n\nTwo new functions have been introduced to replace the functionality that's been provided by `NanFromV8String` until now. NanCString has sensible defaults so it's super easy to fetch a null-terminated c-style string out of a `v8::String`. `NanFromV8String` is still around and has defaults that allow you to pass a single handle to fetch a `char*` while `NanRawString` requires a little more attention to arguments.\n\n### Nov-2013: Node 0.11.9+ breaking V8 change\n\nThe version of V8 that's shipping with Node 0.11.9+ has changed the signature for new `Local`s to: `v8::Local<T>::New(isolate, value)`, i.e. introducing the `isolate` argument and therefore breaking all new `Local` declarations for previous versions. NAN 0.6+ now includes a `NanNewLocal<T>(value)` that can be used in place to work around this incompatibility and maintain compatibility with 0.8->0.11.9+ (minus a few early 0.11 releases).\n\nFor example, if you wanted to return a `null` on a callback you will have to change the argument from `v8::Local<v8::Value>::New(v8::Null())` to `NanNewLocal<v8::Value>(v8::Null())`.\n\n### Nov-2013: Change to binding.gyp `\"include_dirs\"` for NAN\n\nInclusion of NAN in a project's binding.gyp is now greatly simplified. You can now just use `\"<!(node -e \\\"require('nan')\\\")\"` in your `\"include_dirs\"`, see example below (note Windows needs the quoting around `require` to be just right: `\"require('nan')\"` with appropriate `\\` escaping).\n\n<a name=\"usage\"></a>\n## Usage\n\nSimply add **NAN** as a dependency in the *package.json* of your Node addon:\n\n``` bash\n$ npm install --save nan\n```\n\nPull in the path to **NAN** in your *binding.gyp* so that you can use `#include <nan.h>` in your *.cpp* files:\n\n``` python\n\"include_dirs\" : [\n    \"<!(node -e \\\"require('nan')\\\")\"\n]\n```\n\nThis works like a `-I<path-to-NAN>` when compiling your addon.\n\n<a name=\"example\"></a>\n## Example\n\nSee **[LevelDOWN](https://github.com/rvagg/node-leveldown/pull/48)** for a full example of **NAN** in use.\n\nFor a simpler example, see the **[async pi estimation example](https://github.com/rvagg/nan/tree/master/examples/async_pi_estimate)** in the examples directory for full code and an explanation of what this Monte Carlo Pi estimation example does. Below are just some parts of the full example that illustrate the use of **NAN**.\n\nCompare to the current 0.10 version of this example, found in the [node-addon-examples](https://github.com/rvagg/node-addon-examples/tree/master/9_async_work) repository and also a 0.11 version of the same found [here](https://github.com/kkoopa/node-addon-examples/tree/5c01f58fc993377a567812597e54a83af69686d7/9_async_work).\n\nNote that there is no embedded version sniffing going on here and also the async work is made much simpler, see below for details on the `NanAsyncWorker` class.\n\n```c++\n// addon.cc\n#include <node.h>\n#include <nan.h>\n// ...\n\nusing v8::FunctionTemplate;\nusing v8::Handle;\nusing v8::Object;\nusing v8::String;\n\nvoid InitAll(Handle<Object> exports) {\n  exports->Set(NanNew<String>(\"calculateSync\"),\n    NanNew<FunctionTemplate>(CalculateSync)->GetFunction());\n\n  exports->Set(NanNew<String>(\"calculateAsync\"),\n    NanNew<FunctionTemplate>(CalculateAsync)->GetFunction());\n}\n\nNODE_MODULE(addon, InitAll)\n```\n\n```c++\n// sync.h\n#include <node.h>\n#include <nan.h>\n\nNAN_METHOD(CalculateSync);\n```\n\n```c++\n// sync.cc\n#include <node.h>\n#include <nan.h>\n#include \"./sync.h\"\n// ...\n\nusing v8::Number;\n\n// Simple synchronous access to the `Estimate()` function\nNAN_METHOD(CalculateSync) {\n  NanScope();\n\n  // expect a number as the first argument\n  int points = args[0]->Uint32Value();\n  double est = Estimate(points);\n\n  NanReturnValue(NanNew<Number>(est));\n}\n```\n\n```c++\n// async.cc\n#include <node.h>\n#include <nan.h>\n#include \"./async.h\"\n\n// ...\n\nusing v8::Function;\nusing v8::Local;\nusing v8::Null;\nusing v8::Number;\nusing v8::Value;\n\nclass PiWorker : public NanAsyncWorker {\n public:\n  PiWorker(NanCallback *callback, int points)\n    : NanAsyncWorker(callback), points(points) {}\n  ~PiWorker() {}\n\n  // Executed inside the worker-thread.\n  // It is not safe to access V8, or V8 data structures\n  // here, so everything we need for input and output\n  // should go on `this`.\n  void Execute () {\n    estimate = Estimate(points);\n  }\n\n  // Executed when the async work is complete\n  // this function will be run inside the main event loop\n  // so it is safe to use V8 again\n  void HandleOKCallback () {\n    NanScope();\n\n    Local<Value> argv[] = {\n        NanNull()\n      , NanNew<Number>(estimate)\n    };\n\n    callback->Call(2, argv);\n  };\n\n private:\n  int points;\n  double estimate;\n};\n\n// Asynchronous access to the `Estimate()` function\nNAN_METHOD(CalculateAsync) {\n  NanScope();\n\n  int points = args[0]->Uint32Value();\n  NanCallback *callback = new NanCallback(args[1].As<Function>());\n\n  NanAsyncQueueWorker(new PiWorker(callback, points));\n  NanReturnUndefined();\n}\n```\n\n<a name=\"api\"></a>\n## API\n\n * <a href=\"#api_nan_method\"><b><code>NAN_METHOD</code></b></a>\n * <a href=\"#api_nan_getter\"><b><code>NAN_GETTER</code></b></a>\n * <a href=\"#api_nan_setter\"><b><code>NAN_SETTER</code></b></a>\n * <a href=\"#api_nan_property_getter\"><b><code>NAN_PROPERTY_GETTER</code></b></a>\n * <a href=\"#api_nan_property_setter\"><b><code>NAN_PROPERTY_SETTER</code></b></a>\n * <a href=\"#api_nan_property_enumerator\"><b><code>NAN_PROPERTY_ENUMERATOR</code></b></a>\n * <a href=\"#api_nan_property_deleter\"><b><code>NAN_PROPERTY_DELETER</code></b></a>\n * <a href=\"#api_nan_property_query\"><b><code>NAN_PROPERTY_QUERY</code></b></a>\n * <a href=\"#api_nan_index_getter\"><b><code>NAN_INDEX_GETTER</code></b></a>\n * <a href=\"#api_nan_index_setter\"><b><code>NAN_INDEX_SETTER</code></b></a>\n * <a href=\"#api_nan_index_enumerator\"><b><code>NAN_INDEX_ENUMERATOR</code></b></a>\n * <a href=\"#api_nan_index_deleter\"><b><code>NAN_INDEX_DELETER</code></b></a>\n * <a href=\"#api_nan_index_query\"><b><code>NAN_INDEX_QUERY</code></b></a>\n * <a href=\"#api_nan_weak_callback\"><b><code>NAN_WEAK_CALLBACK</code></b></a>\n * <a href=\"#api_nan_deprecated\"><b><code>NAN_DEPRECATED</code></b></a>\n * <a href=\"#api_nan_inline\"><b><code>NAN_INLINE</code></b></a>\n * <a href=\"#api_nan_new\"><b><code>NanNew</code></b></a>\n * <a href=\"#api_nan_undefined\"><b><code>NanUndefined</code></b></a>\n * <a href=\"#api_nan_null\"><b><code>NanNull</code></b></a>\n * <a href=\"#api_nan_true\"><b><code>NanTrue</code></b></a>\n * <a href=\"#api_nan_false\"><b><code>NanFalse</code></b></a>\n * <a href=\"#api_nan_return_value\"><b><code>NanReturnValue</code></b></a>\n * <a href=\"#api_nan_return_undefined\"><b><code>NanReturnUndefined</code></b></a>\n * <a href=\"#api_nan_return_null\"><b><code>NanReturnNull</code></b></a>\n * <a href=\"#api_nan_return_empty_string\"><b><code>NanReturnEmptyString</code></b></a>\n * <a href=\"#api_nan_scope\"><b><code>NanScope</code></b></a>\n * <a href=\"#api_nan_escapable_scope\"><b><code>NanEscapableScope</code></b></a>\n * <a href=\"#api_nan_escape_scope\"><b><code>NanEscapeScope</code></b></a>\n * <a href=\"#api_nan_locker\"><b><code>NanLocker</code></b></a>\n * <a href=\"#api_nan_unlocker\"><b><code>NanUnlocker</code></b></a>\n * <a href=\"#api_nan_get_internal_field_pointer\"><b><code>NanGetInternalFieldPointer</code></b></a>\n * <a href=\"#api_nan_set_internal_field_pointer\"><b><code>NanSetInternalFieldPointer</code></b></a>\n * <a href=\"#api_nan_object_wrap_handle\"><b><code>NanObjectWrapHandle</code></b></a>\n * <del><a href=\"#api_nan_symbol\"><b><code>NanSymbol</code></b></a></del>\n * <a href=\"#api_nan_get_pointer_safe\"><b><code>NanGetPointerSafe</code></b></a>\n * <a href=\"#api_nan_set_pointer_safe\"><b><code>NanSetPointerSafe</code></b></a>\n * <a href=\"#api_nan_raw_string\"><b><code>NanRawString</code></b></a>\n * <a href=\"#api_nan_c_string\"><b><code>NanCString</code></b></a>\n * <a href=\"#api_nan_boolean_option_value\"><b><code>NanBooleanOptionValue</code></b></a>\n * <a href=\"#api_nan_uint32_option_value\"><b><code>NanUInt32OptionValue</code></b></a>\n * <a href=\"#api_nan_error\"><b><code>NanError</code></b>, <b><code>NanTypeError</code></b>, <b><code>NanRangeError</code></b></a>\n * <a href=\"#api_nan_throw_error\"><b><code>NanThrowError</code></b>, <b><code>NanThrowTypeError</code></b>, <b><code>NanThrowRangeError</code></b>, <b><code>NanThrowError(Handle<Value>)</code></b>, <b><code>NanThrowError(Handle<Value>, int)</code></b></a>\n * <a href=\"#api_nan_new_buffer_handle\"><b><code>NanNewBufferHandle(char *, size_t, FreeCallback, void *)</code></b>, <b><code>NanNewBufferHandle(char *, uint32_t)</code></b>, <b><code>NanNewBufferHandle(uint32_t)</code></b></a>\n * <a href=\"#api_nan_buffer_use\"><b><code>NanBufferUse(char *, uint32_t)</code></b></a>\n * <a href=\"#api_nan_new_context_handle\"><b><code>NanNewContextHandle</code></b></a>\n * <a href=\"#api_nan_get_current_context\"><b><code>NanGetCurrentContext</code></b></a>\n * <a href=\"#api_nan_has_instance\"><b><code>NanHasInstance</code></b></a>\n * <a href=\"#api_nan_dispose_persistent\"><b><code>NanDisposePersistent</code></b></a>\n * <a href=\"#api_nan_assign_persistent\"><b><code>NanAssignPersistent</code></b></a>\n * <a href=\"#api_nan_make_weak_persistent\"><b><code>NanMakeWeakPersistent</code></b></a>\n * <a href=\"#api_nan_set_template\"><b><code>NanSetTemplate</code></b></a>\n * <a href=\"#api_nan_make_callback\"><b><code>NanMakeCallback</code></b></a>\n * <a href=\"#api_nan_compile_script\"><b><code>NanCompileScript</code></b></a>\n * <a href=\"#api_nan_run_script\"><b><code>NanRunScript</code></b></a>\n * <a href=\"#api_nan_adjust_external_memory\"><b><code>NanAdjustExternalMemory</code></b></a>\n * <a href=\"#api_nan_add_gc_epilogue_callback\"><b><code>NanAddGCEpilogueCallback</code></b></a>\n * <a href=\"#api_nan_add_gc_prologue_callback\"><b><code>NanAddGCPrologueCallback</code></b></a>\n * <a href=\"#api_nan_remove_gc_epilogue_callback\"><b><code>NanRemoveGCEpilogueCallback</code></b></a>\n * <a href=\"#api_nan_remove_gc_prologue_callback\"><b><code>NanRemoveGCPrologueCallback</code></b></a>\n * <a href=\"#api_nan_get_heap_statistics\"><b><code>NanGetHeapStatistics</code></b></a>\n * <a href=\"#api_nan_callback\"><b><code>NanCallback</code></b></a>\n * <a href=\"#api_nan_async_worker\"><b><code>NanAsyncWorker</code></b></a>\n * <a href=\"#api_nan_async_queue_worker\"><b><code>NanAsyncQueueWorker</code></b></a>\n\n<a name=\"api_nan_method\"></a>\n### NAN_METHOD(methodname)\n\nUse `NAN_METHOD` to define your V8 accessible methods:\n\n```c++\n// .h:\nclass Foo : public node::ObjectWrap {\n  ...\n\n  static NAN_METHOD(Bar);\n  static NAN_METHOD(Baz);\n}\n\n\n// .cc:\nNAN_METHOD(Foo::Bar) {\n  ...\n}\n\nNAN_METHOD(Foo::Baz) {\n  ...\n}\n```\n\nThe reason for this macro is because of the method signature change in 0.11:\n\n```c++\n// 0.10 and below:\nHandle<Value> name(const Arguments& args)\n\n// 0.11 and above\nvoid name(const FunctionCallbackInfo<Value>& args)\n```\n\nThe introduction of `FunctionCallbackInfo` brings additional complications:\n\n<a name=\"api_nan_getter\"></a>\n### NAN_GETTER(methodname)\n\nUse `NAN_GETTER` to declare your V8 accessible getters. You get a `Local<String>` `property` and an appropriately typed `args` object that can act like the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_GETTER`.\n\n<a name=\"api_nan_setter\"></a>\n### NAN_SETTER(methodname)\n\nUse `NAN_SETTER` to declare your V8 accessible setters. Same as `NAN_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name=\"api_nan_property_getter\"></a>\n### NAN_PROPERTY_GETTER(cbname)\nUse `NAN_PROPERTY_GETTER` to declare your V8 accessible property getters. You get a `Local<String>` `property` and an appropriately typed `args` object that can act similar to the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_GETTER`.\n\n<a name=\"api_nan_property_setter\"></a>\n### NAN_PROPERTY_SETTER(cbname)\nUse `NAN_PROPERTY_SETTER` to declare your V8 accessible property setters. Same as `NAN_PROPERTY_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name=\"api_nan_property_enumerator\"></a>\n### NAN_PROPERTY_ENUMERATOR(cbname)\nUse `NAN_PROPERTY_ENUMERATOR` to declare your V8 accessible property enumerators. You get an appropriately typed `args` object like the `args` argument to a `NAN_PROPERTY_GETTER` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_ENUMERATOR`.\n\n<a name=\"api_nan_property_deleter\"></a>\n### NAN_PROPERTY_DELETER(cbname)\nUse `NAN_PROPERTY_DELETER` to declare your V8 accessible property deleters. Same as `NAN_PROPERTY_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_DELETER`.\n\n<a name=\"api_nan_property_query\"></a>\n### NAN_PROPERTY_QUERY(cbname)\nUse `NAN_PROPERTY_QUERY` to declare your V8 accessible property queries. Same as `NAN_PROPERTY_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_QUERY`.\n\n<a name=\"api_nan_index_getter\"></a>\n### NAN_INDEX_GETTER(cbname)\nUse `NAN_INDEX_GETTER` to declare your V8 accessible index getters. You get a `uint32_t` `index` and an appropriately typed `args` object that can act similar to the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_GETTER`.\n\n<a name=\"api_nan_index_setter\"></a>\n### NAN_INDEX_SETTER(cbname)\nUse `NAN_INDEX_SETTER` to declare your V8 accessible index setters. Same as `NAN_INDEX_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name=\"api_nan_index_enumerator\"></a>\n### NAN_INDEX_ENUMERATOR(cbname)\nUse `NAN_INDEX_ENUMERATOR` to declare your V8 accessible index enumerators. You get an appropriately typed `args` object like the `args` argument to a `NAN_INDEX_GETTER` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_ENUMERATOR`.\n\n<a name=\"api_nan_index_deleter\"></a>\n### NAN_INDEX_DELETER(cbname)\nUse `NAN_INDEX_DELETER` to declare your V8 accessible index deleters. Same as `NAN_INDEX_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_DELETER`.\n\n<a name=\"api_nan_index_query\"></a>\n### NAN_INDEX_QUERY(cbname)\nUse `NAN_INDEX_QUERY` to declare your V8 accessible index queries. Same as `NAN_INDEX_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_QUERY`.\n\n<a name=\"api_nan_weak_callback\"></a>\n### NAN_WEAK_CALLBACK(cbname)\n\nUse `NAN_WEAK_CALLBACK` to define your V8 WeakReference callbacks. Do not use for declaration. There is an argument object `const _NanWeakCallbackData<T, P> &data` allowing access to the weak object and the supplied parameter through its `GetValue` and `GetParameter` methods. You can even access the weak callback info object through the `GetCallbackInfo()`method, but you probably should not. `Revive()` keeps the weak object alive until the next GC round.\n\n```c++\nNAN_WEAK_CALLBACK(weakCallback) {\n  int *parameter = data.GetParameter();\n  NanMakeCallback(NanGetCurrentContext()->Global(), data.GetValue(), 0, NULL);\n  if ((*parameter)++ == 0) {\n    data.Revive();\n  } else {\n    delete parameter;\n  }\n}\n```\n\n<a name=\"api_nan_deprecated\"></a>\n### NAN_DEPRECATED\nDeclares a function as deprecated.\n\n```c++\nstatic NAN_DEPRECATED NAN_METHOD(foo) {\n  ...\n}\n```\n\n<a name=\"api_nan_inline\"></a>\n### NAN_INLINE\nInlines a function.\n\n```c++\nNAN_INLINE int foo(int bar) {\n  ...\n}\n```\n\n<a name=\"api_nan_new\"></a>\n### Local&lt;T&gt; NanNew&lt;T&gt;( ... )\n\nUse `NanNew` to construct almost all v8 objects and make new local handles.\n\n```c++\nLocal<String> s = NanNew<String>(\"value\");\n\n...\n\nPersistent<Object> o;\n\n...\n\nLocal<Object> lo = NanNew(o);\n\n```\n\n<a name=\"api_nan_undefined\"></a>\n### Local&lt;Primitive&gt; NanUndefined()\n\nUse instead of `Undefined()`\n\n<a name=\"api_nan_null\"></a>\n### Local&lt;Primitive&gt; NanNull()\n\nUse instead of `Null()`\n\n<a name=\"api_nan_true\"></a>\n### Local&lt;Boolean&gt; NanTrue()\n\nUse instead of `True()`\n\n<a name=\"api_nan_false\"></a>\n### Local&lt;Boolean&gt; NanFalse()\n\nUse instead of `False()`\n\n<a name=\"api_nan_return_value\"></a>\n### NanReturnValue(Handle&lt;Value&gt;)\n\nUse `NanReturnValue` when you want to return a value from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  ...\n\n  NanReturnValue(NanNew<String>(\"FooBar!\"));\n}\n```\n\nNo `return` statement required.\n\n<a name=\"api_nan_return_undefined\"></a>\n### NanReturnUndefined()\n\nUse `NanReturnUndefined` when you don't want to return anything from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnUndefined();\n}\n```\n\n<a name=\"api_nan_return_null\"></a>\n### NanReturnNull()\n\nUse `NanReturnNull` when you want to return `Null` from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnNull();\n}\n```\n\n<a name=\"api_nan_return_empty_string\"></a>\n### NanReturnEmptyString()\n\nUse `NanReturnEmptyString` when you want to return an empty `String` from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnEmptyString();\n}\n```\n\n<a name=\"api_nan_scope\"></a>\n### NanScope()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanScope()` necessary, use it in place of `HandleScope scope` when you do not wish to return handles (`Handle` or `Local`) to the surrounding scope (or in functions directly exposed to V8, as they do not return values in the normal sense):\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanScope();\n\n  NanReturnValue(NanNew<String>(\"FooBar!\"));\n}\n```\n\nThis method is not directly exposed to V8, nor does it return a handle, so it uses an unescapable scope:\n\n```c++\nbool Foo::Bar() {\n  NanScope();\n  \n  Local<Boolean> val = NanFalse();\n  ...\n  return val->Value();\n}\n```\n\n<a name=\"api_nan_escapable_scope\"></a>\n### NanEscapableScope()\n\nThe separation of handle scopes into escapable and inescapable scopes makes `NanEscapableScope()` necessary, use it in place of `HandleScope scope` when you later wish to return a handle (`Handle` or `Local`) from the scope, this is for internal functions not directly exposed to V8:\n\n```c++\nHandle<String> Foo::Bar() {\n  NanEscapableScope();\n\n  return NanEscapeScope(NanNew<String>(\"FooBar!\"));\n}\n```\n\n<a name=\"api_nan_esacpe_scope\"></a>\n### Local&lt;T&gt; NanEscapeScope(Handle&lt;T&gt; value);\nUse together with `NanEscapableScope` to escape the scope. Corresponds to `HandleScope::Close` or `EscapableHandleScope::Escape`.\n\n<a name=\"api_nan_locker\"></a>\n### NanLocker()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanLocker()` necessary, use it in place of `Locker locker`:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanLocker();\n  ...\n  NanUnlocker();\n}\n```\n\n<a name=\"api_nan_unlocker\"></a>\n### NanUnlocker()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanUnlocker()` necessary, use it in place of `Unlocker unlocker`:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanLocker();\n  ...\n  NanUnlocker();\n}\n```\n\n<a name=\"api_nan_get_internal_field_pointer\"></a>\n### void * NanGetInternalFieldPointer(Handle&lt;Object&gt;, int)\n\nGets a pointer to the internal field with at `index` from a V8 `Object` handle.\n\n```c++\nLocal<Object> obj;\n...\nNanGetInternalFieldPointer(obj, 0);\n```\n<a name=\"api_nan_set_internal_field_pointer\"></a>\n### void NanSetInternalFieldPointer(Handle&lt;Object&gt;, int, void *)\n\nSets the value of the internal field at `index` on a V8 `Object` handle.\n\n```c++\nstatic Persistent<Function> dataWrapperCtor;\n...\nLocal<Object> wrapper = NanNew(dataWrapperCtor)->NewInstance();\nNanSetInternalFieldPointer(wrapper, 0, this);\n```\n\n<a name=\"api_nan_object_wrap_handle\"></a>\n### Local&lt;Object&gt; NanObjectWrapHandle(Object)\n\nWhen you want to fetch the V8 object handle from a native object you've wrapped with Node's `ObjectWrap`, you should use `NanObjectWrapHandle`:\n\n```c++\nNanObjectWrapHandle(iterator)->Get(NanNew<String>(\"end\"))\n```\n\n<a name=\"api_nan_symbol\"></a>\n### <del>Local&lt;String&gt; NanSymbol(const char *)</del>\n\nDeprecated. Use `NanNew<String>` instead.\n<del>Use to create string symbol objects (i.e. `v8::String::NewSymbol(x)`), for getting and setting object properties, or names of objects.</del>\n\n```c++\nbool foo = false;\nif (obj->Has(NanNew<String>(\"foo\")))\n  foo = optionsObj->Get(NanNew<String>(\"foo\"))->BooleanValue()\n```\n\n<a name=\"api_nan_get_pointer_safe\"></a>\n### Type NanGetPointerSafe(Type *[, Type])\n\nA helper for getting values from optional pointers. If the pointer is `NULL`, the function returns the optional default value, which defaults to `0`.  Otherwise, the function returns the value the pointer points to.\n\n```c++\nchar *plugh(uint32_t *optional) {\n  char res[] = \"xyzzy\";\n  uint32_t param = NanGetPointerSafe<uint32_t>(optional, 0x1337);\n  switch (param) {\n    ...\n  }\n  NanSetPointerSafe<uint32_t>(optional, 0xDEADBEEF);\n}  \n```\n\n<a name=\"api_nan_set_pointer_safe\"></a>\n### bool NanSetPointerSafe(Type *, Type)\n\nA helper for setting optional argument pointers. If the pointer is `NULL`, the function simply returns `false`.  Otherwise, the value is assigned to the variable the pointer points to.\n\n```c++\nconst char *plugh(size_t *outputsize) {\n  char res[] = \"xyzzy\";\n  if !(NanSetPointerSafe<size_t>(outputsize, strlen(res) + 1)) {\n    ...\n  }\n\n  ...\n}\n```\n\n<a name=\"api_nan_raw_string\"></a>\n### void* NanRawString(Handle&lt;Value&gt;, enum Nan::Encoding, size_t *, void *, size_t, int)\n\nWhen you want to convert a V8 `String` to a `char*` buffer, use `NanRawString`. You have to supply an encoding as well as a pointer to a variable that will be assigned the number of bytes in the returned string. It is also possible to supply a buffer and its length to the function in order not to have a new buffer allocated. The final argument allows setting `String::WriteOptions`.\nJust remember that you'll end up with an object that you'll need to `delete[]` at some point unless you supply your own buffer:\n\n```c++\nsize_t count;\nvoid* decoded = NanRawString(args[1], Nan::BASE64, &count, NULL, 0, String::HINT_MANY_WRITES_EXPECTED);\nchar param_copy[count];\nmemcpy(param_copy, decoded, count);\ndelete[] decoded;\n```\n\n<a name=\"api_nan_c_string\"></a>\n### char* NanCString(Handle&lt;Value&gt;, size_t *[, char *, size_t, int])\n\nWhen you want to convert a V8 `String` to a null-terminated C `char*` use `NanCString`. The resulting `char*` will be UTF-8-encoded, and you need to supply a pointer to a variable that will be assigned the number of bytes in the returned string. It is also possible to supply a buffer and its length to the function in order not to have a new buffer allocated. The final argument allows optionally setting `String::WriteOptions`, which default to `v8::String::NO_OPTIONS`.\nJust remember that you'll end up with an object that you'll need to `delete[]` at some point unless you supply your own buffer:\n\n```c++\nsize_t count;\nchar* name = NanCString(args[0], &count);\n```\n\n<a name=\"api_nan_boolean_option_value\"></a>\n### bool NanBooleanOptionValue(Handle&lt;Value&gt;, Handle&lt;String&gt;[, bool])\n\nWhen you have an \"options\" object that you need to fetch properties from, boolean options can be fetched with this pair. They check first if the object exists (`IsEmpty`), then if the object has the given property (`Has`) then they get and convert/coerce the property to a `bool`.\n\nThe optional last parameter is the *default* value, which is `false` if left off:\n\n```c++\n// `foo` is false unless the user supplies a truthy value for it\nbool foo = NanBooleanOptionValue(optionsObj, NanNew<String>(\"foo\"));\n// `bar` is true unless the user supplies a falsy value for it\nbool bar = NanBooleanOptionValueDefTrue(optionsObj, NanNew<String>(\"bar\"), true);\n```\n\n<a name=\"api_nan_uint32_option_value\"></a>\n### uint32_t NanUInt32OptionValue(Handle&lt;Value&gt;, Handle&lt;String&gt;, uint32_t)\n\nSimilar to `NanBooleanOptionValue`, use `NanUInt32OptionValue` to fetch an integer option from your options object. Can be any kind of JavaScript `Number` and it will be coerced to an unsigned 32-bit integer.\n\nRequires all 3 arguments as a default is not optional:\n\n```c++\nuint32_t count = NanUInt32OptionValue(optionsObj, NanNew<String>(\"count\"), 1024);\n```\n\n<a name=\"api_nan_error\"></a>\n### NanError(message), NanTypeError(message), NanRangeError(message)\n\nFor making `Error`, `TypeError` and `RangeError` objects.\n\n```c++\nLocal<Value> res = NanError(\"you must supply a callback argument\");\n```\n\n<a name=\"api_nan_throw_error\"></a>\n### NanThrowError(message), NanThrowTypeError(message), NanThrowRangeError(message), NanThrowError(Local&lt;Value&gt;), NanThrowError(Local&lt;Value&gt;, int)\n\nFor throwing `Error`, `TypeError` and `RangeError` objects.\n\n```c++\nNanThrowError(\"you must supply a callback argument\");\n```\n\nCan also handle any custom object you may want to throw. If used with the error code argument, it will add the supplied error code to the error object as a property called `code`.\n\n<a name=\"api_nan_new_buffer_handle\"></a>\n### Local&lt;Object&gt; NanNewBufferHandle(char *, uint32_t), Local&lt;Object&gt; NanNewBufferHandle(uint32_t)\n\nThe `Buffer` API has changed a little in Node 0.11, this helper provides consistent access to `Buffer` creation:\n\n```c++\nNanNewBufferHandle((char*)value.data(), value.size());\n```\n\nCan also be used to initialize a `Buffer` with just a `size` argument.\n\nCan also be supplied with a `NanFreeCallback` and a hint for the garbage collector.\n\n<a name=\"api_nan_buffer_use\"></a>\n### Local&lt;Object&gt; NanBufferUse(char*, uint32_t)\n\n`Buffer::New(char*, uint32_t)` prior to 0.11 would make a copy of the data.\nWhile it was possible to get around this, it required a shim by passing a\ncallback. So the new API `Buffer::Use(char*, uint32_t)` was introduced to remove\nneeding to use this shim.\n\n`NanBufferUse` uses the `char*` passed as the backing data, and will free the\nmemory automatically when the weak callback is called. Keep this in mind, as\ncareless use can lead to \"double free or corruption\" and other cryptic failures.\n\n<a name=\"api_nan_has_instance\"></a>\n### bool NanHasInstance(Persistent&lt;FunctionTemplate&gt;&, Handle&lt;Value&gt;)\n\nCan be used to check the type of an object to determine it is of a particular class you have already defined and have a `Persistent<FunctionTemplate>` handle for.\n\n<a href=\"#api_nan_new_context_handle\">\n### Local&lt;Context&gt; NanNewContextHandle([ExtensionConfiguration*, Handle&lt;ObjectTemplate&gt;, Handle&lt;Value&gt;])\nCreates a new `Local<Context>` handle.\n\n```c++\nLocal<FunctionTemplate> ftmpl = NanNew<FunctionTemplate>();\nLocal<ObjectTemplate> otmpl = ftmpl->InstanceTemplate();\nLocal<Context> ctx =  NanNewContextHandle(NULL, otmpl);\n```\n\n<a href=\"#api_nan_get_current_context\">\n### Local&lt;Context&gt; NanGetCurrentContext()\n\nGets the current context.\n\n```c++\nLocal<Context> ctx = NanGetCurrentContext();\n```\n\n<a name=\"api_nan_dispose_persistent\"></a>\n### void NanDisposePersistent(Persistent&lt;T&gt; &)\n\nUse `NanDisposePersistent` to dispose a `Persistent` handle.\n\n```c++\nNanDisposePersistent(persistentHandle);\n```\n\n<a name=\"api_nan_assign_persistent\"></a>\n### NanAssignPersistent(handle, object)\n\nUse `NanAssignPersistent` to assign a non-`Persistent` handle to a `Persistent` one. You can no longer just declare a `Persistent` handle and assign directly to it later, you have to `Reset` it in Node 0.11, so this makes it easier.\n\nIn general it is now better to place anything you want to protect from V8's garbage collector as properties of a generic `Object` and then assign that to a `Persistent`. This works in older versions of Node also if you use `NanAssignPersistent`:\n\n```c++\nPersistent<Object> persistentHandle;\n\n...\n\nLocal<Object> obj = NanNew<Object>();\nobj->Set(NanNew<String>(\"key\"), keyHandle); // where keyHandle might be a Local<String>\nNanAssignPersistent(persistentHandle, obj)\n```\n\n<a name=\"api_nan_make_weak_persistent\"></a>\n### _NanWeakCallbackInfo&lt;T, P&gt;* NanMakeWeakPersistent(Handle&lt;T&gt;, P*, _NanWeakCallbackInfo&lt;T, P&gt;::Callback)\n\nCreates a weak persistent handle with the supplied parameter and `NAN_WEAK_CALLBACK`. The callback has to be fully specialized to work on all versions of Node.\n\n```c++\nNAN_WEAK_CALLBACK(weakCallback) {\n\n...\n\n}\n\nLocal<Function> func;\n\n...\n\nint *parameter = new int(0);\nNanMakeWeakPersistent(func, parameter, &weakCallback<Function, int>);\n```\n\n<a name=\"api_nan_set_template\"></a>\n### NanSetTemplate(templ, name, value)\n\nUse to add properties on object and function templates.\n\n<a name=\"api_nan_make_callback\"></a>\n### NanMakeCallback(target, func, argc, argv)\n\nUse instead of `node::MakeCallback` to call javascript functions. This is the only proper way of calling functions.\n\n<a name=\"api_nan_compile_script\"></a>\n### NanCompileScript(Handle<String> s [, const ScriptOrigin&amp; origin])\n\nUse to create new scripts bound to the current context.\n\n<a name=\"api_nan_run_script\"></a>\n### NanRunScript(script)\n\nUse to run both bound and unbound scripts.\n\n<a name=\"api_nan_adjust_external_memory\"></a>\n### NanAdjustExternalMemory(int change_in_bytes)\n\nSimply does `AdjustAmountOfExternalAllocatedMemory`\n\n<a name=\"api_nan_add_gc_epilogue_callback\"></a>\n### NanAddGCEpilogueCallback(GCEpilogueCallback callback, GCType gc_type_filter=kGCTypeAll)\n\nSimply does `AddGCEpilogueCallback`\n\n<a name=\"api_nan_add_gc_prologue_callback\"></a>\n### NanAddGCPrologueCallback(GCPrologueCallback callback, GCType gc_type_filter=kGCTypeAll)\n\nSimply does `AddGCPrologueCallback`\n\n<a name=\"api_nan_remove_gc_epilogue_callback\"></a>\n### NanRemoveGCEpilogueCallback(GCEpilogueCallback callback)\n\nSimply does `RemoveGCEpilogueCallback`\n\n<a name=\"api_nan_add_gc_prologue_callback\"></a>\n### NanRemoveGCPrologueCallback(GCPrologueCallback callback)\n\nSimply does `RemoveGCPrologueCallback`\n\n<a name=\"api_nan_get_heap_statistics\"></a>\n### NanGetHeapStatistics(HeapStatistics *heap_statistics)\n\nSimply does `GetHeapStatistics`\n\n<a name=\"api_nan_callback\"></a>\n### NanCallback\n\nBecause of the difficulties imposed by the changes to `Persistent` handles in V8 in Node 0.11, creating `Persistent` versions of your `Handle<Function>` is annoyingly tricky. `NanCallback` makes it easier by taking your handle, making it persistent until the `NanCallback` is deleted and even providing a handy `Call()` method to fetch and execute the callback `Function`.\n\n```c++\nLocal<Function> callbackHandle = args[0].As<Function>();\nNanCallback *callback = new NanCallback(callbackHandle);\n// pass `callback` around and it's safe from GC until you:\ndelete callback;\n```\n\nYou can execute the callback like so:\n\n```c++\n// no arguments:\ncallback->Call(0, NULL);\n\n// an error argument:\nHandle<Value> argv[] = {\n  NanError(NanNew<String>(\"fail!\"))\n};\ncallback->Call(1, argv);\n\n// a success argument:\nHandle<Value> argv[] = {\n  NanNull(),\n  NanNew<String>(\"w00t!\")\n};\ncallback->Call(2, argv);\n```\n\n`NanCallback` also has a `Local<Function> GetCallback()` method that you can use\nto fetch a local handle to the underlying callback function, as well  as a\n`void SetFunction(Handle<Function>)` for setting the callback on the\n`NanCallback`. You can check if a `NanCallback` is empty with the `bool IsEmpty()` method. Additionally a generic constructor is available for using\n`NanCallback` without performing heap allocations.\n\n<a name=\"api_nan_async_worker\"></a>\n### NanAsyncWorker\n\n`NanAsyncWorker` is an abstract class that you can subclass to have much of the annoying async queuing and handling taken care of for you. It can even store arbitrary V8 objects for you and have them persist while the async work is in progress.\n\nSee a rough outline of the implementation:\n\n```c++\nclass NanAsyncWorker {\npublic:\n  NanAsyncWorker (NanCallback *callback);\n\n  // Clean up persistent handles and delete the *callback\n  virtual ~NanAsyncWorker ();\n\n  // Check the `ErrorMessage()` and call HandleOKCallback()\n  // or HandleErrorCallback depending on whether it has been set or not\n  virtual void WorkComplete ();\n\n  // You must implement this to do some async work. If there is an\n  // error then use `SetErrorMessage()` to set an error message and the callback will\n  // be passed that string in an Error object\n  virtual void Execute ();\n\n  // Save a V8 object in a Persistent handle to protect it from GC\n  void SaveToPersistent(const char *key, Local<Object> &obj);\n\n  // Fetch a stored V8 object (don't call from within `Execute()`)\n  Local<Object> GetFromPersistent(const char *key);\n  \n  // Get the error message (or NULL)\n  const char *ErrorMessage();\n  \n  // Set an error message\n  void SetErrorMessage(const char *msg);\n  \nprotected:\n  // Default implementation calls the callback function with no arguments.\n  // Override this to return meaningful data\n  virtual void HandleOKCallback ();\n\n  // Default implementation calls the callback function with an Error object\n  // wrapping the `errmsg` string\n  virtual void HandleErrorCallback ();\n};\n```\n\n<a name=\"api_nan_async_queue_worker\"></a>\n### NanAsyncQueueWorker(NanAsyncWorker *)\n\n`NanAsyncQueueWorker` will run a `NanAsyncWorker` asynchronously via libuv. Both the *execute* and *after_work* steps are taken care of for you&mdash;most of the logic for this is embedded in `NanAsyncWorker`.\n\n### Contributors\n\nNAN is only possible due to the excellent work of the following contributors:\n\n<table><tbody>\n<tr><th align=\"left\">Rod Vagg</th><td><a href=\"https://github.com/rvagg\">GitHub/rvagg</a></td><td><a href=\"http://twitter.com/rvagg\">Twitter/@rvagg</a></td></tr>\n<tr><th align=\"left\">Benjamin Byholm</th><td><a href=\"https://github.com/kkoopa/\">GitHub/kkoopa</a></td><td>-</td></tr>\n<tr><th align=\"left\">Trevor Norris</th><td><a href=\"https://github.com/trevnorris\">GitHub/trevnorris</a></td><td><a href=\"http://twitter.com/trevnorris\">Twitter/@trevnorris</a></td></tr>\n<tr><th align=\"left\">Nathan Rajlich</th><td><a href=\"https://github.com/TooTallNate\">GitHub/TooTallNate</a></td><td><a href=\"http://twitter.com/TooTallNate\">Twitter/@TooTallNate</a></td></tr>\n<tr><th align=\"left\">Brett Lawson</th><td><a href=\"https://github.com/brett19\">GitHub/brett19</a></td><td><a href=\"http://twitter.com/brett19x\">Twitter/@brett19x</a></td></tr>\n<tr><th align=\"left\">Ben Noordhuis</th><td><a href=\"https://github.com/bnoordhuis\">GitHub/bnoordhuis</a></td><td><a href=\"http://twitter.com/bnoordhuis\">Twitter/@bnoordhuis</a></td></tr>\n</tbody></table>\n\nLicence &amp; copyright\n-----------------------\n\nCopyright (c) 2014 NAN contributors (listed above).\n\nNative Abstractions for Node.js is licensed under an MIT +no-false-attribs license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.1.2","_shasum":"bbd48552fc0758673ebe8fada360b60278a6636b","_from":"nan@1.1.2","_resolved":"https://registry.npmjs.org/nan/-/nan-1.1.2.tgz"},"mtime":1415897197000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/package.json","data":{"name":"libxmljs","author":{"name":"Marco Rogers - http://github.com/polotek"},"contributors":[{"name":"Jeff Smick"}],"description":"libxml bindings for v8 javascript engine","version":"0.10.0","scripts":{"test":"node --expose_gc ./node_modules/nodeunit/bin/nodeunit test","install":"node-gyp rebuild"},"repository":{"type":"git","url":"http://github.com/polotek/libxmljs.git"},"bugs":{"url":"http://github.com/polotek/libxmljs/issues"},"main":"./index","engines":{"node":">=0.4.7"},"dependencies":{"bindings":"1.1.1","nan":"1.1.2"},"devDependencies":{"nodeunit":"0.9.0"},"gypfile":true,"readme":"# Libxmljs\n[![Build Status](https://secure.travis-ci.org/polotek/libxmljs.png?branch=master)](http://travis-ci.org/polotek/libxmljs)\n\nLibXML bindings for [node.js](http://nodejs.org/)\n\n```javascript\nvar libxmljs = require(\"libxmljs\");\nvar xml =  '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' +\n           '<root>' +\n               '<child foo=\"bar\">' +\n                   '<grandchild baz=\"fizbuzz\">grandchild content</grandchild>' +\n               '</child>' +\n               '<sibling>with content!</sibling>' +\n           '</root>';\n\nvar xmlDoc = libxmljs.parseXml(xml);\n\n// xpath queries\nvar gchild = xmlDoc.get('//grandchild');\n\nconsole.log(gchild.text());  // prints \"grandchild content\"\n\nvar children = xmlDoc.root().childNodes();\nvar child = children[0];\n\nconsole.log(child.attr('foo').value()); // prints \"bar\"\n```\n\n## Support\n\n* Docs - [http://github.com/polotek/libxmljs/wiki](http://github.com/polotek/libxmljs/wiki)\n* Mailing list - [http://groups.google.com/group/libxmljs](http://groups.google.com/group/libxmljs)\n\n## API and Examples\n\nCheck out the wiki [http://github.com/polotek/libxmljs/wiki](http://github.com/polotek/libxmljs/wiki).\n\nSee the [examples](https://github.com/polotek/libxmljs/tree/master/examples) folder.\n\n## Installation via [npm](https://npmjs.org)\n\n```shell\nnpm install libxmljs\n```\n\n## Contribute\n\nStart by checking out the [open issues](https://github.com/polotek/libxmljs/issues?labels=&page=1&state=open). Specifically the [desired feature](https://github.com/polotek/libxmljs/issues?labels=desired+feature&page=1&state=open) ones.\n\n### Requirements\n\nMake sure you have met the requirements for [node-gyp](https://github.com/TooTallNate/node-gyp#installation). You DO NOT need to manually install node-gyp; it comes bundled with node.\n\n","readmeFilename":"README.md","homepage":"https://github.com/polotek/libxmljs","_id":"libxmljs@0.10.0","_shasum":"847eb4b0545b02d1c235e1f8371818cf709d3256","_from":"libxmljs@^0.10.0","_resolved":"https://registry.npmjs.org/libxmljs/-/libxmljs-0.10.0.tgz"},"mtime":1415897197000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/attribute.js","id":"libxmljs/test/attribute.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/comment.js","id":"libxmljs/test/comment.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1401747347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/document.js","id":"libxmljs/test/document.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/element.js","id":"libxmljs/test/element.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/html_parser.js","id":"libxmljs/test/html_parser.js","options":{},"isModule":true,"requiredModules":["fs","libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/main.js","id":"libxmljs/test/main.js","options":{},"isModule":true,"requiredModules":["../package","libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/namespace.js","id":"libxmljs/test/namespace.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/node_attributes.js","id":"libxmljs/test/node_attributes.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/ref_integrity.js","id":"libxmljs/test/ref_integrity.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/searching.js","id":"libxmljs/test/searching.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/text_node.js","id":"libxmljs/test/text_node.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/traversal.js","id":"libxmljs/test/traversal.js","options":{},"isModule":true,"requiredModules":["libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/xml_parser.js","id":"libxmljs/test/xml_parser.js","options":{},"isModule":true,"requiredModules":["fs","libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/libxmljs/test/xml_sax_parser.js","id":"libxmljs/test/xml_sax_parser.js","options":{},"isModule":true,"requiredModules":["fs","libxmljs/index.js"],"mtime":1397222344000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/line-by-line/examples/example.js","id":"line-by-line/examples/example.js","options":{},"isModule":true,"requiredModules":["line-by-line/line-by-line.js"],"mtime":1414873901000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/line-by-line/line-by-line.js","id":"line-by-line/line-by-line.js","options":{},"isModule":true,"requiredModules":["path","fs","events"],"mtime":1414873907000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/line-by-line/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/line-by-line/package.json","data":{"author":{"name":"Markus Ostertag","email":"mo@mo-its.de"},"contributors":[{"name":"Markus von der Wehd","email":"mvdw@mwin.de"}],"name":"line-by-line","description":"A NodeJS module that helps you reading large text files, line by line, without buffering the files into memory.","version":"0.1.3","keywords":["line","file","reader","fs"],"homepage":"https://github.com/Osterjour/line-by-line","repository":{"type":"git","url":"git@github.com:Osterjour/line-by-line.git"},"main":"line-by-line.js","dependencies":{},"devDependencies":{"jshint":"2.5.x"},"scripts":{"test":"jshint ."},"optionalDependencies":{},"engines":{"node":">=0.8.0"},"licenses":[{"type":"MIT","url":"https://raw.github.com/Osterjour/line-by-line/master/LICENSE.txt"}],"readme":"[![Build Status](https://travis-ci.org/Osterjour/line-by-line.svg?branch=master)](https://travis-ci.org/Osterjour/line-by-line)\r\n[![npm version](https://badge.fury.io/js/line-by-line.svg)](http://badge.fury.io/js/line-by-line)\r\n\r\n# Line By Line\r\nis a [NodeJS](http://nodejs.org/) module\r\nthat helps you reading large text files, line by line,\r\nwithout buffering the files into memory.\r\n\r\nInstallation:\r\n\r\n    npm install line-by-line\r\n\r\n\r\n## Usage:\r\n\r\nSynchronous processing of lines:\r\n\r\n\tvar LineByLineReader = require('line-by-line'),\r\n\t    lr = new LineByLineReader('big_file.txt');\r\n\r\n\tlr.on('error', function (err) {\r\n\t\t// 'err' contains error object\r\n\t});\r\n\r\n\tlr.on('line', function (line) {\r\n\t\t// 'line' contains the current line without the trailing newline character.\r\n\t});\r\n\r\n\tlr.on('end', function () {\r\n\t\t// All lines are read, file is closed now.\r\n\t});\r\n\r\nAsynchronous processing of lines:\r\n\r\n\tvar LineByLineReader = require('line-by-line'),\r\n\t    lr = new LineByLineReader('big_file.txt');\r\n\r\n\tlr.on('error', function (err) {\r\n\t\t// 'err' contains error object\r\n\t});\r\n\r\n\tlr.on('line', function (line) {\r\n\t\t// pause emitting of lines...\r\n\t\tlr.pause();\r\n\r\n\t\t// ...do your asynchronous line processing..\r\n\t\tsetTimeout(function () {\r\n\r\n\t\t\t// ...and continue emitting lines.\r\n\t\t\tlr.resume();\r\n\t\t}, 100);\r\n\t});\r\n\r\n\tlr.on('end', function () {\r\n\t\t// All lines are read, file is closed now.\r\n\t});\r\n\r\n\r\n## API:\r\n\r\n**Class: LineReader(path [, options])**\r\n\r\n`path` specifies the file to read\r\n\r\n`options` is an object with the following defaults:\r\n```\r\n{ encoding: 'utf8',\r\n  skipEmptyLines: false }\r\n```\r\n\r\n`encoding` can be `'utf8'`, `'ascii'`, or `'base64'`.\r\n\r\nIf `skipEmptyLines` set to `true`, empty lines don't trigger a 'line' event.\r\n\r\n\r\n**Event: 'line'**\r\n\r\n    function (line) { }\r\n\r\nEmitted on every line read.\r\n\r\n`line` contains the line without the line ending character.\r\n\r\n\r\n**Event: 'error'**\r\n\r\n    function (error) { }\r\n\r\nEmitted if an error occurred.\r\n\r\n`error` contains the error object.\r\n\r\n\r\n**Event: 'end'**\r\n\r\n    function () { }\r\n\r\nEmitted if all lines are read.\r\n\r\n\r\n**pause()**\r\n\r\nCall this method to stop emitting 'line' events.\r\n\r\n\r\n**resume()**\r\n\r\nAfter calling this method, 'line' events gets emitted again.\r\n\r\n\r\n**close()**\r\n\r\nStops emitting 'line' events, closes the file and emits the 'end' event.\r\n\r\n\r\n## License:\r\n\r\nThe MIT License (MIT)\r\n\r\nCopyright © 2012 Markus von der Wehd\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/Osterjour/line-by-line/issues"},"_id":"line-by-line@0.1.3","_shasum":"2d6fd3005b5d93b8f613c3662479d01c99ce9cad","_from":"line-by-line@^0.1.1","_resolved":"https://registry.npmjs.org/line-by-line/-/line-by-line-0.1.3.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/chunk.js","id":"lodash/array/chunk.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/compact.js","id":"lodash/array/compact.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/difference.js","id":"lodash/array/difference.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/baseFlatten.js","lodash/internal/isArrayLike.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/drop.js","id":"lodash/array/drop.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/dropRight.js","id":"lodash/array/dropRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/dropRightWhile.js","id":"lodash/array/dropRightWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/dropWhile.js","id":"lodash/array/dropWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/fill.js","id":"lodash/array/fill.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFill.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/findIndex.js","id":"lodash/array/findIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFindIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/findLastIndex.js","id":"lodash/array/findLastIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFindIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/first.js","id":"lodash/array/first.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/flatten.js","id":"lodash/array/flatten.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/flattenDeep.js","id":"lodash/array/flattenDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/head.js","id":"lodash/array/head.js","options":{},"isModule":true,"requiredModules":["lodash/array/first.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/indexOf.js","id":"lodash/array/indexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/binaryIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/initial.js","id":"lodash/array/initial.js","options":{},"isModule":true,"requiredModules":["lodash/array/dropRight.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/intersection.js","id":"lodash/array/intersection.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js","lodash/internal/isArrayLike.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/last.js","id":"lodash/array/last.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/lastIndexOf.js","id":"lodash/array/lastIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/binaryIndex.js","lodash/internal/indexOfNaN.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/object.js","id":"lodash/array/object.js","options":{},"isModule":true,"requiredModules":["lodash/array/zipObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/pull.js","id":"lodash/array/pull.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/pullAt.js","id":"lodash/array/pullAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAt.js","lodash/internal/baseCompareAscending.js","lodash/internal/baseFlatten.js","lodash/internal/basePullAt.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/remove.js","id":"lodash/array/remove.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/basePullAt.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/rest.js","id":"lodash/array/rest.js","options":{},"isModule":true,"requiredModules":["lodash/array/drop.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/slice.js","id":"lodash/array/slice.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/sortedIndex.js","id":"lodash/array/sortedIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createSortedIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/sortedLastIndex.js","id":"lodash/array/sortedLastIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createSortedIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/tail.js","id":"lodash/array/tail.js","options":{},"isModule":true,"requiredModules":["lodash/array/rest.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/take.js","id":"lodash/array/take.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/takeRight.js","id":"lodash/array/takeRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/takeRightWhile.js","id":"lodash/array/takeRightWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/takeWhile.js","id":"lodash/array/takeWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/union.js","id":"lodash/array/union.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/baseUniq.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/uniq.js","id":"lodash/array/uniq.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseUniq.js","lodash/internal/isIterateeCall.js","lodash/internal/sortedUniq.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/unique.js","id":"lodash/array/unique.js","options":{},"isModule":true,"requiredModules":["lodash/array/uniq.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/unzip.js","id":"lodash/array/unzip.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/arrayMap.js","lodash/internal/baseProperty.js","lodash/internal/isArrayLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/unzipWith.js","id":"lodash/array/unzipWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/arrayReduce.js","lodash/internal/bindCallback.js","lodash/array/unzip.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/without.js","id":"lodash/array/without.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/isArrayLike.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/xor.js","id":"lodash/array/xor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/baseUniq.js","lodash/internal/isArrayLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/zip.js","id":"lodash/array/zip.js","options":{},"isModule":true,"requiredModules":["lodash/function/restParam.js","lodash/array/unzip.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/zipObject.js","id":"lodash/array/zipObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array/zipWith.js","id":"lodash/array/zipWith.js","options":{},"isModule":true,"requiredModules":["lodash/function/restParam.js","lodash/array/unzipWith.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/array.js","id":"lodash/array.js","options":{},"isModule":true,"requiredModules":["lodash/array/chunk.js","lodash/array/compact.js","lodash/array/difference.js","lodash/array/drop.js","lodash/array/dropRight.js","lodash/array/dropRightWhile.js","lodash/array/dropWhile.js","lodash/array/fill.js","lodash/array/findIndex.js","lodash/array/findLastIndex.js","lodash/array/first.js","lodash/array/flatten.js","lodash/array/flattenDeep.js","lodash/array/head.js","lodash/array/indexOf.js","lodash/array/initial.js","lodash/array/intersection.js","lodash/array/last.js","lodash/array/lastIndexOf.js","lodash/array/object.js","lodash/array/pull.js","lodash/array/pullAt.js","lodash/array/remove.js","lodash/array/rest.js","lodash/array/slice.js","lodash/array/sortedIndex.js","lodash/array/sortedLastIndex.js","lodash/array/tail.js","lodash/array/take.js","lodash/array/takeRight.js","lodash/array/takeRightWhile.js","lodash/array/takeWhile.js","lodash/array/union.js","lodash/array/uniq.js","lodash/array/unique.js","lodash/array/unzip.js","lodash/array/unzipWith.js","lodash/array/without.js","lodash/array/xor.js","lodash/array/zip.js","lodash/array/zipObject.js","lodash/array/zipWith.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/chain.js","id":"lodash/chain/chain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/lodash.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/commit.js","id":"lodash/chain/commit.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperCommit.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/lodash.js","id":"lodash/chain/lodash.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/internal/baseLodash.js","lodash/lang/isArray.js","lodash/internal/isObjectLike.js","lodash/internal/wrapperClone.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/plant.js","id":"lodash/chain/plant.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperPlant.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/reverse.js","id":"lodash/chain/reverse.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperReverse.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/run.js","id":"lodash/chain/run.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/tap.js","id":"lodash/chain/tap.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/thru.js","id":"lodash/chain/thru.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/toJSON.js","id":"lodash/chain/toJSON.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/toString.js","id":"lodash/chain/toString.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperToString.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/value.js","id":"lodash/chain/value.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/valueOf.js","id":"lodash/chain/valueOf.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/wrapperChain.js","id":"lodash/chain/wrapperChain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/chain.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/wrapperCommit.js","id":"lodash/chain/wrapperCommit.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LodashWrapper.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/wrapperPlant.js","id":"lodash/chain/wrapperPlant.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseLodash.js","lodash/internal/wrapperClone.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/wrapperReverse.js","id":"lodash/chain/wrapperReverse.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/chain/thru.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/wrapperToString.js","id":"lodash/chain/wrapperToString.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain/wrapperValue.js","id":"lodash/chain/wrapperValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseWrapperValue.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/chain.js","id":"lodash/chain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/chain.js","lodash/chain/commit.js","lodash/chain/lodash.js","lodash/chain/plant.js","lodash/chain/reverse.js","lodash/chain/run.js","lodash/chain/tap.js","lodash/chain/thru.js","lodash/chain/toJSON.js","lodash/chain/toString.js","lodash/chain/value.js","lodash/chain/valueOf.js","lodash/chain/wrapperChain.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/all.js","id":"lodash/collection/all.js","options":{},"isModule":true,"requiredModules":["lodash/collection/every.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/any.js","id":"lodash/collection/any.js","options":{},"isModule":true,"requiredModules":["lodash/collection/some.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/at.js","id":"lodash/collection/at.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAt.js","lodash/internal/baseFlatten.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/collect.js","id":"lodash/collection/collect.js","options":{},"isModule":true,"requiredModules":["lodash/collection/map.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/contains.js","id":"lodash/collection/contains.js","options":{},"isModule":true,"requiredModules":["lodash/collection/includes.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/countBy.js","id":"lodash/collection/countBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/detect.js","id":"lodash/collection/detect.js","options":{},"isModule":true,"requiredModules":["lodash/collection/find.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/each.js","id":"lodash/collection/each.js","options":{},"isModule":true,"requiredModules":["lodash/collection/forEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/eachRight.js","id":"lodash/collection/eachRight.js","options":{},"isModule":true,"requiredModules":["lodash/collection/forEachRight.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/every.js","id":"lodash/collection/every.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEvery.js","lodash/internal/baseCallback.js","lodash/internal/baseEvery.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/filter.js","id":"lodash/collection/filter.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/baseCallback.js","lodash/internal/baseFilter.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/find.js","id":"lodash/collection/find.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/createFind.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/findLast.js","id":"lodash/collection/findLast.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEachRight.js","lodash/internal/createFind.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/findWhere.js","id":"lodash/collection/findWhere.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/collection/find.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/foldl.js","id":"lodash/collection/foldl.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduce.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/foldr.js","id":"lodash/collection/foldr.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduceRight.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/forEach.js","id":"lodash/collection/forEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseEach.js","lodash/internal/createForEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/forEachRight.js","id":"lodash/collection/forEachRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEachRight.js","lodash/internal/baseEachRight.js","lodash/internal/createForEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/groupBy.js","id":"lodash/collection/groupBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/include.js","id":"lodash/collection/include.js","options":{},"isModule":true,"requiredModules":["lodash/collection/includes.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/includes.js","id":"lodash/collection/includes.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/getLength.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/internal/isLength.js","lodash/lang/isString.js","lodash/object/values.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/indexBy.js","id":"lodash/collection/indexBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/inject.js","id":"lodash/collection/inject.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduce.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/invoke.js","id":"lodash/collection/invoke.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/invokePath.js","lodash/internal/isArrayLike.js","lodash/internal/isKey.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/map.js","id":"lodash/collection/map.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/max.js","id":"lodash/collection/max.js","options":{},"isModule":true,"requiredModules":["lodash/math/max.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/min.js","id":"lodash/collection/min.js","options":{},"isModule":true,"requiredModules":["lodash/math/min.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/partition.js","id":"lodash/collection/partition.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/pluck.js","id":"lodash/collection/pluck.js","options":{},"isModule":true,"requiredModules":["lodash/collection/map.js","lodash/utility/property.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/reduce.js","id":"lodash/collection/reduce.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayReduce.js","lodash/internal/baseEach.js","lodash/internal/createReduce.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/reduceRight.js","id":"lodash/collection/reduceRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayReduceRight.js","lodash/internal/baseEachRight.js","lodash/internal/createReduce.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/reject.js","id":"lodash/collection/reject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/baseCallback.js","lodash/internal/baseFilter.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/sample.js","id":"lodash/collection/sample.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/isIterateeCall.js","lodash/lang/toArray.js","lodash/internal/toIterable.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/select.js","id":"lodash/collection/select.js","options":{},"isModule":true,"requiredModules":["lodash/collection/filter.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/shuffle.js","id":"lodash/collection/shuffle.js","options":{},"isModule":true,"requiredModules":["lodash/collection/sample.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/size.js","id":"lodash/collection/size.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/some.js","id":"lodash/collection/some.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySome.js","lodash/internal/baseCallback.js","lodash/internal/baseSome.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/sortBy.js","id":"lodash/collection/sortBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/internal/baseSortBy.js","lodash/internal/compareAscending.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/sortByAll.js","id":"lodash/collection/sortByAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/baseSortByOrder.js","lodash/internal/isIterateeCall.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/sortByOrder.js","id":"lodash/collection/sortByOrder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSortByOrder.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/sum.js","id":"lodash/collection/sum.js","options":{},"isModule":true,"requiredModules":["lodash/math/sum.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection/where.js","id":"lodash/collection/where.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/collection/filter.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/collection.js","id":"lodash/collection.js","options":{},"isModule":true,"requiredModules":["lodash/collection/all.js","lodash/collection/any.js","lodash/collection/at.js","lodash/collection/collect.js","lodash/collection/contains.js","lodash/collection/countBy.js","lodash/collection/detect.js","lodash/collection/each.js","lodash/collection/eachRight.js","lodash/collection/every.js","lodash/collection/filter.js","lodash/collection/find.js","lodash/collection/findLast.js","lodash/collection/findWhere.js","lodash/collection/foldl.js","lodash/collection/foldr.js","lodash/collection/forEach.js","lodash/collection/forEachRight.js","lodash/collection/groupBy.js","lodash/collection/include.js","lodash/collection/includes.js","lodash/collection/indexBy.js","lodash/collection/inject.js","lodash/collection/invoke.js","lodash/collection/map.js","lodash/math/max.js","lodash/math/min.js","lodash/collection/partition.js","lodash/collection/pluck.js","lodash/collection/reduce.js","lodash/collection/reduceRight.js","lodash/collection/reject.js","lodash/collection/sample.js","lodash/collection/select.js","lodash/collection/shuffle.js","lodash/collection/size.js","lodash/collection/some.js","lodash/collection/sortBy.js","lodash/collection/sortByAll.js","lodash/collection/sortByOrder.js","lodash/math/sum.js","lodash/collection/where.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/date/now.js","id":"lodash/date/now.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/date.js","id":"lodash/date.js","options":{},"isModule":true,"requiredModules":["lodash/date/now.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/after.js","id":"lodash/function/after.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/ary.js","id":"lodash/function/ary.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/backflow.js","id":"lodash/function/backflow.js","options":{},"isModule":true,"requiredModules":["lodash/function/flowRight.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/before.js","id":"lodash/function/before.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/bind.js","id":"lodash/function/bind.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/bindAll.js","id":"lodash/function/bindAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/createWrapper.js","lodash/object/functions.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/bindKey.js","id":"lodash/function/bindKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/compose.js","id":"lodash/function/compose.js","options":{},"isModule":true,"requiredModules":["lodash/function/flowRight.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/curry.js","id":"lodash/function/curry.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCurry.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/curryRight.js","id":"lodash/function/curryRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCurry.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/debounce.js","id":"lodash/function/debounce.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js","lodash/date/now.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/defer.js","id":"lodash/function/defer.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDelay.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/delay.js","id":"lodash/function/delay.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDelay.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/flow.js","id":"lodash/function/flow.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFlow.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/flowRight.js","id":"lodash/function/flowRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFlow.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/memoize.js","id":"lodash/function/memoize.js","options":{},"isModule":true,"requiredModules":["lodash/internal/MapCache.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/negate.js","id":"lodash/function/negate.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/once.js","id":"lodash/function/once.js","options":{},"isModule":true,"requiredModules":["lodash/function/before.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/partial.js","id":"lodash/function/partial.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPartial.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/partialRight.js","id":"lodash/function/partialRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPartial.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/rearg.js","id":"lodash/function/rearg.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/createWrapper.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/restParam.js","id":"lodash/function/restParam.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/spread.js","id":"lodash/function/spread.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/throttle.js","id":"lodash/function/throttle.js","options":{},"isModule":true,"requiredModules":["lodash/function/debounce.js","lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function/wrap.js","id":"lodash/function/wrap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/utility/identity.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/function.js","id":"lodash/function.js","options":{},"isModule":true,"requiredModules":["lodash/function/after.js","lodash/function/ary.js","lodash/function/backflow.js","lodash/function/before.js","lodash/function/bind.js","lodash/function/bindAll.js","lodash/function/bindKey.js","lodash/function/compose.js","lodash/function/curry.js","lodash/function/curryRight.js","lodash/function/debounce.js","lodash/function/defer.js","lodash/function/delay.js","lodash/function/flow.js","lodash/function/flowRight.js","lodash/function/memoize.js","lodash/function/negate.js","lodash/function/once.js","lodash/function/partial.js","lodash/function/partialRight.js","lodash/function/rearg.js","lodash/function/restParam.js","lodash/function/spread.js","lodash/function/throttle.js","lodash/function/wrap.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/index.js","id":"lodash/index.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayCopy.js","id":"lodash/internal/arrayCopy.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayEach.js","id":"lodash/internal/arrayEach.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayEachRight.js","id":"lodash/internal/arrayEachRight.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayEvery.js","id":"lodash/internal/arrayEvery.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayExtremum.js","id":"lodash/internal/arrayExtremum.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayFilter.js","id":"lodash/internal/arrayFilter.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayMap.js","id":"lodash/internal/arrayMap.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayReduce.js","id":"lodash/internal/arrayReduce.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arrayReduceRight.js","id":"lodash/internal/arrayReduceRight.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arraySome.js","id":"lodash/internal/arraySome.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/arraySum.js","id":"lodash/internal/arraySum.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/assignDefaults.js","id":"lodash/internal/assignDefaults.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/assignOwnDefaults.js","id":"lodash/internal/assignOwnDefaults.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/assignWith.js","id":"lodash/internal/assignWith.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseAssign.js","id":"lodash/internal/baseAssign.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseAt.js","id":"lodash/internal/baseAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseCallback.js","id":"lodash/internal/baseCallback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/internal/baseMatchesProperty.js","lodash/internal/bindCallback.js","lodash/utility/identity.js","lodash/utility/property.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseClone.js","id":"lodash/internal/baseClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/arrayEach.js","lodash/internal/baseAssign.js","lodash/internal/baseForOwn.js","lodash/internal/initCloneArray.js","lodash/internal/initCloneByTag.js","lodash/internal/initCloneObject.js","lodash/lang/isArray.js","lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseCompareAscending.js","id":"lodash/internal/baseCompareAscending.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseCopy.js","id":"lodash/internal/baseCopy.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseCreate.js","id":"lodash/internal/baseCreate.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseDelay.js","id":"lodash/internal/baseDelay.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseDifference.js","id":"lodash/internal/baseDifference.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseEach.js","id":"lodash/internal/baseEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createBaseEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseEachRight.js","id":"lodash/internal/baseEachRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createBaseEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseEvery.js","id":"lodash/internal/baseEvery.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseExtremum.js","id":"lodash/internal/baseExtremum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseFill.js","id":"lodash/internal/baseFill.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseFilter.js","id":"lodash/internal/baseFilter.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseFind.js","id":"lodash/internal/baseFind.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseFindIndex.js","id":"lodash/internal/baseFindIndex.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseFlatten.js","id":"lodash/internal/baseFlatten.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseFor.js","id":"lodash/internal/baseFor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createBaseFor.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseForIn.js","id":"lodash/internal/baseForIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/object/keysIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseForOwn.js","id":"lodash/internal/baseForOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseForOwnRight.js","id":"lodash/internal/baseForOwnRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseForRight.js","id":"lodash/internal/baseForRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createBaseFor.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseFunctions.js","id":"lodash/internal/baseFunctions.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isFunction.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseGet.js","id":"lodash/internal/baseGet.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseIndexOf.js","id":"lodash/internal/baseIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/indexOfNaN.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseIsEqual.js","id":"lodash/internal/baseIsEqual.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqualDeep.js","lodash/lang/isObject.js","lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseIsEqualDeep.js","id":"lodash/internal/baseIsEqualDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/equalArrays.js","lodash/internal/equalByTag.js","lodash/internal/equalObjects.js","lodash/lang/isArray.js","lodash/lang/isTypedArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseIsFunction.js","id":"lodash/internal/baseIsFunction.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseIsMatch.js","id":"lodash/internal/baseIsMatch.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js","lodash/internal/toObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseLodash.js","id":"lodash/internal/baseLodash.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseMap.js","id":"lodash/internal/baseMap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/isArrayLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseMatches.js","id":"lodash/internal/baseMatches.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsMatch.js","lodash/internal/getMatchData.js","lodash/internal/toObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseMatchesProperty.js","id":"lodash/internal/baseMatchesProperty.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseIsEqual.js","lodash/internal/baseSlice.js","lodash/lang/isArray.js","lodash/internal/isKey.js","lodash/internal/isStrictComparable.js","lodash/array/last.js","lodash/internal/toObject.js","lodash/internal/toPath.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseMerge.js","id":"lodash/internal/baseMerge.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseMergeDeep.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/internal/isObjectLike.js","lodash/lang/isTypedArray.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseMergeDeep.js","id":"lodash/internal/baseMergeDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isPlainObject.js","lodash/lang/isTypedArray.js","lodash/lang/toPlainObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseProperty.js","id":"lodash/internal/baseProperty.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/basePropertyDeep.js","id":"lodash/internal/basePropertyDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/basePullAt.js","id":"lodash/internal/basePullAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseRandom.js","id":"lodash/internal/baseRandom.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseReduce.js","id":"lodash/internal/baseReduce.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseSetData.js","id":"lodash/internal/baseSetData.js","options":{},"isModule":true,"requiredModules":["lodash/utility/identity.js","lodash/internal/metaMap.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseSlice.js","id":"lodash/internal/baseSlice.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseSome.js","id":"lodash/internal/baseSome.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseSortBy.js","id":"lodash/internal/baseSortBy.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseSortByOrder.js","id":"lodash/internal/baseSortByOrder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/internal/baseSortBy.js","lodash/internal/compareMultiple.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseSum.js","id":"lodash/internal/baseSum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseToString.js","id":"lodash/internal/baseToString.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseUniq.js","id":"lodash/internal/baseUniq.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseValues.js","id":"lodash/internal/baseValues.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseWhile.js","id":"lodash/internal/baseWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/baseWrapperValue.js","id":"lodash/internal/baseWrapperValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/binaryIndex.js","id":"lodash/internal/binaryIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/binaryIndexBy.js","lodash/utility/identity.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/binaryIndexBy.js","id":"lodash/internal/binaryIndexBy.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/bindCallback.js","id":"lodash/internal/bindCallback.js","options":{},"isModule":true,"requiredModules":["lodash/utility/identity.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/bufferClone.js","id":"lodash/internal/bufferClone.js","options":{},"isModule":true,"requiredModules":["lodash/utility/constant.js","lodash/internal/getNative.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/cacheIndexOf.js","id":"lodash/internal/cacheIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/cachePush.js","id":"lodash/internal/cachePush.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/charsLeftIndex.js","id":"lodash/internal/charsLeftIndex.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/charsRightIndex.js","id":"lodash/internal/charsRightIndex.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/compareAscending.js","id":"lodash/internal/compareAscending.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCompareAscending.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/compareMultiple.js","id":"lodash/internal/compareMultiple.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCompareAscending.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/composeArgs.js","id":"lodash/internal/composeArgs.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/composeArgsRight.js","id":"lodash/internal/composeArgsRight.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createAggregator.js","id":"lodash/internal/createAggregator.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseEach.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createAssigner.js","id":"lodash/internal/createAssigner.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/internal/isIterateeCall.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createBaseEach.js","id":"lodash/internal/createBaseEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/internal/toObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createBaseFor.js","id":"lodash/internal/createBaseFor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createBindWrapper.js","id":"lodash/internal/createBindWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCtorWrapper.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createCache.js","id":"lodash/internal/createCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/SetCache.js","lodash/utility/constant.js","lodash/internal/getNative.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createCompounder.js","id":"lodash/internal/createCompounder.js","options":{},"isModule":true,"requiredModules":["lodash/string/deburr.js","lodash/string/words.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createCtorWrapper.js","id":"lodash/internal/createCtorWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createCurry.js","id":"lodash/internal/createCurry.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createExtremum.js","id":"lodash/internal/createExtremum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayExtremum.js","lodash/internal/baseCallback.js","lodash/internal/baseExtremum.js","lodash/internal/isIterateeCall.js","lodash/internal/toIterable.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createFind.js","id":"lodash/internal/createFind.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFind.js","lodash/internal/baseFindIndex.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createFindIndex.js","id":"lodash/internal/createFindIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFindIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createFindKey.js","id":"lodash/internal/createFindKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFind.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createFlow.js","id":"lodash/internal/createFlow.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LodashWrapper.js","lodash/internal/getData.js","lodash/internal/getFuncName.js","lodash/lang/isArray.js","lodash/internal/isLaziable.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createForEach.js","id":"lodash/internal/createForEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createForIn.js","id":"lodash/internal/createForIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/object/keysIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createForOwn.js","id":"lodash/internal/createForOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createHybridWrapper.js","id":"lodash/internal/createHybridWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/composeArgs.js","lodash/internal/composeArgsRight.js","lodash/internal/createCtorWrapper.js","lodash/internal/isLaziable.js","lodash/internal/reorder.js","lodash/internal/replaceHolders.js","lodash/internal/setData.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createObjectMapper.js","id":"lodash/internal/createObjectMapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseForOwn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createPadding.js","id":"lodash/internal/createPadding.js","options":{},"isModule":true,"requiredModules":["lodash/string/repeat.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createPadDir.js","id":"lodash/internal/createPadDir.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPadding.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createPartial.js","id":"lodash/internal/createPartial.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createPartialWrapper.js","id":"lodash/internal/createPartialWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCtorWrapper.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createReduce.js","id":"lodash/internal/createReduce.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseReduce.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createSortedIndex.js","id":"lodash/internal/createSortedIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/binaryIndex.js","lodash/internal/binaryIndexBy.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/createWrapper.js","id":"lodash/internal/createWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/internal/createBindWrapper.js","lodash/internal/createHybridWrapper.js","lodash/internal/createPartialWrapper.js","lodash/internal/getData.js","lodash/internal/mergeData.js","lodash/internal/setData.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/deburrLetter.js","id":"lodash/internal/deburrLetter.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/equalArrays.js","id":"lodash/internal/equalArrays.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySome.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/equalByTag.js","id":"lodash/internal/equalByTag.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/equalObjects.js","id":"lodash/internal/equalObjects.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/escapeHtmlChar.js","id":"lodash/internal/escapeHtmlChar.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/escapeStringChar.js","id":"lodash/internal/escapeStringChar.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/getData.js","id":"lodash/internal/getData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/metaMap.js","lodash/utility/noop.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/getFuncName.js","id":"lodash/internal/getFuncName.js","options":{},"isModule":true,"requiredModules":["lodash/internal/realNames.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/getLength.js","id":"lodash/internal/getLength.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseProperty.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/getMatchData.js","id":"lodash/internal/getMatchData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isStrictComparable.js","lodash/object/pairs.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/getNative.js","id":"lodash/internal/getNative.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/getView.js","id":"lodash/internal/getView.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/indexOfNaN.js","id":"lodash/internal/indexOfNaN.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/initCloneArray.js","id":"lodash/internal/initCloneArray.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/initCloneByTag.js","id":"lodash/internal/initCloneByTag.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bufferClone.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/initCloneObject.js","id":"lodash/internal/initCloneObject.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/invokePath.js","id":"lodash/internal/invokePath.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/internal/isKey.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isArrayLike.js","id":"lodash/internal/isArrayLike.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isIndex.js","id":"lodash/internal/isIndex.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isIterateeCall.js","id":"lodash/internal/isIterateeCall.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isIndex.js","lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isKey.js","id":"lodash/internal/isKey.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArray.js","lodash/internal/toObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isLaziable.js","id":"lodash/internal/isLaziable.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/getData.js","lodash/internal/getFuncName.js","lodash/chain/lodash.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isLength.js","id":"lodash/internal/isLength.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isObjectLike.js","id":"lodash/internal/isObjectLike.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isSpace.js","id":"lodash/internal/isSpace.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/isStrictComparable.js","id":"lodash/internal/isStrictComparable.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/lazyClone.js","id":"lodash/internal/lazyClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/arrayCopy.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/lazyReverse.js","id":"lodash/internal/lazyReverse.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/lazyValue.js","id":"lodash/internal/lazyValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseWrapperValue.js","lodash/internal/getView.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/LazyWrapper.js","id":"lodash/internal/LazyWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/internal/baseLodash.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/LodashWrapper.js","id":"lodash/internal/LodashWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/internal/baseLodash.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/MapCache.js","id":"lodash/internal/MapCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/mapDelete.js","lodash/internal/mapGet.js","lodash/internal/mapHas.js","lodash/internal/mapSet.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/mapDelete.js","id":"lodash/internal/mapDelete.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/mapGet.js","id":"lodash/internal/mapGet.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/mapHas.js","id":"lodash/internal/mapHas.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/mapSet.js","id":"lodash/internal/mapSet.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/mergeData.js","id":"lodash/internal/mergeData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/composeArgs.js","lodash/internal/composeArgsRight.js","lodash/internal/replaceHolders.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/metaMap.js","id":"lodash/internal/metaMap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/pickByArray.js","id":"lodash/internal/pickByArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/pickByCallback.js","id":"lodash/internal/pickByCallback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/realNames.js","id":"lodash/internal/realNames.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/reEscape.js","id":"lodash/internal/reEscape.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/reEvaluate.js","id":"lodash/internal/reEvaluate.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/reInterpolate.js","id":"lodash/internal/reInterpolate.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/reorder.js","id":"lodash/internal/reorder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/isIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/replaceHolders.js","id":"lodash/internal/replaceHolders.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/SetCache.js","id":"lodash/internal/SetCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/cachePush.js","lodash/internal/getNative.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/setData.js","id":"lodash/internal/setData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/date/now.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/shimIsPlainObject.js","id":"lodash/internal/shimIsPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForIn.js","lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/shimKeys.js","id":"lodash/internal/shimKeys.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/object/keysIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/sortedUniq.js","id":"lodash/internal/sortedUniq.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/toIterable.js","id":"lodash/internal/toIterable.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/object/values.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/toObject.js","id":"lodash/internal/toObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/toPath.js","id":"lodash/internal/toPath.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/lang/isArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/trimmedLeftIndex.js","id":"lodash/internal/trimmedLeftIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isSpace.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/trimmedRightIndex.js","id":"lodash/internal/trimmedRightIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isSpace.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/unescapeHtmlChar.js","id":"lodash/internal/unescapeHtmlChar.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/internal/wrapperClone.js","id":"lodash/internal/wrapperClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/internal/arrayCopy.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/clone.js","id":"lodash/lang/clone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/bindCallback.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/cloneDeep.js","id":"lodash/lang/cloneDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/bindCallback.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/eq.js","id":"lodash/lang/eq.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isEqual.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/gt.js","id":"lodash/lang/gt.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/gte.js","id":"lodash/lang/gte.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isArguments.js","id":"lodash/lang/isArguments.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isArray.js","id":"lodash/lang/isArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js","lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isBoolean.js","id":"lodash/lang/isBoolean.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isDate.js","id":"lodash/lang/isDate.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isElement.js","id":"lodash/lang/isElement.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js","lodash/lang/isPlainObject.js","lodash/support.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isEmpty.js","id":"lodash/lang/isEmpty.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isFunction.js","lodash/internal/isObjectLike.js","lodash/lang/isString.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isEqual.js","id":"lodash/lang/isEqual.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js","lodash/internal/bindCallback.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isError.js","id":"lodash/lang/isError.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isFinite.js","id":"lodash/lang/isFinite.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isFunction.js","id":"lodash/lang/isFunction.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsFunction.js","lodash/internal/getNative.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isMatch.js","id":"lodash/lang/isMatch.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsMatch.js","lodash/internal/bindCallback.js","lodash/internal/getMatchData.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isNaN.js","id":"lodash/lang/isNaN.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNumber.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isNative.js","id":"lodash/lang/isNative.js","options":{},"isModule":true,"requiredModules":["lodash/string/escapeRegExp.js","lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isNull.js","id":"lodash/lang/isNull.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isNumber.js","id":"lodash/lang/isNumber.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isObject.js","id":"lodash/lang/isObject.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isPlainObject.js","id":"lodash/lang/isPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js","lodash/internal/shimIsPlainObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isRegExp.js","id":"lodash/lang/isRegExp.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isString.js","id":"lodash/lang/isString.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isTypedArray.js","id":"lodash/lang/isTypedArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/isUndefined.js","id":"lodash/lang/isUndefined.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/lt.js","id":"lodash/lang/lt.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/lte.js","id":"lodash/lang/lte.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/toArray.js","id":"lodash/lang/toArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/object/values.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang.js","id":"lodash/lang.js","options":{},"isModule":true,"requiredModules":["lodash/lang/clone.js","lodash/lang/cloneDeep.js","lodash/lang/eq.js","lodash/lang/gt.js","lodash/lang/gte.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/lang/isBoolean.js","lodash/lang/isDate.js","lodash/lang/isElement.js","lodash/lang/isEmpty.js","lodash/lang/isEqual.js","lodash/lang/isError.js","lodash/lang/isFinite.js","lodash/lang/isFunction.js","lodash/lang/isMatch.js","lodash/lang/isNaN.js","lodash/lang/isNative.js","lodash/lang/isNull.js","lodash/lang/isNumber.js","lodash/lang/isObject.js","lodash/lang/isPlainObject.js","lodash/lang/isRegExp.js","lodash/lang/isString.js","lodash/lang/isTypedArray.js","lodash/lang/isUndefined.js","lodash/lang/lt.js","lodash/lang/lte.js","lodash/lang/toArray.js","lodash/lang/toPlainObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/lang/toPlainObject.js","id":"lodash/lang/toPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/object/keysIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/math/add.js","id":"lodash/math/add.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/math/max.js","id":"lodash/math/max.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createExtremum.js","lodash/lang/gt.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/math/min.js","id":"lodash/math/min.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createExtremum.js","lodash/lang/lt.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/math/sum.js","id":"lodash/math/sum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySum.js","lodash/internal/baseCallback.js","lodash/internal/baseSum.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/internal/toIterable.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/math.js","id":"lodash/math.js","options":{},"isModule":true,"requiredModules":["lodash/math/add.js","lodash/math/max.js","lodash/math/min.js","lodash/math/sum.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/number/inRange.js","id":"lodash/number/inRange.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/number/random.js","id":"lodash/number/random.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/number.js","id":"lodash/number.js","options":{},"isModule":true,"requiredModules":["lodash/number/inRange.js","lodash/number/random.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/assign.js","id":"lodash/object/assign.js","options":{},"isModule":true,"requiredModules":["lodash/internal/assignWith.js","lodash/internal/baseAssign.js","lodash/internal/createAssigner.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/create.js","id":"lodash/object/create.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAssign.js","lodash/internal/baseCreate.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/defaults.js","id":"lodash/object/defaults.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","lodash/internal/assignDefaults.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/extend.js","id":"lodash/object/extend.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/findKey.js","id":"lodash/object/findKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createFindKey.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/findLastKey.js","id":"lodash/object/findLastKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createFindKey.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/forIn.js","id":"lodash/object/forIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/internal/createForIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/forInRight.js","id":"lodash/object/forInRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/internal/createForIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/forOwn.js","id":"lodash/object/forOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createForOwn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/forOwnRight.js","id":"lodash/object/forOwnRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createForOwn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/functions.js","id":"lodash/object/functions.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFunctions.js","lodash/object/keysIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/get.js","id":"lodash/object/get.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/has.js","id":"lodash/object/has.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isKey.js","lodash/internal/isLength.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/invert.js","id":"lodash/object/invert.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/keys.js","id":"lodash/object/keys.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js","lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/internal/shimKeys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/keysIn.js","id":"lodash/object/keysIn.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/lang/isObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/mapKeys.js","id":"lodash/object/mapKeys.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createObjectMapper.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/mapValues.js","id":"lodash/object/mapValues.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createObjectMapper.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/merge.js","id":"lodash/object/merge.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMerge.js","lodash/internal/createAssigner.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/methods.js","id":"lodash/object/methods.js","options":{},"isModule":true,"requiredModules":["lodash/object/functions.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/omit.js","id":"lodash/object/omit.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseDifference.js","lodash/internal/baseFlatten.js","lodash/internal/bindCallback.js","lodash/object/keysIn.js","lodash/internal/pickByArray.js","lodash/internal/pickByCallback.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/pairs.js","id":"lodash/object/pairs.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js","lodash/internal/toObject.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/pick.js","id":"lodash/object/pick.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/bindCallback.js","lodash/internal/pickByArray.js","lodash/internal/pickByCallback.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/result.js","id":"lodash/object/result.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/lang/isFunction.js","lodash/internal/isKey.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/set.js","id":"lodash/object/set.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIndex.js","lodash/internal/isKey.js","lodash/lang/isObject.js","lodash/internal/toPath.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/transform.js","id":"lodash/object/transform.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseCallback.js","lodash/internal/baseCreate.js","lodash/internal/baseForOwn.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/lang/isObject.js","lodash/lang/isTypedArray.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/values.js","id":"lodash/object/values.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseValues.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object/valuesIn.js","id":"lodash/object/valuesIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseValues.js","lodash/object/keysIn.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/object.js","id":"lodash/object.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","lodash/object/create.js","lodash/object/defaults.js","lodash/object/extend.js","lodash/object/findKey.js","lodash/object/findLastKey.js","lodash/object/forIn.js","lodash/object/forInRight.js","lodash/object/forOwn.js","lodash/object/forOwnRight.js","lodash/object/functions.js","lodash/object/get.js","lodash/object/has.js","lodash/object/invert.js","lodash/object/keys.js","lodash/object/keysIn.js","lodash/object/mapKeys.js","lodash/object/mapValues.js","lodash/object/merge.js","lodash/object/methods.js","lodash/object/omit.js","lodash/object/pairs.js","lodash/object/pick.js","lodash/object/result.js","lodash/object/set.js","lodash/object/transform.js","lodash/object/values.js","lodash/object/valuesIn.js"],"mtime":1432604870000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/lodash/package.json","data":{"name":"lodash","version":"3.9.3","description":"The modern build of lodash modular utilities.","homepage":"https://lodash.com/","icon":"https://lodash.com/icon.svg","license":"MIT","main":"index.js","keywords":["modules","stdlib","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Benjamin Tan","email":"demoneaux@gmail.com","url":"https://d10.github.io/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"https://mathiasbynens.be/"}],"repository":{"type":"git","url":"git+https://github.com/lodash/lodash.git"},"scripts":{"test":"echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""},"bugs":{"url":"https://github.com/lodash/lodash/issues"},"_id":"lodash@3.9.3","_shasum":"0159e86832feffc6d61d852b12a953b99496bd32","_from":"lodash@3.9.3","_npmVersion":"2.10.1","_nodeVersion":"2.0.2","_npmUser":{"name":"jdalton","email":"john.david.dalton@gmail.com"},"maintainers":[{"name":"jdalton","email":"john.david.dalton@gmail.com"},{"name":"mathias","email":"mathias@qiwi.be"},{"name":"phated","email":"blaine@iceddev.com"},{"name":"kitcambridge","email":"github@kitcambridge.be"},{"name":"d10","email":"demoneaux@gmail.com"}],"dist":{"shasum":"0159e86832feffc6d61d852b12a953b99496bd32","tarball":"http://registry.npmjs.org/lodash/-/lodash-3.9.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/lodash/-/lodash-3.9.3.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/camelCase.js","id":"lodash/string/camelCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/capitalize.js","id":"lodash/string/capitalize.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/deburr.js","id":"lodash/string/deburr.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/deburrLetter.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/endsWith.js","id":"lodash/string/endsWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/escape.js","id":"lodash/string/escape.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/escapeHtmlChar.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/escapeRegExp.js","id":"lodash/string/escapeRegExp.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/kebabCase.js","id":"lodash/string/kebabCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/pad.js","id":"lodash/string/pad.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPadding.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/padLeft.js","id":"lodash/string/padLeft.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPadDir.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/padRight.js","id":"lodash/string/padRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPadDir.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/parseInt.js","id":"lodash/string/parseInt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js","lodash/string/trim.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/repeat.js","id":"lodash/string/repeat.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/snakeCase.js","id":"lodash/string/snakeCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/startCase.js","id":"lodash/string/startCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/startsWith.js","id":"lodash/string/startsWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/template.js","id":"lodash/string/template.js","options":{},"isModule":true,"requiredModules":["lodash/internal/assignOwnDefaults.js","lodash/internal/assignWith.js","lodash/utility/attempt.js","lodash/internal/baseAssign.js","lodash/internal/baseToString.js","lodash/internal/baseValues.js","lodash/internal/escapeStringChar.js","lodash/lang/isError.js","lodash/internal/isIterateeCall.js","lodash/object/keys.js","lodash/internal/reInterpolate.js","lodash/string/templateSettings.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/templateSettings.js","id":"lodash/string/templateSettings.js","options":{},"isModule":true,"requiredModules":["lodash/string/escape.js","lodash/internal/reEscape.js","lodash/internal/reEvaluate.js","lodash/internal/reInterpolate.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/trim.js","id":"lodash/string/trim.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsLeftIndex.js","lodash/internal/charsRightIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedLeftIndex.js","lodash/internal/trimmedRightIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/trimLeft.js","id":"lodash/string/trimLeft.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsLeftIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedLeftIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/trimRight.js","id":"lodash/string/trimRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsRightIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedRightIndex.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/trunc.js","id":"lodash/string/trunc.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/isIterateeCall.js","lodash/lang/isObject.js","lodash/lang/isRegExp.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/unescape.js","id":"lodash/string/unescape.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/unescapeHtmlChar.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string/words.js","id":"lodash/string/words.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/string.js","id":"lodash/string.js","options":{},"isModule":true,"requiredModules":["lodash/string/camelCase.js","lodash/string/capitalize.js","lodash/string/deburr.js","lodash/string/endsWith.js","lodash/string/escape.js","lodash/string/escapeRegExp.js","lodash/string/kebabCase.js","lodash/string/pad.js","lodash/string/padLeft.js","lodash/string/padRight.js","lodash/string/parseInt.js","lodash/string/repeat.js","lodash/string/snakeCase.js","lodash/string/startCase.js","lodash/string/startsWith.js","lodash/string/template.js","lodash/string/templateSettings.js","lodash/string/trim.js","lodash/string/trimLeft.js","lodash/string/trimRight.js","lodash/string/trunc.js","lodash/string/unescape.js","lodash/string/words.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/support.js","id":"lodash/support.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/attempt.js","id":"lodash/utility/attempt.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isError.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/callback.js","id":"lodash/utility/callback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/isIterateeCall.js","lodash/internal/isObjectLike.js","lodash/utility/matches.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/constant.js","id":"lodash/utility/constant.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/identity.js","id":"lodash/utility/identity.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/iteratee.js","id":"lodash/utility/iteratee.js","options":{},"isModule":true,"requiredModules":["lodash/utility/callback.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/matches.js","id":"lodash/utility/matches.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/baseMatches.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/matchesProperty.js","id":"lodash/utility/matchesProperty.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/baseMatchesProperty.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/method.js","id":"lodash/utility/method.js","options":{},"isModule":true,"requiredModules":["lodash/internal/invokePath.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/methodOf.js","id":"lodash/utility/methodOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/invokePath.js","lodash/function/restParam.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/mixin.js","id":"lodash/utility/mixin.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/baseFunctions.js","lodash/lang/isFunction.js","lodash/lang/isObject.js","lodash/object/keys.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/noop.js","id":"lodash/utility/noop.js","options":{},"isModule":true,"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/property.js","id":"lodash/utility/property.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseProperty.js","lodash/internal/basePropertyDeep.js","lodash/internal/isKey.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/propertyOf.js","id":"lodash/utility/propertyOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/range.js","id":"lodash/utility/range.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/times.js","id":"lodash/utility/times.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility/uniqueId.js","id":"lodash/utility/uniqueId.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/lodash/utility.js","id":"lodash/utility.js","options":{},"isModule":true,"requiredModules":["lodash/utility/attempt.js","lodash/utility/callback.js","lodash/utility/constant.js","lodash/utility/identity.js","lodash/utility/iteratee.js","lodash/utility/matches.js","lodash/utility/matchesProperty.js","lodash/utility/method.js","lodash/utility/methodOf.js","lodash/utility/mixin.js","lodash/utility/noop.js","lodash/utility/property.js","lodash/utility/propertyOf.js","lodash/utility/range.js","lodash/utility/times.js","lodash/utility/uniqueId.js"],"mtime":1432604870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/bin/cli.js","id":"mathjs/bin/cli.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js","fs","readline"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/dist/math.js","id":"mathjs/dist/math.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/dist/math.min.js","id":"mathjs/dist/math.min.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/basic_usage.js","id":"mathjs/examples/basic_usage.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/bignumbers.js","id":"mathjs/examples/bignumbers.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/browser/webworkers/worker.js","id":"mathjs/examples/browser/webworkers/worker.js","options":{},"isModule":true,"mtime":1404217515000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/chaining.js","id":"mathjs/examples/chaining.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/complex_numbers.js","id":"mathjs/examples/complex_numbers.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1404217515000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/custom_argument_parsing.js","id":"mathjs/examples/custom_argument_parsing.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/expression_trees.js","id":"mathjs/examples/expression_trees.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/expressions.js","id":"mathjs/examples/expressions.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1419589896000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/function_transform.js","id":"mathjs/examples/function_transform.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/import.js","id":"mathjs/examples/import.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/matrices.js","id":"mathjs/examples/matrices.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/serialization.js","id":"mathjs/examples/serialization.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/examples/units.js","id":"mathjs/examples/units.js","options":{},"isModule":true,"requiredModules":["mathjs/index.js"],"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/index.js","id":"mathjs/index.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/math.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/chaining/Chain.js","id":"mathjs/lib/chaining/Chain.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/string.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/constants.js","id":"mathjs/lib/constants.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/object.js","mathjs/lib/util/bignumber.js","mathjs/lib/type/Complex.js","mathjs/lib/util/array.js","mathjs/lib/version.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/error/ArgumentsError.js","id":"mathjs/lib/error/ArgumentsError.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/error/DimensionError.js","id":"mathjs/lib/error/DimensionError.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/error/index.js","id":"mathjs/lib/error/index.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/error/ArgumentsError.js","mathjs/lib/error/DimensionError.js","mathjs/lib/error/IndexError.js","mathjs/lib/error/UnsupportedTypeError.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/error/IndexError.js","id":"mathjs/lib/error/IndexError.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/error/UnsupportedTypeError.js","id":"mathjs/lib/error/UnsupportedTypeError.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/e.js","id":"mathjs/lib/expression/docs/constants/e.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/false.js","id":"mathjs/lib/expression/docs/constants/false.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/i.js","id":"mathjs/lib/expression/docs/constants/i.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/Infinity.js","id":"mathjs/lib/expression/docs/constants/Infinity.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/LN10.js","id":"mathjs/lib/expression/docs/constants/LN10.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/LN2.js","id":"mathjs/lib/expression/docs/constants/LN2.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/LOG10E.js","id":"mathjs/lib/expression/docs/constants/LOG10E.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/LOG2E.js","id":"mathjs/lib/expression/docs/constants/LOG2E.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/NaN.js","id":"mathjs/lib/expression/docs/constants/NaN.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/null.js","id":"mathjs/lib/expression/docs/constants/null.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/phi.js","id":"mathjs/lib/expression/docs/constants/phi.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/pi.js","id":"mathjs/lib/expression/docs/constants/pi.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/SQRT1_2.js","id":"mathjs/lib/expression/docs/constants/SQRT1_2.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/SQRT2.js","id":"mathjs/lib/expression/docs/constants/SQRT2.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/tau.js","id":"mathjs/lib/expression/docs/constants/tau.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/true.js","id":"mathjs/lib/expression/docs/constants/true.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/constants/version.js","id":"mathjs/lib/expression/docs/constants/version.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/abs.js","id":"mathjs/lib/expression/docs/function/arithmetic/abs.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/add.js","id":"mathjs/lib/expression/docs/function/arithmetic/add.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/ceil.js","id":"mathjs/lib/expression/docs/function/arithmetic/ceil.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/cube.js","id":"mathjs/lib/expression/docs/function/arithmetic/cube.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/divide.js","id":"mathjs/lib/expression/docs/function/arithmetic/divide.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/dotDivide.js","id":"mathjs/lib/expression/docs/function/arithmetic/dotDivide.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/dotMultiply.js","id":"mathjs/lib/expression/docs/function/arithmetic/dotMultiply.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/dotPow.js","id":"mathjs/lib/expression/docs/function/arithmetic/dotPow.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/exp.js","id":"mathjs/lib/expression/docs/function/arithmetic/exp.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/fix.js","id":"mathjs/lib/expression/docs/function/arithmetic/fix.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/floor.js","id":"mathjs/lib/expression/docs/function/arithmetic/floor.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/gcd.js","id":"mathjs/lib/expression/docs/function/arithmetic/gcd.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/lcm.js","id":"mathjs/lib/expression/docs/function/arithmetic/lcm.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/log.js","id":"mathjs/lib/expression/docs/function/arithmetic/log.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/log10.js","id":"mathjs/lib/expression/docs/function/arithmetic/log10.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/mod.js","id":"mathjs/lib/expression/docs/function/arithmetic/mod.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/multiply.js","id":"mathjs/lib/expression/docs/function/arithmetic/multiply.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/norm.js","id":"mathjs/lib/expression/docs/function/arithmetic/norm.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/nthRoot.js","id":"mathjs/lib/expression/docs/function/arithmetic/nthRoot.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/pow.js","id":"mathjs/lib/expression/docs/function/arithmetic/pow.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/round.js","id":"mathjs/lib/expression/docs/function/arithmetic/round.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/sign.js","id":"mathjs/lib/expression/docs/function/arithmetic/sign.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/sqrt.js","id":"mathjs/lib/expression/docs/function/arithmetic/sqrt.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/square.js","id":"mathjs/lib/expression/docs/function/arithmetic/square.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/subtract.js","id":"mathjs/lib/expression/docs/function/arithmetic/subtract.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/unaryMinus.js","id":"mathjs/lib/expression/docs/function/arithmetic/unaryMinus.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/unaryPlus.js","id":"mathjs/lib/expression/docs/function/arithmetic/unaryPlus.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/arithmetic/xgcd.js","id":"mathjs/lib/expression/docs/function/arithmetic/xgcd.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/bitwise/bitAnd.js","id":"mathjs/lib/expression/docs/function/bitwise/bitAnd.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/bitwise/bitNot.js","id":"mathjs/lib/expression/docs/function/bitwise/bitNot.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/bitwise/bitOr.js","id":"mathjs/lib/expression/docs/function/bitwise/bitOr.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/bitwise/bitXor.js","id":"mathjs/lib/expression/docs/function/bitwise/bitXor.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/bitwise/leftShift.js","id":"mathjs/lib/expression/docs/function/bitwise/leftShift.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/bitwise/rightArithShift.js","id":"mathjs/lib/expression/docs/function/bitwise/rightArithShift.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/bitwise/rightLogShift.js","id":"mathjs/lib/expression/docs/function/bitwise/rightLogShift.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/complex/arg.js","id":"mathjs/lib/expression/docs/function/complex/arg.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/complex/conj.js","id":"mathjs/lib/expression/docs/function/complex/conj.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/complex/im.js","id":"mathjs/lib/expression/docs/function/complex/im.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/complex/re.js","id":"mathjs/lib/expression/docs/function/complex/re.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/construction/bignumber.js","id":"mathjs/lib/expression/docs/function/construction/bignumber.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/construction/boolean.js","id":"mathjs/lib/expression/docs/function/construction/boolean.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/construction/complex.js","id":"mathjs/lib/expression/docs/function/construction/complex.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/construction/index.js","id":"mathjs/lib/expression/docs/function/construction/index.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/construction/matrix.js","id":"mathjs/lib/expression/docs/function/construction/matrix.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/construction/number.js","id":"mathjs/lib/expression/docs/function/construction/number.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/construction/string.js","id":"mathjs/lib/expression/docs/function/construction/string.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/construction/unit.js","id":"mathjs/lib/expression/docs/function/construction/unit.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/expression/eval.js","id":"mathjs/lib/expression/docs/function/expression/eval.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/expression/help.js","id":"mathjs/lib/expression/docs/function/expression/help.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/logical/and.js","id":"mathjs/lib/expression/docs/function/logical/and.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/logical/not.js","id":"mathjs/lib/expression/docs/function/logical/not.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/logical/or.js","id":"mathjs/lib/expression/docs/function/logical/or.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/logical/xor.js","id":"mathjs/lib/expression/docs/function/logical/xor.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/concat.js","id":"mathjs/lib/expression/docs/function/matrix/concat.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/cross.js","id":"mathjs/lib/expression/docs/function/matrix/cross.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/det.js","id":"mathjs/lib/expression/docs/function/matrix/det.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/diag.js","id":"mathjs/lib/expression/docs/function/matrix/diag.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/dot.js","id":"mathjs/lib/expression/docs/function/matrix/dot.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/eye.js","id":"mathjs/lib/expression/docs/function/matrix/eye.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/flatten.js","id":"mathjs/lib/expression/docs/function/matrix/flatten.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/inv.js","id":"mathjs/lib/expression/docs/function/matrix/inv.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/ones.js","id":"mathjs/lib/expression/docs/function/matrix/ones.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/range.js","id":"mathjs/lib/expression/docs/function/matrix/range.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/resize.js","id":"mathjs/lib/expression/docs/function/matrix/resize.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/size.js","id":"mathjs/lib/expression/docs/function/matrix/size.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/squeeze.js","id":"mathjs/lib/expression/docs/function/matrix/squeeze.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/subset.js","id":"mathjs/lib/expression/docs/function/matrix/subset.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/trace.js","id":"mathjs/lib/expression/docs/function/matrix/trace.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/transpose.js","id":"mathjs/lib/expression/docs/function/matrix/transpose.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/matrix/zeros.js","id":"mathjs/lib/expression/docs/function/matrix/zeros.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/probability/combinations.js","id":"mathjs/lib/expression/docs/function/probability/combinations.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/probability/distribution.js","id":"mathjs/lib/expression/docs/function/probability/distribution.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/probability/factorial.js","id":"mathjs/lib/expression/docs/function/probability/factorial.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/probability/gamma.js","id":"mathjs/lib/expression/docs/function/probability/gamma.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/probability/permutations.js","id":"mathjs/lib/expression/docs/function/probability/permutations.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/probability/pickRandom.js","id":"mathjs/lib/expression/docs/function/probability/pickRandom.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/probability/random.js","id":"mathjs/lib/expression/docs/function/probability/random.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/probability/randomInt.js","id":"mathjs/lib/expression/docs/function/probability/randomInt.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/relational/compare.js","id":"mathjs/lib/expression/docs/function/relational/compare.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/relational/deepEqual.js","id":"mathjs/lib/expression/docs/function/relational/deepEqual.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/relational/equal.js","id":"mathjs/lib/expression/docs/function/relational/equal.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/relational/larger.js","id":"mathjs/lib/expression/docs/function/relational/larger.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/relational/largerEq.js","id":"mathjs/lib/expression/docs/function/relational/largerEq.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/relational/smaller.js","id":"mathjs/lib/expression/docs/function/relational/smaller.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/relational/smallerEq.js","id":"mathjs/lib/expression/docs/function/relational/smallerEq.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/relational/unequal.js","id":"mathjs/lib/expression/docs/function/relational/unequal.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/statistics/max.js","id":"mathjs/lib/expression/docs/function/statistics/max.js","options":{},"isModule":true,"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/statistics/mean.js","id":"mathjs/lib/expression/docs/function/statistics/mean.js","options":{},"isModule":true,"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/statistics/median.js","id":"mathjs/lib/expression/docs/function/statistics/median.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/statistics/min.js","id":"mathjs/lib/expression/docs/function/statistics/min.js","options":{},"isModule":true,"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/statistics/prod.js","id":"mathjs/lib/expression/docs/function/statistics/prod.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/statistics/std.js","id":"mathjs/lib/expression/docs/function/statistics/std.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/statistics/sum.js","id":"mathjs/lib/expression/docs/function/statistics/sum.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/statistics/var.js","id":"mathjs/lib/expression/docs/function/statistics/var.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/acos.js","id":"mathjs/lib/expression/docs/function/trigonometry/acos.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/acosh.js","id":"mathjs/lib/expression/docs/function/trigonometry/acosh.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/acot.js","id":"mathjs/lib/expression/docs/function/trigonometry/acot.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/acoth.js","id":"mathjs/lib/expression/docs/function/trigonometry/acoth.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/acsc.js","id":"mathjs/lib/expression/docs/function/trigonometry/acsc.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/acsch.js","id":"mathjs/lib/expression/docs/function/trigonometry/acsch.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/asec.js","id":"mathjs/lib/expression/docs/function/trigonometry/asec.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/asech.js","id":"mathjs/lib/expression/docs/function/trigonometry/asech.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/asin.js","id":"mathjs/lib/expression/docs/function/trigonometry/asin.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/asinh.js","id":"mathjs/lib/expression/docs/function/trigonometry/asinh.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/atan.js","id":"mathjs/lib/expression/docs/function/trigonometry/atan.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/atan2.js","id":"mathjs/lib/expression/docs/function/trigonometry/atan2.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/atanh.js","id":"mathjs/lib/expression/docs/function/trigonometry/atanh.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/cos.js","id":"mathjs/lib/expression/docs/function/trigonometry/cos.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/cosh.js","id":"mathjs/lib/expression/docs/function/trigonometry/cosh.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/cot.js","id":"mathjs/lib/expression/docs/function/trigonometry/cot.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/coth.js","id":"mathjs/lib/expression/docs/function/trigonometry/coth.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/csc.js","id":"mathjs/lib/expression/docs/function/trigonometry/csc.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/csch.js","id":"mathjs/lib/expression/docs/function/trigonometry/csch.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/sec.js","id":"mathjs/lib/expression/docs/function/trigonometry/sec.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/sech.js","id":"mathjs/lib/expression/docs/function/trigonometry/sech.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/sin.js","id":"mathjs/lib/expression/docs/function/trigonometry/sin.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/sinh.js","id":"mathjs/lib/expression/docs/function/trigonometry/sinh.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/tan.js","id":"mathjs/lib/expression/docs/function/trigonometry/tan.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/trigonometry/tanh.js","id":"mathjs/lib/expression/docs/function/trigonometry/tanh.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/units/to.js","id":"mathjs/lib/expression/docs/function/units/to.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/clone.js","id":"mathjs/lib/expression/docs/function/utils/clone.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/filter.js","id":"mathjs/lib/expression/docs/function/utils/filter.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/forEach.js","id":"mathjs/lib/expression/docs/function/utils/forEach.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/format.js","id":"mathjs/lib/expression/docs/function/utils/format.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/import.js","id":"mathjs/lib/expression/docs/function/utils/import.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/map.js","id":"mathjs/lib/expression/docs/function/utils/map.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/print.js","id":"mathjs/lib/expression/docs/function/utils/print.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/sort.js","id":"mathjs/lib/expression/docs/function/utils/sort.js","options":{},"isModule":true,"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/function/utils/typeof.js","id":"mathjs/lib/expression/docs/function/utils/typeof.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/docs/index.js","id":"mathjs/lib/expression/docs/index.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/docs/constants/e.js","mathjs/lib/expression/docs/constants/false.js","mathjs/lib/expression/docs/constants/i.js","mathjs/lib/expression/docs/constants/Infinity.js","mathjs/lib/expression/docs/constants/LN2.js","mathjs/lib/expression/docs/constants/LN10.js","mathjs/lib/expression/docs/constants/LOG2E.js","mathjs/lib/expression/docs/constants/LOG10E.js","mathjs/lib/expression/docs/constants/NaN.js","mathjs/lib/expression/docs/constants/null.js","mathjs/lib/expression/docs/constants/pi.js","mathjs/lib/expression/docs/constants/phi.js","mathjs/lib/expression/docs/constants/SQRT1_2.js","mathjs/lib/expression/docs/constants/SQRT2.js","mathjs/lib/expression/docs/constants/tau.js","mathjs/lib/expression/docs/constants/true.js","mathjs/lib/expression/docs/constants/version.js","mathjs/lib/expression/docs/function/arithmetic/abs.js","mathjs/lib/expression/docs/function/arithmetic/add.js","mathjs/lib/expression/docs/function/arithmetic/ceil.js","mathjs/lib/expression/docs/function/arithmetic/cube.js","mathjs/lib/expression/docs/function/arithmetic/divide.js","mathjs/lib/expression/docs/function/arithmetic/dotDivide.js","mathjs/lib/expression/docs/function/arithmetic/dotMultiply.js","mathjs/lib/expression/docs/function/arithmetic/dotPow.js","mathjs/lib/expression/docs/function/arithmetic/exp.js","mathjs/lib/expression/docs/function/arithmetic/fix.js","mathjs/lib/expression/docs/function/arithmetic/floor.js","mathjs/lib/expression/docs/function/arithmetic/gcd.js","mathjs/lib/expression/docs/function/arithmetic/lcm.js","mathjs/lib/expression/docs/function/arithmetic/log.js","mathjs/lib/expression/docs/function/arithmetic/log10.js","mathjs/lib/expression/docs/function/arithmetic/mod.js","mathjs/lib/expression/docs/function/arithmetic/multiply.js","mathjs/lib/expression/docs/function/arithmetic/norm.js","mathjs/lib/expression/docs/function/arithmetic/nthRoot.js","mathjs/lib/expression/docs/function/arithmetic/pow.js","mathjs/lib/expression/docs/function/arithmetic/round.js","mathjs/lib/expression/docs/function/arithmetic/sign.js","mathjs/lib/expression/docs/function/arithmetic/sqrt.js","mathjs/lib/expression/docs/function/arithmetic/square.js","mathjs/lib/expression/docs/function/arithmetic/subtract.js","mathjs/lib/expression/docs/function/arithmetic/unaryMinus.js","mathjs/lib/expression/docs/function/arithmetic/unaryPlus.js","mathjs/lib/expression/docs/function/arithmetic/xgcd.js","mathjs/lib/expression/docs/function/bitwise/bitAnd.js","mathjs/lib/expression/docs/function/bitwise/bitNot.js","mathjs/lib/expression/docs/function/bitwise/bitOr.js","mathjs/lib/expression/docs/function/bitwise/bitXor.js","mathjs/lib/expression/docs/function/bitwise/leftShift.js","mathjs/lib/expression/docs/function/bitwise/rightArithShift.js","mathjs/lib/expression/docs/function/bitwise/rightLogShift.js","mathjs/lib/expression/docs/function/complex/arg.js","mathjs/lib/expression/docs/function/complex/conj.js","mathjs/lib/expression/docs/function/complex/re.js","mathjs/lib/expression/docs/function/complex/im.js","mathjs/lib/expression/docs/function/construction/bignumber.js","mathjs/lib/expression/docs/function/construction/boolean.js","mathjs/lib/expression/docs/function/construction/complex.js","mathjs/lib/expression/docs/function/construction/index.js","mathjs/lib/expression/docs/function/construction/matrix.js","mathjs/lib/expression/docs/function/construction/number.js","mathjs/lib/expression/docs/function/construction/string.js","mathjs/lib/expression/docs/function/construction/unit.js","mathjs/lib/expression/docs/function/expression/eval.js","mathjs/lib/expression/docs/function/expression/help.js","mathjs/lib/expression/docs/function/logical/and.js","mathjs/lib/expression/docs/function/logical/not.js","mathjs/lib/expression/docs/function/logical/or.js","mathjs/lib/expression/docs/function/logical/xor.js","mathjs/lib/expression/docs/function/matrix/concat.js","mathjs/lib/expression/docs/function/matrix/cross.js","mathjs/lib/expression/docs/function/matrix/det.js","mathjs/lib/expression/docs/function/matrix/diag.js","mathjs/lib/expression/docs/function/matrix/dot.js","mathjs/lib/expression/docs/function/matrix/eye.js","mathjs/lib/expression/docs/function/matrix/flatten.js","mathjs/lib/expression/docs/function/matrix/inv.js","mathjs/lib/expression/docs/function/matrix/ones.js","mathjs/lib/expression/docs/function/matrix/range.js","mathjs/lib/expression/docs/function/matrix/resize.js","mathjs/lib/expression/docs/function/matrix/size.js","mathjs/lib/expression/docs/function/matrix/squeeze.js","mathjs/lib/expression/docs/function/matrix/subset.js","mathjs/lib/expression/docs/function/matrix/trace.js","mathjs/lib/expression/docs/function/matrix/transpose.js","mathjs/lib/expression/docs/function/matrix/zeros.js","mathjs/lib/expression/docs/function/probability/combinations.js","mathjs/lib/expression/docs/function/probability/factorial.js","mathjs/lib/expression/docs/function/probability/gamma.js","mathjs/lib/expression/docs/function/probability/permutations.js","mathjs/lib/expression/docs/function/probability/pickRandom.js","mathjs/lib/expression/docs/function/probability/random.js","mathjs/lib/expression/docs/function/probability/randomInt.js","mathjs/lib/expression/docs/function/relational/compare.js","mathjs/lib/expression/docs/function/relational/deepEqual.js","mathjs/lib/expression/docs/function/relational/equal.js","mathjs/lib/expression/docs/function/relational/larger.js","mathjs/lib/expression/docs/function/relational/largerEq.js","mathjs/lib/expression/docs/function/relational/smaller.js","mathjs/lib/expression/docs/function/relational/smallerEq.js","mathjs/lib/expression/docs/function/relational/unequal.js","mathjs/lib/expression/docs/function/statistics/max.js","mathjs/lib/expression/docs/function/statistics/mean.js","mathjs/lib/expression/docs/function/statistics/median.js","mathjs/lib/expression/docs/function/statistics/min.js","mathjs/lib/expression/docs/function/statistics/prod.js","mathjs/lib/expression/docs/function/statistics/std.js","mathjs/lib/expression/docs/function/statistics/sum.js","mathjs/lib/expression/docs/function/statistics/var.js","mathjs/lib/expression/docs/function/trigonometry/acos.js","mathjs/lib/expression/docs/function/trigonometry/acosh.js","mathjs/lib/expression/docs/function/trigonometry/acot.js","mathjs/lib/expression/docs/function/trigonometry/acoth.js","mathjs/lib/expression/docs/function/trigonometry/acsc.js","mathjs/lib/expression/docs/function/trigonometry/acsch.js","mathjs/lib/expression/docs/function/trigonometry/asec.js","mathjs/lib/expression/docs/function/trigonometry/asech.js","mathjs/lib/expression/docs/function/trigonometry/asin.js","mathjs/lib/expression/docs/function/trigonometry/asinh.js","mathjs/lib/expression/docs/function/trigonometry/atan.js","mathjs/lib/expression/docs/function/trigonometry/atanh.js","mathjs/lib/expression/docs/function/trigonometry/atan2.js","mathjs/lib/expression/docs/function/trigonometry/cos.js","mathjs/lib/expression/docs/function/trigonometry/cosh.js","mathjs/lib/expression/docs/function/trigonometry/cot.js","mathjs/lib/expression/docs/function/trigonometry/coth.js","mathjs/lib/expression/docs/function/trigonometry/csc.js","mathjs/lib/expression/docs/function/trigonometry/csch.js","mathjs/lib/expression/docs/function/trigonometry/sec.js","mathjs/lib/expression/docs/function/trigonometry/sech.js","mathjs/lib/expression/docs/function/trigonometry/sin.js","mathjs/lib/expression/docs/function/trigonometry/sinh.js","mathjs/lib/expression/docs/function/trigonometry/tan.js","mathjs/lib/expression/docs/function/trigonometry/tanh.js","mathjs/lib/expression/docs/function/units/to.js","mathjs/lib/expression/docs/function/utils/clone.js","mathjs/lib/expression/docs/function/utils/map.js","mathjs/lib/expression/docs/function/utils/filter.js","mathjs/lib/expression/docs/function/utils/forEach.js","mathjs/lib/expression/docs/function/utils/format.js","mathjs/lib/expression/docs/function/utils/import.js","mathjs/lib/expression/docs/function/utils/sort.js","mathjs/lib/expression/docs/function/utils/typeof.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/keywords.js","id":"mathjs/lib/expression/keywords.js","options":{},"isModule":true,"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/ArrayNode.js","id":"mathjs/lib/expression/node/ArrayNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/util/object.js","mathjs/lib/util/string.js","mathjs/lib/type/collection.js","mathjs/lib/util/index.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/AssignmentNode.js","id":"mathjs/lib/expression/node/AssignmentNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ArrayNode.js","mathjs/lib/expression/keywords.js","mathjs/lib/util/latex.js","mathjs/lib/util/string.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/BlockNode.js","id":"mathjs/lib/expression/node/BlockNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/type/ResultSet.js","mathjs/lib/util/boolean.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/ConditionalNode.js","id":"mathjs/lib/expression/node/ConditionalNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/util/latex.js","mathjs/lib/type/BigNumber.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/util/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/ConstantNode.js","id":"mathjs/lib/expression/node/ConstantNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/type/BigNumber.js","mathjs/lib/util/types.js","mathjs/lib/util/string.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/FunctionAssignmentNode.js","id":"mathjs/lib/expression/node/FunctionAssignmentNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/expression/keywords.js","mathjs/lib/util/latex.js","mathjs/lib/util/string.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/FunctionNode.js","id":"mathjs/lib/expression/node/FunctionNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/util/latex.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/index.js","id":"mathjs/lib/expression/node/index.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/ArrayNode.js","mathjs/lib/expression/node/AssignmentNode.js","mathjs/lib/expression/node/BlockNode.js","mathjs/lib/expression/node/ConditionalNode.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/IndexNode.js","mathjs/lib/expression/node/FunctionAssignmentNode.js","mathjs/lib/expression/node/FunctionNode.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/OperatorNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/UpdateNode.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/IndexNode.js","id":"mathjs/lib/expression/node/IndexNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/type/BigNumber.js","mathjs/lib/type/Range.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/Node.js","id":"mathjs/lib/expression/node/Node.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/keywords.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/OperatorNode.js","id":"mathjs/lib/expression/node/OperatorNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/FunctionNode.js","mathjs/lib/util/latex.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/RangeNode.js","id":"mathjs/lib/expression/node/RangeNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/SymbolNode.js","id":"mathjs/lib/expression/node/SymbolNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/type/Unit.js","mathjs/lib/util/latex.js","mathjs/lib/util/string.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/node/UpdateNode.js","id":"mathjs/lib/expression/node/UpdateNode.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/IndexNode.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/parse.js","id":"mathjs/lib/expression/parse.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/error/ArgumentsError.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js","mathjs/lib/expression/node/ArrayNode.js","mathjs/lib/expression/node/AssignmentNode.js","mathjs/lib/expression/node/BlockNode.js","mathjs/lib/expression/node/ConditionalNode.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/FunctionAssignmentNode.js","mathjs/lib/expression/node/IndexNode.js","mathjs/lib/expression/node/OperatorNode.js","mathjs/lib/expression/node/FunctionNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/UpdateNode.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/Parser.js","id":"mathjs/lib/expression/Parser.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/parse.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/concat.transform.js","id":"mathjs/lib/expression/transform/concat.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/BigNumber.js","mathjs/lib/expression/transform/error.transform.js","mathjs/lib/util/number.js","mathjs/lib/util/array.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/error.transform.js","id":"mathjs/lib/expression/transform/error.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/error/DimensionError.js","mathjs/lib/error/IndexError.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/filter.transform.js","id":"mathjs/lib/expression/transform/filter.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/util/boolean.js","mathjs/lib/util/array.js","mathjs/lib/error/ArgumentsError.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/forEach.transform.js","id":"mathjs/lib/expression/transform/forEach.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/index.transform.js","id":"mathjs/lib/expression/transform/index.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/BigNumber.js","mathjs/lib/type/Range.js","mathjs/lib/type/Index.js","mathjs/lib/type/Matrix.js","mathjs/lib/util/number.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/map.transform.js","id":"mathjs/lib/expression/transform/map.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/type/BigNumber.js","mathjs/lib/type/Range.js","mathjs/lib/type/Index.js","mathjs/lib/util/number.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/max.transform.js","id":"mathjs/lib/expression/transform/max.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/BigNumber.js","mathjs/lib/expression/transform/error.transform.js","mathjs/lib/util/number.js","mathjs/lib/type/collection.js","mathjs/lib/util/array.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/mean.transform.js","id":"mathjs/lib/expression/transform/mean.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/BigNumber.js","mathjs/lib/expression/transform/error.transform.js","mathjs/lib/util/number.js","mathjs/lib/type/collection.js","mathjs/lib/util/array.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/min.transform.js","id":"mathjs/lib/expression/transform/min.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/BigNumber.js","mathjs/lib/expression/transform/error.transform.js","mathjs/lib/util/number.js","mathjs/lib/type/collection.js","mathjs/lib/util/array.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/range.transform.js","id":"mathjs/lib/expression/transform/range.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/boolean.js","mathjs/lib/util/array.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/expression/transform/subset.transform.js","id":"mathjs/lib/expression/transform/subset.transform.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/transform/error.transform.js","mathjs/lib/util/boolean.js","mathjs/lib/util/array.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/_divide.js","id":"mathjs/lib/function/arithmetic/_divide.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/abs.js","id":"mathjs/lib/function/arithmetic/abs.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/add.js","id":"mathjs/lib/function/arithmetic/add.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/ceil.js","id":"mathjs/lib/function/arithmetic/ceil.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/cube.js","id":"mathjs/lib/function/arithmetic/cube.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/divide.js","id":"mathjs/lib/function/arithmetic/divide.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/dotDivide.js","id":"mathjs/lib/function/arithmetic/dotDivide.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/dotMultiply.js","id":"mathjs/lib/function/arithmetic/dotMultiply.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/dotPow.js","id":"mathjs/lib/function/arithmetic/dotPow.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/exp.js","id":"mathjs/lib/function/arithmetic/exp.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/fix.js","id":"mathjs/lib/function/arithmetic/fix.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/floor.js","id":"mathjs/lib/function/arithmetic/floor.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/gcd.js","id":"mathjs/lib/function/arithmetic/gcd.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1423326456000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/lcm.js","id":"mathjs/lib/function/arithmetic/lcm.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1423326456000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/log.js","id":"mathjs/lib/function/arithmetic/log.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/log10.js","id":"mathjs/lib/function/arithmetic/log10.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/mod.js","id":"mathjs/lib/function/arithmetic/mod.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1423326456000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/multiply.js","id":"mathjs/lib/function/arithmetic/multiply.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/norm.js","id":"mathjs/lib/function/arithmetic/norm.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/util/array.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/nthRoot.js","id":"mathjs/lib/function/arithmetic/nthRoot.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1423326456000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/pow.js","id":"mathjs/lib/function/arithmetic/pow.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/round.js","id":"mathjs/lib/function/arithmetic/round.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/sign.js","id":"mathjs/lib/function/arithmetic/sign.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/sqrt.js","id":"mathjs/lib/function/arithmetic/sqrt.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/square.js","id":"mathjs/lib/function/arithmetic/square.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/subtract.js","id":"mathjs/lib/function/arithmetic/subtract.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/unaryMinus.js","id":"mathjs/lib/function/arithmetic/unaryMinus.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/unaryPlus.js","id":"mathjs/lib/function/arithmetic/unaryPlus.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/arithmetic/xgcd.js","id":"mathjs/lib/function/arithmetic/xgcd.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/bitwise/bitAnd.js","id":"mathjs/lib/function/bitwise/bitAnd.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/bitwise/bitNot.js","id":"mathjs/lib/function/bitwise/bitNot.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/bitwise/bitOr.js","id":"mathjs/lib/function/bitwise/bitOr.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/bitwise/bitXor.js","id":"mathjs/lib/function/bitwise/bitXor.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/bitwise/leftShift.js","id":"mathjs/lib/function/bitwise/leftShift.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/bitwise/rightArithShift.js","id":"mathjs/lib/function/bitwise/rightArithShift.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/bitwise/rightLogShift.js","id":"mathjs/lib/function/bitwise/rightLogShift.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/complex/arg.js","id":"mathjs/lib/function/complex/arg.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/complex/conj.js","id":"mathjs/lib/function/complex/conj.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/complex/im.js","id":"mathjs/lib/function/complex/im.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/complex/re.js","id":"mathjs/lib/function/complex/re.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/bignumber.js","id":"mathjs/lib/function/construction/bignumber.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/boolean.js","id":"mathjs/lib/function/construction/boolean.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/chain.js","id":"mathjs/lib/function/construction/chain.js","options":{},"isModule":true,"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/complex.js","id":"mathjs/lib/function/construction/complex.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/index.js","id":"mathjs/lib/function/construction/index.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Index.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/matrix.js","id":"mathjs/lib/function/construction/matrix.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/number.js","id":"mathjs/lib/function/construction/number.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/parser.js","id":"mathjs/lib/function/construction/parser.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/Parser.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/string.js","id":"mathjs/lib/function/construction/string.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/construction/unit.js","id":"mathjs/lib/function/construction/unit.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/expression/compile.js","id":"mathjs/lib/function/expression/compile.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/expression/parse.js","mathjs/lib/type/collection.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/expression/eval.js","id":"mathjs/lib/function/expression/eval.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/expression/parse.js","mathjs/lib/type/collection.js"],"mtime":1407097285000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/expression/help.js","id":"mathjs/lib/function/expression/help.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Help.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/expression/parse.js","id":"mathjs/lib/function/expression/parse.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/parse.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/logical/and.js","id":"mathjs/lib/function/logical/and.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/logical/not.js","id":"mathjs/lib/function/logical/not.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/logical/or.js","id":"mathjs/lib/function/logical/or.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/logical/xor.js","id":"mathjs/lib/function/logical/xor.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/concat.js","id":"mathjs/lib/function/matrix/concat.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/BigNumber.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/cross.js","id":"mathjs/lib/function/matrix/cross.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/array.js","mathjs/lib/type/Matrix.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/det.js","id":"mathjs/lib/function/matrix/det.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/diag.js","id":"mathjs/lib/function/matrix/diag.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/dot.js","id":"mathjs/lib/function/matrix/dot.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/array.js","mathjs/lib/type/Matrix.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/eye.js","id":"mathjs/lib/function/matrix/eye.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/flatten.js","id":"mathjs/lib/function/matrix/flatten.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/inv.js","id":"mathjs/lib/function/matrix/inv.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/ones.js","id":"mathjs/lib/function/matrix/ones.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/range.js","id":"mathjs/lib/function/matrix/range.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/resize.js","id":"mathjs/lib/function/matrix/resize.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/size.js","id":"mathjs/lib/function/matrix/size.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/Matrix.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/squeeze.js","id":"mathjs/lib/function/matrix/squeeze.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/subset.js","id":"mathjs/lib/function/matrix/subset.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Index.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/trace.js","id":"mathjs/lib/function/matrix/trace.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/transpose.js","id":"mathjs/lib/function/matrix/transpose.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/matrix/zeros.js","id":"mathjs/lib/function/matrix/zeros.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/probability/combinations.js","id":"mathjs/lib/function/probability/combinations.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/probability/distribution.js","id":"mathjs/lib/function/probability/distribution.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/util/array.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/probability/factorial.js","id":"mathjs/lib/function/probability/factorial.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/collection.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/probability/gamma.js","id":"mathjs/lib/function/probability/gamma.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/probability/permutations.js","id":"mathjs/lib/function/probability/permutations.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/probability/pickRandom.js","id":"mathjs/lib/function/probability/pickRandom.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/function/probability/distribution.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/probability/random.js","id":"mathjs/lib/function/probability/random.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/function/probability/distribution.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/probability/randomInt.js","id":"mathjs/lib/function/probability/randomInt.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/function/probability/distribution.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/relational/compare.js","id":"mathjs/lib/function/relational/compare.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/relational/deepEqual.js","id":"mathjs/lib/function/relational/deepEqual.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/collection.js"],"mtime":1420278346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/relational/equal.js","id":"mathjs/lib/function/relational/equal.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/relational/larger.js","id":"mathjs/lib/function/relational/larger.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/relational/largerEq.js","id":"mathjs/lib/function/relational/largerEq.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/relational/smaller.js","id":"mathjs/lib/function/relational/smaller.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/relational/smallerEq.js","id":"mathjs/lib/function/relational/smallerEq.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/relational/unequal.js","id":"mathjs/lib/function/relational/unequal.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/statistics/max.js","id":"mathjs/lib/function/statistics/max.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1424984100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/statistics/mean.js","id":"mathjs/lib/function/statistics/mean.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js","mathjs/lib/util/array.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/statistics/median.js","id":"mathjs/lib/function/statistics/median.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js","mathjs/lib/util/number.js","mathjs/lib/util/array.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/statistics/min.js","id":"mathjs/lib/function/statistics/min.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/statistics/prod.js","id":"mathjs/lib/function/statistics/prod.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/statistics/std.js","id":"mathjs/lib/function/statistics/std.js","options":{},"isModule":true,"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/statistics/sum.js","id":"mathjs/lib/function/statistics/sum.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/statistics/var.js","id":"mathjs/lib/function/statistics/var.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js","mathjs/lib/type/collection.js","mathjs/lib/util/string.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/acos.js","id":"mathjs/lib/function/trigonometry/acos.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/acosh.js","id":"mathjs/lib/function/trigonometry/acosh.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/acot.js","id":"mathjs/lib/function/trigonometry/acot.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/acoth.js","id":"mathjs/lib/function/trigonometry/acoth.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/acsc.js","id":"mathjs/lib/function/trigonometry/acsc.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/acsch.js","id":"mathjs/lib/function/trigonometry/acsch.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/asec.js","id":"mathjs/lib/function/trigonometry/asec.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/asech.js","id":"mathjs/lib/function/trigonometry/asech.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/asin.js","id":"mathjs/lib/function/trigonometry/asin.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/asinh.js","id":"mathjs/lib/function/trigonometry/asinh.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/atan.js","id":"mathjs/lib/function/trigonometry/atan.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/atan2.js","id":"mathjs/lib/function/trigonometry/atan2.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/collection.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/atanh.js","id":"mathjs/lib/function/trigonometry/atanh.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/cos.js","id":"mathjs/lib/function/trigonometry/cos.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/cosh.js","id":"mathjs/lib/function/trigonometry/cosh.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/cot.js","id":"mathjs/lib/function/trigonometry/cot.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/coth.js","id":"mathjs/lib/function/trigonometry/coth.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/csc.js","id":"mathjs/lib/function/trigonometry/csc.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/csch.js","id":"mathjs/lib/function/trigonometry/csch.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/sec.js","id":"mathjs/lib/function/trigonometry/sec.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/sech.js","id":"mathjs/lib/function/trigonometry/sech.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/sin.js","id":"mathjs/lib/function/trigonometry/sin.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/sinh.js","id":"mathjs/lib/function/trigonometry/sinh.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/tan.js","id":"mathjs/lib/function/trigonometry/tan.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/trigonometry/tanh.js","id":"mathjs/lib/function/trigonometry/tanh.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/units/to.js","id":"mathjs/lib/function/units/to.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Unit.js","mathjs/lib/type/collection.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/clone.js","id":"mathjs/lib/function/utils/clone.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/filter.js","id":"mathjs/lib/function/utils/filter.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/forEach.js","id":"mathjs/lib/function/utils/forEach.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/format.js","id":"mathjs/lib/function/utils/format.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/import.js","id":"mathjs/lib/function/utils/import.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Unit.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/map.js","id":"mathjs/lib/function/utils/map.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/print.js","id":"mathjs/lib/function/utils/print.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/sort.js","id":"mathjs/lib/function/utils/sort.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/Matrix.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/function/utils/typeof.js","id":"mathjs/lib/function/utils/typeof.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/types.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/Index.js","mathjs/lib/type/Range.js","mathjs/lib/type/Help.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/header.js","id":"mathjs/lib/header.js","options":{},"isModule":true,"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/json/reviver.js","id":"mathjs/lib/json/reviver.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/BigNumber.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Help.js","mathjs/lib/type/Index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Range.js","mathjs/lib/type/ResultSet.js","mathjs/lib/type/Unit.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/math.js","id":"mathjs/lib/math.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/object.js","mathjs/lib/util/number.js","mathjs/lib/constants.js","mathjs/lib/type/BigNumber.js","mathjs/lib/error/index.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Range.js","mathjs/lib/type/Index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/Help.js","mathjs/lib/type/ResultSet.js","mathjs/lib/type/collection.js","mathjs/lib/expression/node/index.js","mathjs/lib/expression/parse.js","mathjs/lib/expression/Parser.js","mathjs/lib/expression/docs/index.js","mathjs/lib/json/reviver.js","mathjs/lib/function/expression/compile.js","mathjs/lib/function/expression/eval.js","mathjs/lib/function/expression/help.js","mathjs/lib/function/expression/parse.js","mathjs/lib/function/arithmetic/abs.js","mathjs/lib/function/arithmetic/add.js","mathjs/lib/function/arithmetic/ceil.js","mathjs/lib/function/arithmetic/cube.js","mathjs/lib/function/arithmetic/_divide.js","mathjs/lib/function/arithmetic/divide.js","mathjs/lib/function/arithmetic/dotDivide.js","mathjs/lib/function/arithmetic/dotMultiply.js","mathjs/lib/function/arithmetic/dotPow.js","mathjs/lib/function/arithmetic/exp.js","mathjs/lib/function/arithmetic/fix.js","mathjs/lib/function/arithmetic/floor.js","mathjs/lib/function/arithmetic/gcd.js","mathjs/lib/function/arithmetic/lcm.js","mathjs/lib/function/arithmetic/log.js","mathjs/lib/function/arithmetic/log10.js","mathjs/lib/function/arithmetic/mod.js","mathjs/lib/function/arithmetic/multiply.js","mathjs/lib/function/arithmetic/norm.js","mathjs/lib/function/arithmetic/nthRoot.js","mathjs/lib/function/arithmetic/pow.js","mathjs/lib/function/arithmetic/round.js","mathjs/lib/function/arithmetic/sign.js","mathjs/lib/function/arithmetic/sqrt.js","mathjs/lib/function/arithmetic/square.js","mathjs/lib/function/arithmetic/subtract.js","mathjs/lib/function/arithmetic/unaryMinus.js","mathjs/lib/function/arithmetic/unaryPlus.js","mathjs/lib/function/arithmetic/xgcd.js","mathjs/lib/function/bitwise/bitAnd.js","mathjs/lib/function/bitwise/bitNot.js","mathjs/lib/function/bitwise/bitOr.js","mathjs/lib/function/bitwise/bitXor.js","mathjs/lib/function/bitwise/leftShift.js","mathjs/lib/function/bitwise/rightArithShift.js","mathjs/lib/function/bitwise/rightLogShift.js","mathjs/lib/function/complex/arg.js","mathjs/lib/function/complex/conj.js","mathjs/lib/function/complex/re.js","mathjs/lib/function/complex/im.js","mathjs/lib/function/construction/bignumber.js","mathjs/lib/function/construction/boolean.js","mathjs/lib/function/construction/complex.js","mathjs/lib/function/construction/index.js","mathjs/lib/function/construction/matrix.js","mathjs/lib/function/construction/number.js","mathjs/lib/function/construction/parser.js","mathjs/lib/function/construction/chain.js","mathjs/lib/function/construction/string.js","mathjs/lib/function/construction/unit.js","mathjs/lib/function/logical/and.js","mathjs/lib/function/logical/not.js","mathjs/lib/function/logical/or.js","mathjs/lib/function/logical/xor.js","mathjs/lib/function/matrix/concat.js","mathjs/lib/function/matrix/cross.js","mathjs/lib/function/matrix/det.js","mathjs/lib/function/matrix/diag.js","mathjs/lib/function/matrix/dot.js","mathjs/lib/function/matrix/eye.js","mathjs/lib/function/matrix/flatten.js","mathjs/lib/function/matrix/inv.js","mathjs/lib/function/matrix/ones.js","mathjs/lib/function/matrix/range.js","mathjs/lib/function/matrix/resize.js","mathjs/lib/function/matrix/size.js","mathjs/lib/function/matrix/squeeze.js","mathjs/lib/function/matrix/subset.js","mathjs/lib/function/matrix/trace.js","mathjs/lib/function/matrix/transpose.js","mathjs/lib/function/matrix/zeros.js","mathjs/lib/function/probability/factorial.js","mathjs/lib/function/probability/gamma.js","mathjs/lib/function/probability/random.js","mathjs/lib/function/probability/randomInt.js","mathjs/lib/function/probability/pickRandom.js","mathjs/lib/function/probability/permutations.js","mathjs/lib/function/probability/combinations.js","mathjs/lib/function/relational/compare.js","mathjs/lib/function/relational/deepEqual.js","mathjs/lib/function/relational/equal.js","mathjs/lib/function/relational/larger.js","mathjs/lib/function/relational/largerEq.js","mathjs/lib/function/relational/smaller.js","mathjs/lib/function/relational/smallerEq.js","mathjs/lib/function/relational/unequal.js","mathjs/lib/function/statistics/min.js","mathjs/lib/function/statistics/max.js","mathjs/lib/function/statistics/mean.js","mathjs/lib/function/statistics/median.js","mathjs/lib/function/statistics/prod.js","mathjs/lib/function/statistics/std.js","mathjs/lib/function/statistics/sum.js","mathjs/lib/function/statistics/var.js","mathjs/lib/function/trigonometry/acos.js","mathjs/lib/function/trigonometry/acosh.js","mathjs/lib/function/trigonometry/acot.js","mathjs/lib/function/trigonometry/acoth.js","mathjs/lib/function/trigonometry/acsc.js","mathjs/lib/function/trigonometry/acsch.js","mathjs/lib/function/trigonometry/asec.js","mathjs/lib/function/trigonometry/asech.js","mathjs/lib/function/trigonometry/asin.js","mathjs/lib/function/trigonometry/asinh.js","mathjs/lib/function/trigonometry/atan.js","mathjs/lib/function/trigonometry/atan2.js","mathjs/lib/function/trigonometry/atanh.js","mathjs/lib/function/trigonometry/cos.js","mathjs/lib/function/trigonometry/cosh.js","mathjs/lib/function/trigonometry/cot.js","mathjs/lib/function/trigonometry/coth.js","mathjs/lib/function/trigonometry/csc.js","mathjs/lib/function/trigonometry/csch.js","mathjs/lib/function/trigonometry/sec.js","mathjs/lib/function/trigonometry/sech.js","mathjs/lib/function/trigonometry/sin.js","mathjs/lib/function/trigonometry/sinh.js","mathjs/lib/function/trigonometry/tan.js","mathjs/lib/function/trigonometry/tanh.js","mathjs/lib/function/units/to.js","mathjs/lib/function/utils/clone.js","mathjs/lib/function/utils/filter.js","mathjs/lib/function/utils/format.js","mathjs/lib/function/utils/import.js","mathjs/lib/function/utils/map.js","mathjs/lib/function/utils/print.js","mathjs/lib/function/utils/sort.js","mathjs/lib/function/utils/typeof.js","mathjs/lib/function/utils/forEach.js","mathjs/lib/expression/transform/concat.transform.js","mathjs/lib/expression/transform/filter.transform.js","mathjs/lib/expression/transform/forEach.transform.js","mathjs/lib/expression/transform/index.transform.js","mathjs/lib/expression/transform/map.transform.js","mathjs/lib/expression/transform/max.transform.js","mathjs/lib/expression/transform/mean.transform.js","mathjs/lib/expression/transform/min.transform.js","mathjs/lib/expression/transform/range.transform.js","mathjs/lib/expression/transform/subset.transform.js","mathjs/lib/chaining/Chain.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/BigNumber.js","id":"mathjs/lib/type/BigNumber.js","options":{},"isModule":true,"requiredModules":["decimal.js/decimal.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/collection.js","id":"mathjs/lib/type/collection.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/error/IndexError.js","mathjs/lib/error/DimensionError.js","mathjs/lib/type/Matrix.js"],"mtime":1424465145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/Complex.js","id":"mathjs/lib/type/Complex.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Unit.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/Help.js","id":"mathjs/lib/type/Help.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/Index.js","id":"mathjs/lib/type/Index.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/type/Range.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/Matrix.js","id":"mathjs/lib/type/Matrix.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js","mathjs/lib/error/DimensionError.js","mathjs/lib/type/Index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/Range.js","id":"mathjs/lib/type/Range.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/ResultSet.js","id":"mathjs/lib/type/ResultSet.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/type/Unit.js","id":"mathjs/lib/type/Unit.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/array.js","id":"mathjs/lib/util/array.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/number.js","mathjs/lib/util/string.js","mathjs/lib/util/object.js","mathjs/lib/util/types.js","mathjs/lib/error/DimensionError.js","mathjs/lib/error/IndexError.js"],"mtime":1421091280000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/bignumber.js","id":"mathjs/lib/util/bignumber.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/type/BigNumber.js","mathjs/lib/util/number.js","mathjs/lib/util/function.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/boolean.js","id":"mathjs/lib/util/boolean.js","options":{},"isModule":true,"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/function.js","id":"mathjs/lib/util/function.js","options":{},"isModule":true,"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/index.js","id":"mathjs/lib/util/index.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/array.js","mathjs/lib/util/boolean.js","mathjs/lib/util/number.js","mathjs/lib/util/bignumber.js","mathjs/lib/util/object.js","mathjs/lib/util/string.js","mathjs/lib/util/types.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/latex.js","id":"mathjs/lib/util/latex.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/expression/node/ArrayNode.js","mathjs/lib/expression/node/OperatorNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/ConstantNode.js"],"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/number.js","id":"mathjs/lib/util/number.js","options":{},"isModule":true,"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/object.js","id":"mathjs/lib/util/object.js","options":{},"isModule":true,"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/string.js","id":"mathjs/lib/util/string.js","options":{},"isModule":true,"requiredModules":["mathjs/lib/util/number.js","mathjs/lib/util/bignumber.js","mathjs/lib/type/BigNumber.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/util/types.js","id":"mathjs/lib/util/types.js","options":{},"isModule":true,"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/lib/version.js","id":"mathjs/lib/version.js","options":{},"isModule":true,"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/node_modules/decimal.js/bower.json","id":"decimal.js/bower.json","options":{},"isModule":true,"mtime":1424447505000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/node_modules/decimal.js/coverage/coverage.json","id":"decimal.js/coverage/coverage.json","options":{},"isModule":true,"mtime":1418830832000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/node_modules/decimal.js/coverage/lcov-report/prettify.js","id":"decimal.js/coverage/lcov-report/prettify.js","options":{},"isModule":true,"mtime":1418830832000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/node_modules/decimal.js/decimal.js","id":"decimal.js/decimal.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1424447363000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/node_modules/decimal.js/decimal.min.js","id":"decimal.js/decimal.min.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1424447541000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/node_modules/decimal.js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mathjs/node_modules/decimal.js/package.json","data":{"name":"decimal.js","description":"An arbitrary-precision Decimal type for JavaScript.","version":"4.0.2","keywords":["arbitrary","precision","arithmetic","big","number","decimal","float","biginteger","bigdecimal","bignumber","bigint","bignum"],"repository":{"type":"git","url":"https://github.com/MikeMcl/decimal.js.git"},"main":"decimal","author":{"name":"Michael Mclaughlin","email":"M8ch88l@gmail.com"},"engines":{"node":"*"},"license":"MIT","scripts":{"test":"node ./test/every-test.js","build":"uglifyjs decimal.js --source-map doc/decimal.js.map -c -m -o decimal.min.js --preamble \"/* decimal.js v4.0.2 https://github.com/MikeMcl/decimal.js/LICENCE */\""},"gitHead":"aaa0794f69cf8cde935048bc75ef9c45097d03b4","bugs":{"url":"https://github.com/MikeMcl/decimal.js/issues"},"homepage":"https://github.com/MikeMcl/decimal.js","_id":"decimal.js@4.0.2","_shasum":"3473bbfaa66d5ba48cb576fa9e2cd2065ccaec98","_from":"decimal.js@>=4.0.1 <4.1.0","_npmVersion":"1.4.28","_npmUser":{"name":"mikemcl","email":"M8ch88l@gmail.com"},"maintainers":[{"name":"mikemcl","email":"M8ch88l@gmail.com"}],"dist":{"shasum":"3473bbfaa66d5ba48cb576fa9e2cd2065ccaec98","tarball":"http://registry.npmjs.org/decimal.js/-/decimal.js-4.0.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/decimal.js/-/decimal.js-4.0.2.tgz"},"mtime":1439487649000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mathjs/package.json","data":{"name":"mathjs","version":"1.4.0","description":"Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser and offers an integrated solution to work with numbers, big numbers, complex numbers, units, and matrices.","author":{"name":"Jos de Jong","email":"wjosdejong@gmail.com","url":"https://github.com/josdejong"},"contributors":[{"name":"Favian Contreras","url":"https://github.com/BigFav"},{"name":"Sebastien Piquemal","url":"https://github.com/sebpiq"},{"name":"Rogelio J. Baucells","url":"https://github.com/rjbaucells"},{"name":"Guillermo Indalecio Fernández","url":"https://github.com/guillermobox"},{"name":"Huseyn Guliyev","url":"https://github.com/husayt"},{"name":"Daniel Levin","url":"https://github.com/daniel-levin"},{"name":"Niels Heisterkamp","url":"https://github.com/nheisterkamp"},{"name":"Fabrice Colas","url":"https://github.com/fabricecolas"},{"name":"Finn Pauls","url":"https://github.com/finnp"},{"name":"Marcus Andre","url":"https://github.com/marcusandre"},{"name":"Andy Pan","url":"https://github.com/andy0130tw"},{"name":"Bart Kiers","url":"https://github.com/bkiers"},{"name":"Jim Garrison","url":"https://github.com/garrison"},{"name":"Bryan Cuccioli","url":"https://github.com/bcuccioli"},{"name":"Pavel Panchekha","url":"https://github.com/pavpanchekha"},{"name":"hamadu","url":"https://github.com/hamadu"},{"name":"Waldir Pimenta","url":"https://github.com/waldyrious"},{"name":"Mitchel Kelonye","url":"https://github.com/kelonye"},{"name":"mtraynham","url":"https://github.com/mtraynham"},{"name":"Owen Versteeg","url":"https://github.com/owenversteeg"},{"name":"Ryan Seys","url":"https://github.com/ryanseys"},{"name":"Elijah Insua","url":"https://github.com/tmpvar"},{"name":"Rogelio J. Baucells","url":"https://github.com/rjbaucells"},{"name":"Zach Zibrat","url":"https://github.com/palimpsests"},{"name":"Pete Corey","url":"https://github.com/pcorey"},{"name":"Kenan Yildirim","url":"https://github.com/KenanY"}],"homepage":"http://mathjs.org","repository":{"type":"git","url":"https://github.com/josdejong/mathjs.git"},"keywords":["math","mathematics","functions","numeric","parser","expression","number","bignumber","complex","matrix","unit"],"dependencies":{"decimal.js":"~4.0.1"},"devDependencies":{"webpack":"latest","mocha":"latest","istanbul":"latest","numbers":"latest","uglify-js":"latest","underscore":"latest","seed-random":"latest","gulp":"latest","gulp-util":"latest","exec":"latest","glob":"latest","mkdirp":"latest"},"main":"./index","scripts":{"build":"gulp","watch":"gulp watch","docs":"gulp docs","test":"mocha test --recursive","coverage":"istanbul cover _mocha -- test --recursive; echo \"\nCoverage report is available at ./coverage/lcov-report/index.html\""},"bin":{"mathjs":"./bin/cli.js"},"engines":{"node":">= 0.1"},"gitHead":"27b436d1080d2276713de5f2ce9e534507079627","bugs":{"url":"https://github.com/josdejong/mathjs/issues"},"_id":"mathjs@1.4.0","_shasum":"41821e4d9fd488265505bf84d9ec092bdf64cd83","_from":"mathjs@1.4.0","_npmVersion":"1.4.28","_npmUser":{"name":"josdejong","email":"wjosdejong@gmail.com"},"maintainers":[{"name":"josdejong","email":"wjosdejong@gmail.com"}],"dist":{"shasum":"41821e4d9fd488265505bf84d9ec092bdf64cd83","tarball":"http://registry.npmjs.org/mathjs/-/mathjs-1.4.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mathjs/-/mathjs-1.4.0.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/approx.test.js","id":"mathjs/test/approx.test.js","options":{},"isModule":true,"requiredModules":["assert","../tools/approx"],"mtime":1418476702000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/chaining/Chain.test.js","id":"mathjs/test/chaining/Chain.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/contstants.test.js","id":"mathjs/test/contstants.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","../tools/approx","/Users/james/dev/maxwell-edi/node_modules/mathjs/package.json"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/deprecated.test.js","id":"mathjs/test/deprecated.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/util/number.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/error/ArgumentsError.test.js","id":"mathjs/test/error/ArgumentsError.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/ArgumentsError.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/error/DimensionError.test.js","id":"mathjs/test/error/DimensionError.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/DimensionError.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/error/index.test.js","id":"mathjs/test/error/index.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/error/IndexError.test.js","id":"mathjs/test/error/IndexError.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/IndexError.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/error/UnsupportedTypeError.test.js","id":"mathjs/test/error/UnsupportedTypeError.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/UnsupportedTypeError.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/keywords.test.js","id":"mathjs/test/expression/keywords.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/expression/keywords.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/ArrayNode.test.js","id":"mathjs/test/expression/node/ArrayNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/ArrayNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/AssignmentNode.test.js","id":"mathjs/test/expression/node/AssignmentNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/ArrayNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/AssignmentNode.js","mathjs/lib/expression/node/OperatorNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/BlockNode.test.js","id":"mathjs/test/expression/node/BlockNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/OperatorNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/AssignmentNode.js","mathjs/lib/expression/node/BlockNode.js","mathjs/lib/type/ResultSet.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/ConditionalNode.test.js","id":"mathjs/test/expression/node/ConditionalNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/AssignmentNode.js","mathjs/lib/expression/node/ConditionalNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/ConstantNode.test.js","id":"mathjs/test/expression/node/ConstantNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/FunctionAssignmentNode.test.js","id":"mathjs/test/expression/node/FunctionAssignmentNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/OperatorNode.js","mathjs/lib/expression/node/FunctionAssignmentNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/SymbolNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/FunctionNode.test.js","id":"mathjs/test/expression/node/FunctionNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/FunctionNode.js","mathjs/lib/expression/node/OperatorNode.js"],"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/index.test.js","id":"mathjs/test/expression/node/index.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/expression/node/index.js","mathjs/lib/expression/node/ArrayNode.js","mathjs/lib/expression/node/AssignmentNode.js","mathjs/lib/expression/node/BlockNode.js","mathjs/lib/expression/node/ConditionalNode.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/FunctionAssignmentNode.js","mathjs/lib/expression/node/FunctionNode.js","mathjs/lib/expression/node/IndexNode.js","mathjs/lib/expression/node/OperatorNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/UpdateNode.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/IndexNode.test.js","id":"mathjs/test/expression/node/IndexNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/IndexNode.js","mathjs/lib/expression/node/SymbolNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/Node.test.js","id":"mathjs/test/expression/node/Node.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/OperatorNode.test.js","id":"mathjs/test/expression/node/OperatorNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/OperatorNode.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/RangeNode.test.js","id":"mathjs/test/expression/node/RangeNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js","mathjs/lib/expression/node/RangeNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/SymbolNode.test.js","id":"mathjs/test/expression/node/SymbolNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/SymbolNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/node/UpdateNode.test.js","id":"mathjs/test/expression/node/UpdateNode.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/expression/node/Node.js","mathjs/lib/expression/node/ConstantNode.js","mathjs/lib/expression/node/RangeNode.js","mathjs/lib/expression/node/IndexNode.js","mathjs/lib/expression/node/UpdateNode.js","mathjs/lib/expression/node/SymbolNode.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/parse.test.js","id":"mathjs/test/expression/parse.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","mathjs/index.js","mathjs/lib/error/ArgumentsError.js","mathjs/lib/expression/parse.js","mathjs/lib/expression/node/ConditionalNode.js","mathjs/lib/expression/node/OperatorNode.js","mathjs/lib/expression/node/RangeNode.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/expression/Parser.test.js","id":"mathjs/test/expression/Parser.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","mathjs/lib/expression/Parser.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/abs.test.js","id":"mathjs/test/function/arithmetic/abs.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/add.test.js","id":"mathjs/test/function/arithmetic/add.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/ceil.test.js","id":"mathjs/test/function/arithmetic/ceil.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/cube.test.js","id":"mathjs/test/function/arithmetic/cube.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/divide.test.js","id":"mathjs/test/function/arithmetic/divide.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js","../../../tools/approx"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/dotDivide.test.js","id":"mathjs/test/function/arithmetic/dotDivide.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js","../../../tools/approx"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/dotMultiply.test.js","id":"mathjs/test/function/arithmetic/dotMultiply.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","../../../tools/approx","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/dotPow.test.js","id":"mathjs/test/function/arithmetic/dotPow.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/exp.test.js","id":"mathjs/test/function/arithmetic/exp.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/fix.test.js","id":"mathjs/test/function/arithmetic/fix.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","../../../tools/approx","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/floor.test.js","id":"mathjs/test/function/arithmetic/floor.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/gcd.test.js","id":"mathjs/test/function/arithmetic/gcd.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/lcm.test.js","id":"mathjs/test/function/arithmetic/lcm.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/log.test.js","id":"mathjs/test/function/arithmetic/log.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/log10.test.js","id":"mathjs/test/function/arithmetic/log10.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/mod.test.js","id":"mathjs/test/function/arithmetic/mod.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/multiply.test.js","id":"mathjs/test/function/arithmetic/multiply.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js","../../../tools/approx"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/norm.test.js","id":"mathjs/test/function/arithmetic/norm.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/nthRoot.test.js","id":"mathjs/test/function/arithmetic/nthRoot.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/pow.test.js","id":"mathjs/test/function/arithmetic/pow.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/round.test.js","id":"mathjs/test/function/arithmetic/round.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/sign.test.js","id":"mathjs/test/function/arithmetic/sign.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/sqrt.test.js","id":"mathjs/test/function/arithmetic/sqrt.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/square.test.js","id":"mathjs/test/function/arithmetic/square.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/subtract.test.js","id":"mathjs/test/function/arithmetic/subtract.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/unaryMinus.test.js","id":"mathjs/test/function/arithmetic/unaryMinus.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/unaryPlus.test.js","id":"mathjs/test/function/arithmetic/unaryPlus.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/arithmetic/xgcd.test.js","id":"mathjs/test/function/arithmetic/xgcd.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/bitwise/bitAnd.test.js","id":"mathjs/test/function/bitwise/bitAnd.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/bitwise/bitNot.test.js","id":"mathjs/test/function/bitwise/bitNot.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/bitwise/bitOr.test.js","id":"mathjs/test/function/bitwise/bitOr.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/bitwise/bitXor.test.js","id":"mathjs/test/function/bitwise/bitXor.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/bitwise/leftShift.test.js","id":"mathjs/test/function/bitwise/leftShift.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/bitwise/rightArithShift.test.js","id":"mathjs/test/function/bitwise/rightArithShift.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/bitwise/rightLogShift.test.js","id":"mathjs/test/function/bitwise/rightLogShift.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/complex/arg.test.js","id":"mathjs/test/function/complex/arg.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","../../../tools/approx","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/complex/conj.test.js","id":"mathjs/test/function/complex/conj.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/complex/im.test.js","id":"mathjs/test/function/complex/im.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/complex/re.test.js","id":"mathjs/test/function/complex/re.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/bignumber.test.js","id":"mathjs/test/function/construction/bignumber.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/boolean.test.js","id":"mathjs/test/function/construction/boolean.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/chain.test.js","id":"mathjs/test/function/construction/chain.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/complex.test.js","id":"mathjs/test/function/construction/complex.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/index.test.js","id":"mathjs/test/function/construction/index.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/matrix.test.js","id":"mathjs/test/function/construction/matrix.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/number.test.js","id":"mathjs/test/function/construction/number.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/parser.test.js","id":"mathjs/test/function/construction/parser.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/lib/expression/Parser.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/string.test.js","id":"mathjs/test/function/construction/string.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/construction/unit.test.js","id":"mathjs/test/function/construction/unit.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","mathjs/lib/type/Unit.js"],"mtime":1407594062000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/expression/compile.test.js","id":"mathjs/test/function/expression/compile.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","mathjs/lib/expression/node/Node.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/expression/eval.test.js","id":"mathjs/test/function/expression/eval.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/expression/help.test.js","id":"mathjs/test/function/expression/help.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/expression/parse.test.js","id":"mathjs/test/function/expression/parse.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","mathjs/lib/expression/node/Node.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/logical/and.test.js","id":"mathjs/test/function/logical/and.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/logical/not.test.js","id":"mathjs/test/function/logical/not.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/logical/or.test.js","id":"mathjs/test/function/logical/or.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/logical/xor.test.js","id":"mathjs/test/function/logical/xor.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/concat.test.js","id":"mathjs/test/function/matrix/concat.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/cross.test.js","id":"mathjs/test/function/matrix/cross.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/det.test.js","id":"mathjs/test/function/matrix/det.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","../../../tools/approx","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/diag.test.js","id":"mathjs/test/function/matrix/diag.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/dot.test.js","id":"mathjs/test/function/matrix/dot.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/eye.test.js","id":"mathjs/test/function/matrix/eye.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/flatten.test.js","id":"mathjs/test/function/matrix/flatten.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/inv.test.js","id":"mathjs/test/function/matrix/inv.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/ones.test.js","id":"mathjs/test/function/matrix/ones.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/range.test.js","id":"mathjs/test/function/matrix/range.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/resize.test.js","id":"mathjs/test/function/matrix/resize.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/size.test.js","id":"mathjs/test/function/matrix/size.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/squeeze.test.js","id":"mathjs/test/function/matrix/squeeze.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/subset.test.js","id":"mathjs/test/function/matrix/subset.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/trace.test.js","id":"mathjs/test/function/matrix/trace.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","../../../tools/approx","mathjs/index.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/transpose.test.js","id":"mathjs/test/function/matrix/transpose.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/matrix/zeros.test.js","id":"mathjs/test/function/matrix/zeros.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/probability/combinations.test.js","id":"mathjs/test/function/probability/combinations.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/probability/distribution.test.js","id":"mathjs/test/function/probability/distribution.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","seed-random","underscore/underscore.js","mathjs/lib/type/Matrix.js","mathjs/index.js","mathjs/lib/function/probability/distribution.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/probability/factorial.test.js","id":"mathjs/test/function/probability/factorial.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/probability/gamma.test.js","id":"mathjs/test/function/probability/gamma.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/lib/error/index.js","mathjs/index.js","mathjs/lib/util/index.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/probability/permutations.test.js","id":"mathjs/test/function/probability/permutations.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/probability/pickRandom.test.js","id":"mathjs/test/function/probability/pickRandom.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/probability/random.test.js","id":"mathjs/test/function/probability/random.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/probability/randomInt.test.js","id":"mathjs/test/function/probability/randomInt.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/relational/compare.test.js","id":"mathjs/test/function/relational/compare.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/relational/deepEqual.test.js","id":"mathjs/test/function/relational/deepEqual.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/relational/equal.test.js","id":"mathjs/test/function/relational/equal.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/relational/larger.test.js","id":"mathjs/test/function/relational/larger.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/relational/largerEq.test.js","id":"mathjs/test/function/relational/largerEq.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/relational/smaller.test.js","id":"mathjs/test/function/relational/smaller.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/relational/smallerEq.test.js","id":"mathjs/test/function/relational/smallerEq.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/error/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/relational/unequal.test.js","id":"mathjs/test/function/relational/unequal.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407594141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/statistics/max.test.js","id":"mathjs/test/function/statistics/max.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/statistics/mean.test.js","id":"mathjs/test/function/statistics/mean.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/statistics/median.test.js","id":"mathjs/test/function/statistics/median.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/statistics/min.test.js","id":"mathjs/test/function/statistics/min.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/statistics/prod.test.js","id":"mathjs/test/function/statistics/prod.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/statistics/std.test.js","id":"mathjs/test/function/statistics/std.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/statistics/sum.test.js","id":"mathjs/test/function/statistics/sum.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/statistics/var.test.js","id":"mathjs/test/function/statistics/var.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/acos.test.js","id":"mathjs/test/function/trigonometry/acos.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/acosh.test.js","id":"mathjs/test/function/trigonometry/acosh.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/acot.test.js","id":"mathjs/test/function/trigonometry/acot.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/acoth.test.js","id":"mathjs/test/function/trigonometry/acoth.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/acsc.test.js","id":"mathjs/test/function/trigonometry/acsc.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/acsch.test.js","id":"mathjs/test/function/trigonometry/acsch.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/asec.test.js","id":"mathjs/test/function/trigonometry/asec.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/asech.test.js","id":"mathjs/test/function/trigonometry/asech.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/asin.test.js","id":"mathjs/test/function/trigonometry/asin.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/asinh.test.js","id":"mathjs/test/function/trigonometry/asinh.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/atan.test.js","id":"mathjs/test/function/trigonometry/atan.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/atan2.test.js","id":"mathjs/test/function/trigonometry/atan2.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/atanh.test.js","id":"mathjs/test/function/trigonometry/atanh.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/cos.test.js","id":"mathjs/test/function/trigonometry/cos.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/cosh.test.js","id":"mathjs/test/function/trigonometry/cosh.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/cot.test.js","id":"mathjs/test/function/trigonometry/cot.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/coth.test.js","id":"mathjs/test/function/trigonometry/coth.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/csc.test.js","id":"mathjs/test/function/trigonometry/csc.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/csch.test.js","id":"mathjs/test/function/trigonometry/csch.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/sec.test.js","id":"mathjs/test/function/trigonometry/sec.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/sech.test.js","id":"mathjs/test/function/trigonometry/sech.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/sin.test.js","id":"mathjs/test/function/trigonometry/sin.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/sinh.test.js","id":"mathjs/test/function/trigonometry/sinh.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/tan.test.js","id":"mathjs/test/function/trigonometry/tan.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/trigonometry/tanh.test.js","id":"mathjs/test/function/trigonometry/tanh.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/units/to.test.js","id":"mathjs/test/function/units/to.test.js","options":{},"isModule":true,"requiredModules":["assert","../../../tools/approx","mathjs/index.js","mathjs/lib/type/Unit.js","mathjs/lib/type/Matrix.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/clone.test.js","id":"mathjs/test/function/utils/clone.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/filter.test.js","id":"mathjs/test/function/utils/filter.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/forEach.test.js","id":"mathjs/test/function/utils/forEach.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/format.test.js","id":"mathjs/test/function/utils/format.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/import.test.js","id":"mathjs/test/function/utils/import.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js","../../../tools/approx"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/map.test.js","id":"mathjs/test/function/utils/map.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/print.test.js","id":"mathjs/test/function/utils/print.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1407097286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/sort.test.js","id":"mathjs/test/function/utils/sort.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/index.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/function/utils/typeof.test.js","id":"mathjs/test/function/utils/typeof.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/error/index.js","mathjs/lib/type/Index.js","mathjs/lib/type/Range.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Help.js","mathjs/lib/type/Unit.js","mathjs/lib/type/Complex.js","mathjs/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/json/replacer.test.js","id":"mathjs/test/json/replacer.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/type/Complex.js","mathjs/lib/type/Range.js","mathjs/lib/type/Index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Unit.js","mathjs/lib/type/Help.js","mathjs/lib/type/BigNumber.js","mathjs/lib/type/ResultSet.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/json/reviver.test.js","id":"mathjs/test/json/reviver.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/json/reviver.js","mathjs/lib/type/Complex.js","mathjs/lib/type/Range.js","mathjs/lib/type/Index.js","mathjs/lib/type/Unit.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/BigNumber.js","mathjs/lib/type/Help.js","mathjs/lib/type/ResultSet.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/math.test.js","id":"mathjs/test/math.test.js","options":{},"isModule":true,"requiredModules":["assert","../tools/approx","mathjs/index.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/BigNumber.test.js","id":"mathjs/test/type/BigNumber.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/type/BigNumber.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/collection.test.js","id":"mathjs/test/type/collection.test.js","options":{},"isModule":true,"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/Complex.test.js","id":"mathjs/test/type/Complex.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/type/Unit.js","mathjs/lib/type/Complex.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/Help.test.js","id":"mathjs/test/type/Help.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/type/Help.js","mathjs/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/Index.test.js","id":"mathjs/test/type/Index.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/type/Index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Range.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/Matrix.test.js","id":"mathjs/test/type/Matrix.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js","mathjs/lib/type/Matrix.js","mathjs/lib/type/Complex.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/Range.test.js","id":"mathjs/test/type/Range.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/index.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/ResultSet.test.js","id":"mathjs/test/type/ResultSet.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/type/Complex.js","mathjs/lib/type/ResultSet.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/type/Unit.test.js","id":"mathjs/test/type/Unit.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","mathjs/lib/type/Unit.js"],"mtime":1425157464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/util/array.test.js","id":"mathjs/test/util/array.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/util/array.js"],"mtime":1420278347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/util/bignumber.test.js","id":"mathjs/test/util/bignumber.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","decimal.js/decimal.js","mathjs/lib/util/bignumber.js"],"mtime":1425026562000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/util/boolean.test.js","id":"mathjs/test/util/boolean.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","mathjs/lib/util/boolean.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/util/function.test.js","id":"mathjs/test/util/function.test.js","options":{},"isModule":true,"requiredModules":["assert","mathjs/lib/util/function.js"],"mtime":1423514859000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/util/number.test.js","id":"mathjs/test/util/number.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","mathjs/lib/util/number.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/util/object.test.js","id":"mathjs/test/util/object.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","mathjs/lib/util/object.js"],"mtime":1424458503000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/util/string.test.js","id":"mathjs/test/util/string.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","decimal.js/decimal.js","mathjs/lib/util/string.js"],"mtime":1403551548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mathjs/test/util/types.test.js","id":"mathjs/test/util/types.test.js","options":{},"isModule":true,"requiredModules":["assert","../../tools/approx","mathjs/lib/util/types.js"],"mtime":1420278347000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mcrypt/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mcrypt/package.json","data":{"name":"mcrypt","version":"0.0.13","description":"MCrypt bindings","keywords":["mcrypt","crypto"],"homepage":"https://github.com/tugrul/node-mcrypt","author":{"name":"Tuğrul Topuz","email":"tugrultopuz@gmail.com"},"bugs":{"url":"https://github.com/tugrul/node-mcrypt/issues"},"license":"MIT","repository":{"type":"git","url":"https://github.com/tugrul/node-mcrypt.git"},"scripts":{"install":"node-gyp rebuild --release","preuninstall":"rm -rf build/*"},"engines":{"node":">=0.8.0"},"dependencies":{"nan":"*"},"devDependencies":{"node-gyp":"*"},"main":"./build/Release/mcrypt","gitHead":"a0754cb2e47ce020fecca347a96fefed6d3cead3","_id":"mcrypt@0.0.13","_shasum":"e377311e00f0fa4e7c72bb1678e2d7b6561ef3ce","_from":"mcrypt@0.0.13","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"tugrul","email":"tugrultopuz@gmail.com"},"maintainers":[{"name":"tugrul","email":"tugrultopuz@gmail.com"}],"dist":{"shasum":"e377311e00f0fa4e7c72bb1678e2d7b6561ef3ce","tarball":"http://registry.npmjs.org/mcrypt/-/mcrypt-0.0.13.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mcrypt/-/mcrypt-0.0.13.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mcrypt/test/test.js","id":"mcrypt/test/test.js","options":{},"isModule":true,"requiredModules":["../build/Release/mcrypt","assert"],"mtime":1422713016000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/MD5/md5.js","id":"MD5/md5.js","options":{},"isModule":true,"requiredModules":["crypt/crypt.js","charenc/charenc.js"],"mtime":1396689010000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/MD5/node_modules/charenc/charenc.js","id":"charenc/charenc.js","options":{},"isModule":true,"mtime":1321829870000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/MD5/node_modules/charenc/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/MD5/node_modules/charenc/package.json","data":{"author":{"name":"Paul Vorbach","email":"paul@vorb.de","url":"http://vorb.de"},"name":"charenc","description":"character encoding utilities","tags":["utf8","binary","byte","string"],"version":"0.0.1","repository":{"type":"git","url":"git://github.com/pvorb/node-charenc.git"},"bugs":{"url":"https://github.com/pvorb/node-charenc/issues"},"main":"charenc.js","engines":{"node":"*"},"_npmUser":{"name":"pvorb","email":"paul@vorb.de"},"_id":"charenc@0.0.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"004cff9feaf102382ed12db58dd6f962796d6e88","tarball":"http://registry.npmjs.org/charenc/-/charenc-0.0.1.tgz"},"maintainers":[{"name":"pvorb","email":"paul@vorb.de"}],"directories":{},"_shasum":"004cff9feaf102382ed12db58dd6f962796d6e88","_resolved":"https://registry.npmjs.org/charenc/-/charenc-0.0.1.tgz","_from":"charenc@>=0.0.1"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/MD5/node_modules/charenc/README.js","id":"charenc/README.js","options":{},"isModule":true,"mtime":1321829870000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/MD5/node_modules/crypt/crypt.js","id":"crypt/crypt.js","options":{},"isModule":true,"mtime":1321830093000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/MD5/node_modules/crypt/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/MD5/node_modules/crypt/package.json","data":{"author":{"name":"Paul Vorbach","email":"paul@vorb.de","url":"http://vorb.de"},"name":"crypt","description":"utilities for encryption and hashing","tags":["hash","security"],"version":"0.0.1","repository":{"type":"git","url":"git://github.com/pvorb/node-crypt.git"},"bugs":{"url":"https://github.com/pvorb/node-crypt/issues"},"main":"crypt.js","engines":{"node":"*"},"_npmUser":{"name":"pvorb","email":"paul@vorb.de"},"_id":"crypt@0.0.1","dependencies":{},"devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"5f11b21a6c05ef1b5e79708366da6374ece1e6a2","tarball":"http://registry.npmjs.org/crypt/-/crypt-0.0.1.tgz"},"maintainers":[{"name":"pvorb","email":"paul@vorb.de"}],"directories":{},"_shasum":"5f11b21a6c05ef1b5e79708366da6374ece1e6a2","_resolved":"https://registry.npmjs.org/crypt/-/crypt-0.0.1.tgz","_from":"crypt@>=0.0.1"},"mtime":1439487642000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/MD5/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/MD5/package.json","data":{"author":{"name":"Paul Vorbach","email":"paul@vorb.de","url":"http://vorb.de"},"contributors":[{"name":"salba"}],"name":"MD5","description":"native js function for hashing messages with MD5","tags":["md5","hash","encryption","native","message digest"],"version":"1.2.1","repository":{"type":"git","url":"git://github.com/pvorb/node-md5.git"},"bugs":{"url":"https://github.com/pvorb/node-md5/issues"},"main":"md5.js","scripts":{"test":"mocha"},"engines":{"node":"*"},"dependencies":{"charenc":">= 0.0.1","crypt":">= 0.0.1"},"devDependencies":{"mocha":"~ 1.4.2"},"optionalDependencies":{},"homepage":"https://github.com/pvorb/node-md5","_id":"MD5@1.2.1","dist":{"shasum":"2f0b755ad2f2ae2db716d90c4cc85026e87998e1","tarball":"http://registry.npmjs.org/MD5/-/MD5-1.2.1.tgz"},"_from":"MD5@1.2.1","_npmVersion":"1.4.3","_npmUser":{"name":"pvorb","email":"paul@vorba.ch"},"maintainers":[{"name":"pvorb","email":"paul@vorb.de"}],"deprecated":"deprecated, use lowercase 'md5@2.x' from now on","directories":{},"_shasum":"2f0b755ad2f2ae2db716d90c4cc85026e87998e1","_resolved":"https://registry.npmjs.org/MD5/-/MD5-1.2.1.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/MD5/test.js","id":"MD5/test.js","options":{},"isModule":true,"requiredModules":["MD5/md5.js","assert"],"mtime":1396689010000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/index.js","id":"method-override/index.js","options":{},"isModule":true,"requiredModules":["debug/node.js","methods/index.js","parseurl/index.js","querystring","vary/index.js"],"mtime":1413506429000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/browser.js","id":"debug/browser.js","options":{},"isModule":true,"requiredModules":["debug/debug.js"],"mtime":1405464866000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/component.json","id":"debug/component.json","options":{},"isModule":true,"mtime":1413410184000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"requiredModules":["ms/index.js"],"mtime":1405465856000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1386259032000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/node.js","id":"debug/node.js","options":{},"isModule":true,"requiredModules":["tty","util/util.js","debug/debug.js","fs","net"],"mtime":1413407966000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/node_modules/ms/package.json","data":{"name":"ms","version":"0.6.2","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"readme":"# ms.js: miliseconds conversion utility\n\n```js\nms('1d')      // 86400000\nms('10h')     // 36000000\nms('2h')      // 7200000\nms('1m')      // 60000\nms('5s')      // 5000\nms('100')     // 100\n```\n\n```js\nms(60000)             // \"1m\"\nms(2 * 60000)         // \"2m\"\nms(ms('10 hours'))    // \"10h\"\n```\n\n```js\nms(60000, { long: true })             // \"1 minute\"\nms(2 * 60000, { long: true })         // \"2 minutes\"\nms(ms('10 hours', { long: true }))    // \"10 hours\"\n```\n\n- Node/Browser compatible. Published as `ms` in NPM.\n- If a number is supplied to `ms`, a string with a unit is returned.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `'100'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n\n## License\n\nMIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.6.2","_shasum":"d89c2124c6fdc1353d65a8b77bf1aac4b193708c","_from":"ms@0.6.2","_resolved":"https://registry.npmjs.org/ms/-/ms-0.6.2.tgz","scripts":{}},"mtime":1415897188000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/debug/package.json","data":{"name":"debug","version":"2.1.0","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io"}],"license":"MIT","dependencies":{"ms":"0.6.2"},"devDependencies":{"browserify":"6.1.0","mocha":"*"},"main":"./node.js","browser":"./browser.js","component":{"scripts":{"debug/index.js":"browser.js","debug/debug.js":"debug.js"}},"readme":"# debug\n\n  tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n  , http = require('http')\n  , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n  debug(req.method + ' ' + req.url);\n  res.end('hello\\n');\n}).listen(3000, function(){\n  debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n  debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n  ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n  ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n  When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n  ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n  When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n  ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n  The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n  You can also exclude specific debuggers by prefixing them with a \"-\" character.  For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n  Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable('worker:*')` in the console and refresh the page, this will remain until you disable with `debug.disable()`.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n  a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n  b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n  Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n  option. These are WebKit web inspectors, Firefox ([since version\n  31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n  and the Firebug plugin for Firefox (any version).\n\n  Colored output looks something like:\n\n  ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stderr.js_:\n\n```js\nvar debug = require('../');\nvar log = debug('app:log');\n\n// by default console.log is used\nlog('goes to stdout!');\n\nvar error = debug('app:error');\n// set this namespace to log via console.error\nerror.log = console.error.bind(console); // don't forget to bind to console!\nerror('goes to stderr');\nlog('still goes to stdout!');\n\n// set all output to go via console.warn\n// overrides all per-namespace log settings\ndebug.log = console.warn.bind(console);\nlog('now goes to stderr via console.warn');\nerror('still goes to stderr, but via console.warn now');\n```\n\n## Authors\n\n - TJ Holowaychuk\n - Nathan Rajlich\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@2.1.0","_shasum":"33ab915659d8c2cc8a41443d94d6ebd37697ed21","_from":"debug@~2.1.0","_resolved":"https://registry.npmjs.org/debug/-/debug-2.1.0.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/methods/index.js","id":"methods/index.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1404614598000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/methods/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/methods/package.json","data":{"name":"methods","version":"1.1.0","description":"HTTP methods that node supports","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha"},"keywords":["http","methods"],"author":{"name":"TJ Holowaychuk"},"license":"MIT","repository":{"type":"git","url":"git://github.com/visionmedia/node-methods.git"},"devDependencies":{"mocha":"1.17.x"},"readme":"\n# Methods\n\n  HTTP verbs that node core's parser supports.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/node-methods/issues"},"homepage":"https://github.com/visionmedia/node-methods","_id":"methods@1.1.0","_shasum":"5dca4ee12df52ff3b056145986a8f01cbc86436f","_from":"methods@1.1.0","_resolved":"https://registry.npmjs.org/methods/-/methods-1.1.0.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/methods/test/methods.js","id":"methods/test/methods.js","options":{},"isModule":true,"requiredModules":["http","assert","methods/index.js"],"mtime":1404614598000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/parseurl/index.js","id":"parseurl/index.js","options":{},"isModule":true,"requiredModules":["url"],"mtime":1407637621000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/parseurl/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/parseurl/package.json","data":{"name":"parseurl","description":"parse a url with memoization","version":"1.3.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"}],"repository":{"type":"git","url":"git://github.com/expressjs/parseurl"},"license":"MIT","devDependencies":{"benchmark":"1.0.0","beautify-benchmark":"0.2.4","fast-url-parser":"~1.0.0","istanbul":"0.3.0","mocha":"~1.21.4"},"scripts":{"bench":"node benchmark/index.js","test":"mocha --check-leaks --bail --reporter spec test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec test/"},"readme":"# parseurl\n\n[![NPM version](https://badge.fury.io/js/parseurl.svg)](http://badge.fury.io/js/parseurl)\n[![Build Status](https://travis-ci.org/expressjs/parseurl.svg?branch=master)](https://travis-ci.org/expressjs/parseurl)\n[![Coverage Status](https://img.shields.io/coveralls/expressjs/parseurl.svg?branch=master)](https://coveralls.io/r/expressjs/parseurl)\n\nParse a URL with memoization.\n\n## Install\n\n```bash\n$ npm install parseurl\n```\n\n## API\n\n```js\nvar parseurl = require('parseurl')\n```\n\n### parseurl(req)\n\nParse the URL of the given request object (looks at the `req.url` property)\nand return the result. The result is the same as `url.parse` in Node.js core.\nCalling this function multiple times on the same `req` where `req.url` does\nnot change will return a cached parsed object, rather than parsing again.\n\n### parseurl.original(req)\n\nParse the original URL of the given request object and return the result.\nThis works by trying to parse `req.originalUrl` if it is a string, otherwise\nparses `req.url`. The result is the same as `url.parse` in Node.js core.\nCalling this function multiple times on the same `req` where `req.originalUrl`\ndoes not change will return a cached parsed object, rather than parsing again.\n\n## Benchmark\n\n```bash\n$ npm run-script bench\n\n> parseurl@1.3.0 bench nodejs-parseurl\n> node benchmark/index.js\n\n> node benchmark/fullurl.js\n\n  Parsing URL \"http://localhost:8888/foo/bar?user=tj&pet=fluffy\"\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x 1,290,780 ops/sec ±0.46% (195 runs sampled)\n  nativeurl x    56,401 ops/sec ±0.22% (196 runs sampled)\n  parseurl  x    55,231 ops/sec ±0.22% (194 runs sampled)\n\n> node benchmark/pathquery.js\n\n  Parsing URL \"/foo/bar?user=tj&pet=fluffy\"\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x 1,986,668 ops/sec ±0.27% (190 runs sampled)\n  nativeurl x    98,740 ops/sec ±0.21% (195 runs sampled)\n  parseurl  x 2,628,171 ops/sec ±0.36% (195 runs sampled)\n\n> node benchmark/samerequest.js\n\n  Parsing URL \"/foo/bar?user=tj&pet=fluffy\" on same request object\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x  2,184,468 ops/sec ±0.40% (194 runs sampled)\n  nativeurl x     99,437 ops/sec ±0.71% (194 runs sampled)\n  parseurl  x 10,498,005 ops/sec ±0.61% (186 runs sampled)\n\n> node benchmark/simplepath.js\n\n  Parsing URL \"/foo/bar\"\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x 4,535,825 ops/sec ±0.27% (191 runs sampled)\n  nativeurl x    98,769 ops/sec ±0.54% (191 runs sampled)\n  parseurl  x 4,164,865 ops/sec ±0.34% (192 runs sampled)\n\n> node benchmark/slash.js\n\n  Parsing URL \"/\"\n\n  1 test completed.\n  2 tests completed.\n  3 tests completed.\n\n  fasturl   x 4,908,405 ops/sec ±0.42% (191 runs sampled)\n  nativeurl x   100,945 ops/sec ±0.59% (188 runs sampled)\n  parseurl  x 4,333,208 ops/sec ±0.27% (194 runs sampled)\n```\n\n## License\n\n  [MIT](LICENSE)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/expressjs/parseurl/issues"},"homepage":"https://github.com/expressjs/parseurl","_id":"parseurl@1.3.0","_shasum":"b58046db4223e145afa76009e61bac87cc2281b3","_from":"parseurl@~1.3.0","_resolved":"https://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/vary/index.js","id":"vary/index.js","options":{},"isModule":true,"mtime":1407703938000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/vary/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/method-override/node_modules/vary/package.json","data":{"name":"vary","description":"Manipulate the HTTP Vary header","version":"1.0.0","author":{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},"license":"MIT","keywords":["http","res","vary"],"repository":{"type":"git","url":"git://github.com/jshttp/vary"},"devDependencies":{"istanbul":"0.3.0","mocha":"~1.21.4","should":"~4.0.4","supertest":"~0.13.0"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"},"readme":"# vary\n\n[![NPM Version](http://img.shields.io/npm/v/vary.svg?style=flat)](https://www.npmjs.org/package/vary)\n[![Node.js Version](http://img.shields.io/badge/node.js->=_0.8-blue.svg?style=flat)](http://nodejs.org/download/)\n[![Build Status](http://img.shields.io/travis/jshttp/vary.svg?style=flat)](https://travis-ci.org/jshttp/vary)\n[![Coverage Status](https://img.shields.io/coveralls/jshttp/vary.svg?style=flat)](https://coveralls.io/r/jshttp/vary)\n[![Gittip](http://img.shields.io/gittip/dougwilson.svg?style=flat)](https://www.gittip.com/dougwilson/)\n\nManipulate the HTTP Vary header\n\n## Install\n\n```sh\n$ npm install vary\n```\n\n## API\n\n```js\nvar vary = require('vary')\n```\n\n### vary(res, field)\n\nAdds the given header `field` to the `Vary` response header of `res`.\nThis can be a string of a single field, a string of a valid `Vary`\nheader, or an array of multiple fields.\n\nThis will append the header if not already listed, otherwise leaves\nit listed in the current location.\n\n```js\n// Append \"Origin\" to the Vary header of the response\nvary(res, 'Origin')\n```\n\n### vary.append(header, field)\n\nAdds the given header `field` to the `Vary` response header string `header`.\nThis can be a string of a single field, a string of a valid `Vary` header,\nor an array of multiple fields.\n\nThis will append the header if not already listed, otherwise leaves\nit listed in the current location. The new header string is returned.\n\n```js\n// Get header string appending \"Origin\" to \"Accept, User-Agent\"\nvary.append('Accept, User-Agent', 'Origin')\n```\n\n## Testing\n\n```sh\n$ npm test\n```\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/vary/issues"},"homepage":"https://github.com/jshttp/vary","_id":"vary@1.0.0","_shasum":"c5e76cec20d3820d8f2a96e7bee38731c34da1e7","_from":"vary@~1.0.0","_resolved":"https://registry.npmjs.org/vary/-/vary-1.0.0.tgz"},"mtime":1415897187000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/method-override/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/method-override/package.json","data":{"name":"method-override","description":"Override HTTP verbs","version":"2.3.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","repository":{"type":"git","url":"git://github.com/expressjs/method-override"},"dependencies":{"debug":"~2.1.0","methods":"1.1.0","parseurl":"~1.3.0","vary":"~1.0.0"},"devDependencies":{"istanbul":"0.3.2","mocha":"~1.21.4","supertest":"~0.14.0"},"files":["LICENSE","HISTORY.md","index.js"],"engines":{"node":">= 0.8.0"},"scripts":{"test":"mocha --check-leaks --reporter spec --bail test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec test/"},"readme":"# method-override\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n[![Gratipay][gratipay-image]][gratipay-url]\n\nLets you use HTTP verbs such as PUT or DELETE in places where the client doesn't support it.\n\n## Install\n\n```sh\n$ npm install method-override\n```\n\n## API\n\n**NOTE** It is very important that this module is used **before** any module that\nneeds to know the method of the request (for example, it _must_ be used prior to\nthe `csurf` module).\n\n### methodOverride(getter, options)\n\nCreate a new middleware function to override the `req.method` property with a new\nvalue. This value will be pulled from the provided `getter`.\n\n- `getter` - The getter to use to look up the overridden request method for the request. (default: `X-HTTP-Method-Override`)\n- `options.methods` - The allowed methods the original request must be in to check for a method override value. (default: `['POST']`)\n\nIf the found method is supported by node.js core, then `req.method` will be set to\nthis value, as if it has originally been that value. The previous `req.method`\nvalue will be stored in `req.originalMethod`.\n\n#### getter\n\nThis is the method of getting the override value from the request. If a function is provided,\nthe `req` is passed as the first argument, the `res as the second argument and the method is\nexpected to be returned. If a string is provided, the string is used to look up the method\nwith the following rules:\n\n- If the string starts with `X-`, then it is treated as the name of a header and that header\n  is used for the method override. If the request contains the same header multiple times, the\n  first occurrence is used.\n- All other strings are treated as a key in the URL query string.\n\n#### options.methods\n\nThis allows the specification of what methods(s) the request *MUST* be in in order to check for\nthe method override value. This defaults to only `POST` methods, which is the only method the\noverride should arrive in. More methods may be specified here, but it may introduce security\nissues and cause weird behavior when requests travel through caches. This value is an array\nof methods in upper-case. `null` can be specified to allow all methods.\n\n## Examples\n\n### override using a header\n\nTo use a header to override the method, specify the header name\nas a string argument to the `methodOverride` function. To then make\nthe call, send  a `POST` request to a URL with the overridden method\nas the value of that header. This method of using a header would\ntypically be used in conjunction with `XMLHttpRequest` on implementations\nthat do not support the method you are trying to use.\n\n```js\nvar connect        = require('connect')\nvar methodOverride = require('method-override')\n\n// override with the X-HTTP-Method-Override header in the request\napp.use(methodOverride('X-HTTP-Method-Override'))\n```\n\nExample call with header override using `XMLHttpRequest`:\n\n```js\nvar xhr = new XMLHttpRequest()\nxhr.onload = onload\nxhr.open('post', '/resource', true)\nxhr.setRequestHeader('X-HTTP-Method-Override', 'DELETE')\nxhr.send()\n\nfunction onload() {\n  alert('got response: ' + this.responseText)\n}\n```\n\n### override using a query value\n\nTo use a query string value to override the method, specify the query\nstring key as a string argument to the `methodOverride` function. To\nthen make the call, send  a `POST` request to a URL with the overridden\nmethod as the value of that query string key. This method of using a\nquery value would typically be used in conjunction with plain HTML\n`<form>` elements when trying to support legacy browsers but still use\nnewer methods.\n\n```js\nvar connect        = require('connect')\nvar methodOverride = require('method-override')\n\n// override with POST having ?_method=DELETE\napp.use(methodOverride('_method'))\n```\n\nExample call with query override using HTML `<form>`:\n\n```html\n<form method=\"POST\" action=\"/resource?_method=DELETE\">\n  <button type=\"submit\">Delete resource</button>\n</form>\n```\n\n### multiple format support\n\n```js\nvar connect        = require('connect')\nvar methodOverride = require('method-override')\n\n// override with different headers; last one takes precedence\napp.use(methodOverride('X-HTTP-Method'))          // Microsoft\napp.use(methodOverride('X-HTTP-Method-Override')) // Google/GData\napp.use(methodOverride('X-Method-Override'))      // IBM\n```\n\n### custom logic\n\nYou can implement any kind of custom logic with a function for the `getter`. The following\nimplements the logic for looking in `req.body` that was in `method-override@1`:\n\n```js\nvar bodyParser     = require('body-parser')\nvar connect        = require('connect')\nvar methodOverride = require('method-override')\n\n// NOTE: when using req.body, you must fully parse the request body\n//       before you call methodOverride() in your middleware stack,\n//       otherwise req.body will not be populated.\napp.use(bodyParser.urlencoded())\napp.use(methodOverride(function(req, res){\n  if (req.body && typeof req.body === 'object' && '_method' in req.body) {\n    // look in urlencoded POST bodies and delete it\n    var method = req.body._method\n    delete req.body._method\n    return method\n  }\n}))\n```\n\nExample call with query override using HTML `<form>`:\n\n```html\n<!-- enctype must be set to the type you will parse before methodOverride() -->\n<form method=\"POST\" action=\"/resource\" enctype=\"application/x-www-form-urlencoded\">\n  <input type=\"hidden\" name=\"_method\" value=\"DELETE\">\n  <button type=\"submit\">Delete resource</button>\n</form>\n```\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/method-override.svg?style=flat\n[npm-url]: https://npmjs.org/package/method-override\n[travis-image]: https://img.shields.io/travis/expressjs/method-override.svg?style=flat\n[travis-url]: https://travis-ci.org/expressjs/method-override\n[coveralls-image]: https://img.shields.io/coveralls/expressjs/method-override.svg?style=flat\n[coveralls-url]: https://coveralls.io/r/expressjs/method-override?branch=master\n[downloads-image]: https://img.shields.io/npm/dm/method-override.svg?style=flat\n[downloads-url]: https://npmjs.org/package/method-override\n[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg?style=flat\n[gratipay-url]: https://www.gratipay.com/dougwilson/\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/expressjs/method-override/issues"},"homepage":"https://github.com/expressjs/method-override","_id":"method-override@2.3.0","_shasum":"fe820769594247ede8a6ca87b8eaa413084e595e","_from":"method-override@^2.0.2","_resolved":"https://registry.npmjs.org/method-override/-/method-override-2.3.0.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/bin/cmd.js","id":"mkdirp/bin/cmd.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","minimist/index.js","fs"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1431570694000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/example/parse.js","id":"minimist/example/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js"],"mtime":1372147306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/index.js","id":"minimist/index.js","options":{},"isModule":true,"mtime":1392957961000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/package.json","data":{"name":"minimist","version":"0.0.8","description":"parse argument options","main":"index.js","devDependencies":{"tape":"~1.0.4","tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/6..latest","ff/5","firefox/latest","chrome/10","chrome/latest","safari/5.1","safari/latest","opera/12"]},"repository":{"type":"git","url":"git://github.com/substack/minimist.git"},"homepage":"https://github.com/substack/minimist","keywords":["argv","getopt","parser","optimist"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/minimist/issues"},"_id":"minimist@0.0.8","dist":{"shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","tarball":"http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"},"_from":"minimist@0.0.8","_npmVersion":"1.4.3","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{},"_shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","_resolved":"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"},"mtime":1443817565000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/test/dash.js","id":"minimist/test/dash.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1389378397000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/test/default_bool.js","id":"minimist/test/default_bool.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372147071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/test/dotted.js","id":"minimist/test/dotted.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1377730679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/test/long.js","id":"minimist/test/long.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372143145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/test/parse.js","id":"minimist/test/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1392957961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js","id":"minimist/test/parse_modified.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372145355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/test/short.js","id":"minimist/test/short.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1391917546000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/node_modules/minimist/test/whitespace.js","id":"minimist/test/whitespace.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372148159000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.1","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"index.js","keywords":["mkdir","directory"],"repository":{"type":"git","url":"git+https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"0.0.8"},"devDependencies":{"tap":"1","mock-fs":"2 >=2.7.0"},"bin":{"mkdirp":"bin/cmd.js"},"license":"MIT","gitHead":"d4eff0f06093aed4f387e88e9fc301cb76beedc7","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp#readme","_id":"mkdirp@0.5.1","_shasum":"30057438eac6cf7f8c4767f38648d6697d75c903","_from":"mkdirp@>=0.5.1 <0.6.0","_npmVersion":"2.9.0","_nodeVersion":"2.0.0","_npmUser":{"name":"substack","email":"substack@gmail.com"},"dist":{"shasum":"30057438eac6cf7f8c4767f38648d6697d75c903","tarball":"http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{},"_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443817564000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/opts_fs.js","id":"mkdirp/test/opts_fs.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/opts_fs_sync.js","id":"mkdirp/test/opts_fs_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/ender.js","id":"moment/ender.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/af.js","id":"moment/locale/af.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ar-ma.js","id":"moment/locale/ar-ma.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ar-sa.js","id":"moment/locale/ar-sa.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ar-tn.js","id":"moment/locale/ar-tn.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ar.js","id":"moment/locale/ar.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/az.js","id":"moment/locale/az.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/be.js","id":"moment/locale/be.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/bg.js","id":"moment/locale/bg.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/bn.js","id":"moment/locale/bn.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/bo.js","id":"moment/locale/bo.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/br.js","id":"moment/locale/br.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/bs.js","id":"moment/locale/bs.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ca.js","id":"moment/locale/ca.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/cs.js","id":"moment/locale/cs.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/cv.js","id":"moment/locale/cv.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/cy.js","id":"moment/locale/cy.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/da.js","id":"moment/locale/da.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/de-at.js","id":"moment/locale/de-at.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/de.js","id":"moment/locale/de.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/el.js","id":"moment/locale/el.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/en-au.js","id":"moment/locale/en-au.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/en-ca.js","id":"moment/locale/en-ca.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/en-gb.js","id":"moment/locale/en-gb.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/eo.js","id":"moment/locale/eo.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/es.js","id":"moment/locale/es.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/et.js","id":"moment/locale/et.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/eu.js","id":"moment/locale/eu.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/fa.js","id":"moment/locale/fa.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/fi.js","id":"moment/locale/fi.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/fo.js","id":"moment/locale/fo.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/fr-ca.js","id":"moment/locale/fr-ca.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/fr.js","id":"moment/locale/fr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/fy.js","id":"moment/locale/fy.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/gl.js","id":"moment/locale/gl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/he.js","id":"moment/locale/he.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/hi.js","id":"moment/locale/hi.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/hr.js","id":"moment/locale/hr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/hu.js","id":"moment/locale/hu.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/hy-am.js","id":"moment/locale/hy-am.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/id.js","id":"moment/locale/id.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/is.js","id":"moment/locale/is.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/it.js","id":"moment/locale/it.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ja.js","id":"moment/locale/ja.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ka.js","id":"moment/locale/ka.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/km.js","id":"moment/locale/km.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ko.js","id":"moment/locale/ko.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/lb.js","id":"moment/locale/lb.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/lt.js","id":"moment/locale/lt.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/lv.js","id":"moment/locale/lv.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/mk.js","id":"moment/locale/mk.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ml.js","id":"moment/locale/ml.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/mr.js","id":"moment/locale/mr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ms-my.js","id":"moment/locale/ms-my.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/my.js","id":"moment/locale/my.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/nb.js","id":"moment/locale/nb.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ne.js","id":"moment/locale/ne.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/nl.js","id":"moment/locale/nl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/nn.js","id":"moment/locale/nn.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/pl.js","id":"moment/locale/pl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/pt-br.js","id":"moment/locale/pt-br.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/pt.js","id":"moment/locale/pt.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ro.js","id":"moment/locale/ro.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ru.js","id":"moment/locale/ru.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/sk.js","id":"moment/locale/sk.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/sl.js","id":"moment/locale/sl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/sq.js","id":"moment/locale/sq.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/sr-cyrl.js","id":"moment/locale/sr-cyrl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/sr.js","id":"moment/locale/sr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/sv.js","id":"moment/locale/sv.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/ta.js","id":"moment/locale/ta.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/th.js","id":"moment/locale/th.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/tl-ph.js","id":"moment/locale/tl-ph.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/tr.js","id":"moment/locale/tr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/tzm-latn.js","id":"moment/locale/tzm-latn.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/tzm.js","id":"moment/locale/tzm.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/uk.js","id":"moment/locale/uk.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/uz.js","id":"moment/locale/uz.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/vi.js","id":"moment/locale/vi.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/zh-cn.js","id":"moment/locale/zh-cn.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/locale/zh-tw.js","id":"moment/locale/zh-tw.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/min/locales.js","id":"moment/min/locales.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/min/locales.min.js","id":"moment/min/locales.min.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/min/moment-with-locales.js","id":"moment/min/moment-with-locales.js","options":{},"isModule":true,"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/min/moment-with-locales.min.js","id":"moment/min/moment-with-locales.min.js","options":{},"isModule":true,"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/min/moment.min.js","id":"moment/min/moment.min.js","options":{},"isModule":true,"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/moment.js","id":"moment/moment.js","options":{},"isModule":true,"mtime":1420729160000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment/package.js","id":"moment/package.js","options":{},"isModule":true,"mtime":1420729160000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/moment/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/moment/package.json","data":{"name":"moment","version":"2.9.0","description":"Parse, validate, manipulate, and display dates","homepage":"http://momentjs.com","author":{"name":"Iskren Ivov Chernev","email":"iskren.chernev@gmail.com","url":"https://github.com/ichernev"},"contributors":[{"name":"Tim Wood","email":"washwithcare@gmail.com","url":"http://timwoodcreates.com/"},{"name":"Rocky Meza","url":"http://rockymeza.com"},{"name":"Matt Johnson","email":"mj1856@hotmail.com","url":"http://codeofmatt.com"},{"name":"Isaac Cambron","email":"isaac@isaaccambron.com","url":"http://isaaccambron.com"},{"name":"Andre Polykanine","email":"andre@oire.org","url":"https://github.com/oire"}],"keywords":["moment","date","time","parse","format","validate","i18n","l10n","ender"],"main":"./moment.js","engines":{"node":"*"},"repository":{"type":"git","url":"https://github.com/moment/moment.git"},"bugs":{"url":"https://github.com/moment/moment/issues"},"licenses":[{"type":"MIT"}],"devDependencies":{"uglify-js":"latest","grunt":"latest","nodeunit":"latest","benchmark":"latest","grunt-contrib-clean":"latest","grunt-contrib-jshint":"latest","grunt-contrib-nodeunit":"latest","grunt-contrib-concat":"latest","grunt-contrib-uglify":"latest","grunt-contrib-watch":"latest","grunt-env":"latest","grunt-jscs":"latest","grunt-karma":"latest","grunt-nuget":"latest","grunt-benchmark":"latest","grunt-string-replace":"latest","grunt-exec":"latest","load-grunt-tasks":"latest","karma":"latest","karma-chrome-launcher":"latest","karma-firefox-launcher":"latest","karma-nodeunit":"latest","karma-sauce-launcher":"latest","spacejam":"latest"},"scripts":{"test":"grunt test:node"},"ender":"./ender.js","dojoBuild":"package.js","jspm":{"files":["moment.js","locale"],"map":{"moment":"./moment"},"buildConfig":{"uglify":true}},"spm":{"main":"moment.js","output":["locale/*.js"]},"_id":"moment@2.9.0","dist":{"shasum":"77ec1175fa294f42627f10c8e6de6302c036f6d5","tarball":"http://registry.npmjs.org/moment/-/moment-2.9.0.tgz"},"_from":"moment@2.9.0","_npmVersion":"1.4.6","_npmUser":{"name":"ichernev","email":"iskren.chernev@gmail.com"},"maintainers":[{"name":"timrwood","email":"washwithcare@gmail.com"},{"name":"ichernev","email":"iskren.chernev@gmail.com"}],"directories":{},"_shasum":"77ec1175fa294f42627f10c8e6de6302c036f6d5","_resolved":"https://registry.npmjs.org/moment/-/moment-2.9.0.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment-timezone/data/meta/latest.json","id":"moment-timezone/data/meta/latest.json","options":{},"isModule":true,"mtime":1419615552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment-timezone/data/packed/latest.json","id":"moment-timezone/data/packed/latest.json","options":{},"isModule":true,"mtime":1419015030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment-timezone/data/unpacked/latest.json","id":"moment-timezone/data/unpacked/latest.json","options":{},"isModule":true,"mtime":1419015030000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment-timezone/index.js","id":"moment-timezone/index.js","options":{},"isModule":true,"requiredModules":["moment-timezone/moment-timezone.js","moment-timezone/data/packed/latest.json"],"mtime":1413835634000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment-timezone/moment-timezone-utils.js","id":"moment-timezone/moment-timezone-utils.js","options":{},"isModule":true,"requiredModules":["moment-timezone/index.js"],"mtime":1421166046000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/moment-timezone/moment-timezone.js","id":"moment-timezone/moment-timezone.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1421166235000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/moment-timezone/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/moment-timezone/package.json","data":{"name":"moment-timezone","version":"0.3.0","description":"Parse and display moments in any timezone.","homepage":"http://momentjs.com/timezone/","author":{"name":"Tim Wood","email":"washwithcare@gmail.com","url":"http://timwoodcreates.com/"},"keywords":["moment","date","time","timezone","olson","iana","zone","tz"],"main":"./index.js","engines":{"node":"*"},"repository":{"type":"git","url":"https://github.com/moment/moment-timezone.git"},"bugs":{"url":"https://github.com/moment/moment-timezone/issues"},"license":"MIT","dependencies":{"moment":">= 2.6.0"},"devDependencies":{"grunt":"0.4.4","grunt-contrib-clean":"0.5.0","grunt-contrib-nodeunit":"0.3.3","grunt-contrib-jshint":"0.10.0","grunt-contrib-uglify":"0.4.0"},"scripts":{"test":"grunt"},"gitHead":"81fafffd2195311f41a848172ba92f48e4d31606","_id":"moment-timezone@0.3.0","_shasum":"ea67ab9fc84cafe9153f0017e7669b1c869ecbb7","_from":"moment-timezone@0.3.0","_npmVersion":"2.0.0","_npmUser":{"name":"timrwood","email":"washwithcare@gmail.com"},"maintainers":[{"name":"timrwood","email":"washwithcare@gmail.com"},{"name":"ichernev","email":"iskren.chernev@gmail.com"}],"dist":{"shasum":"ea67ab9fc84cafe9153f0017e7669b1c869ecbb7","tarball":"http://registry.npmjs.org/moment-timezone/-/moment-timezone-0.3.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.3.0.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-uri/lib/index.js","id":"mongo-uri/lib/index.js","options":{},"isModule":true,"requiredModules":["mongo-uri/lib/mongo-uri.js"],"mtime":1362219215000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-uri/lib/mongo-uri.js","id":"mongo-uri/lib/mongo-uri.js","options":{},"isModule":true,"requiredModules":["querystring"],"mtime":1362219215000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-uri/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-uri/package.json","data":{"name":"mongo-uri","version":"0.1.2","description":"I parse mongo URIs; especially the tricky repl set ones.","main":"lib/index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git://github.com/supershabam/mongo-uri"},"keywords":["mongodb","uri","url"],"author":{"name":"Ian Hansen"},"license":"MIT","readmeFilename":"README.md","gitHead":"07d634af7ade5544fd28c98907cd1567b35a9b56","devDependencies":{"grunt-contrib-clean":"~0.4.0","grunt-contrib-coffee":"~0.5.0","chai":"~1.5.0","coffee-script":"~1.5.0","mocha":"~1.8.1","grunt":"~0.4.0"},"engines":{"node":">=0.8"},"readme":"mongo-uri\n=========\n\nI parse mongo URIs; especially the tricky repl set ones.  \n[![Build Status](https://travis-ci.org/supershabam/mongo-uri.png?branch=master)](https://travis-ci.org/supershabam/mongo-uri)\n\nDear NodeJS MongoDB Drivers\n---------------------------\n\nI want to use the mongodb connection string... and not just the simple `mongodb://localhost`.\n\nAs it turns out, as soon as you start working with real... non-localhost/side-project\ndeployments, you need to connect to replication sets. Luckily the defined connection\nstring format accomodates such configurations!\n\nSadly, you do not understand these connection strings, or have unacceptable bugs with\nyour parsing (e.g. uris are uri encoded).\n\nSo, I made a uri parser for you.\n\nPlease find bugs in my code, and help me make it the best mongo connection string\nparser in history.\n\nAND THEN USE IT!\n\nHeads up\n--------\n\nI refuse to make assumptions about defaults as part of the parser. So, if a port\ngoes unspecified, I will say that the port is null (because it is), and it is\nyour job to realize that the default port is 27015.\n\nUsage\n-----\n\n```javascript\nvar MongoURI = require('mongo-uri')\n  , uriString\n  , uri\n  ;\n\n// let's deal with a complicated (yet real-life) uri\nuriString = \"mongodb://%40u%2Fs%3Fe%3Ar:p%40a%2Fs%3Fs%3A@example1.com,example2.com,example3.com:27018/?readPreference=secondary&w=2&wtimeoutMS=2000&readPreferenceTags=dc:ny,rack:1&readPreferenceTags=dc:ny&readPreferenceTags=\";\n\ntry {\n  uri = MongoURI.parse(uriString);\n} catch (err) {\n  // handle this correctly, kthxbye\n}\n\nconsole.log(uri);\n/*\n * username: \"@u/s?e:r\" // yay! it got decoded like it was supposed to!\n * password: \"p@a/s?s:\"\n * hosts: [\"example1.com\", \"example2.com\", \"example3.com\"] // wow, multiple hosts!\n * ports: [null, null, 27018] // remember, I don't assume\n * database: null // what did I just say?\n * options: {\n *   readPreference: \"secondary\",\n *   w: \"2\",\n *   timeoutMS: \"2000\",\n *   readPreferenceTags: [\"dc:ny,rack:1\", \"dc:ny\", \"\"] // yeah, this is correct\n * }\n */\n```\n\nSource\n------\n\nOk, so I made a Tweet (which is as good as a promise) that my next npm module would\nbe in [literate coffeescript](http://ashkenas.com/literate-coffeescript/). So,\nI had fun documenting my code, but I *do not* want the .litcoffee to be transpiled\nupon `npm install` of everbody using this code.\n\nGitHub should store the raw source (without the transpiled lib/*.js contents), but\nnpm should store the ready-to-use no-transpiling-needed javascript!\n\nSo, I created a grunt task to do my publishing. Instead of using `npm publish`, I\nuse `grunt publish` which cleans my directory, compiles my .litcoffee files, and\nthen publishes.\n\nSo, don't hate me for using .litcoffee. You're getting raw javascript goodness\nwhen you npm install me.\n\nLicense\n-------\n\nMIT\n","bugs":{"url":"https://github.com/supershabam/mongo-uri/issues"},"homepage":"https://github.com/supershabam/mongo-uri","_id":"mongo-uri@0.1.2","_shasum":"173af01403339002e0abd0b4d675987d3cdcf99e","_from":"mongo-uri@^0.1.2","_resolved":"https://registry.npmjs.org/mongo-uri/-/mongo-uri-0.1.2.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-uri/test/common.js","id":"mongo-uri/test/common.js","options":{},"isModule":true,"requiredModules":["path","chai/index.js"],"mtime":1362218781000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/lib/utils.js","id":"mongo-utils/lib/utils.js","options":{},"isModule":true,"requiredModules":["child_process","url","heroku/lib/heroku.js","fs","mongoson/lib/mson.js"],"mtime":1369328552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/addons.js","id":"heroku/lib/addons.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/apps.js","id":"heroku/lib/apps.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/collaborators.js","id":"heroku/lib/collaborators.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/config_vars.js","id":"heroku/lib/config_vars.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/domains.js","id":"heroku/lib/domains.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/heroku.js","id":"heroku/lib/heroku.js","options":{},"isModule":true,"requiredModules":["querystring","heroku/lib/addons.js","heroku/lib/apps.js","heroku/lib/collaborators.js","heroku/lib/config_vars.js","heroku/lib/domains.js","heroku/lib/keys.js","heroku/lib/logs.js","heroku/lib/processes.js","heroku/lib/releases.js","heroku/lib/stacks.js","heroku/lib/pgbackups.js"],"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/keys.js","id":"heroku/lib/keys.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/logs.js","id":"heroku/lib/logs.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/pgbackups.js","id":"heroku/lib/pgbackups.js","options":{},"isModule":true,"requiredModules":["url"],"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/postgres-addon.js","id":"heroku/lib/postgres-addon.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1334874851000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/processes.js","id":"heroku/lib/processes.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/releases.js","id":"heroku/lib/releases.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/shared-postgresql.js","id":"heroku/lib/shared-postgresql.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1334874851000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/lib/stacks.js","id":"heroku/lib/stacks.js","options":{},"isModule":true,"mtime":1380031323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/browser.js","id":"coffee-script/lib/coffee-script/browser.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/cake.js","id":"coffee-script/lib/coffee-script/cake.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/optparse.js","coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/coffee-script.js","id":"coffee-script/lib/coffee-script/coffee-script.js","options":{},"isModule":true,"requiredModules":["fs","vm","path","child_process","coffee-script/lib/coffee-script/lexer.js","coffee-script/lib/coffee-script/parser.js","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/sourcemap.js","module","coffee-script/lib/coffee-script/nodes.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/command.js","id":"coffee-script/lib/coffee-script/command.js","options":{},"isModule":true,"requiredModules":["fs","path","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/optparse.js","coffee-script/lib/coffee-script/coffee-script.js","child_process","events","coffee-script/lib/coffee-script/repl.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/grammar.js","id":"coffee-script/lib/coffee-script/grammar.js","options":{},"isModule":true,"requiredModules":["jison"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/helpers.js","id":"coffee-script/lib/coffee-script/helpers.js","options":{},"isModule":true,"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/index.js","id":"coffee-script/lib/coffee-script/index.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/lexer.js","id":"coffee-script/lib/coffee-script/lexer.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/rewriter.js","coffee-script/lib/coffee-script/helpers.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/nodes.js","id":"coffee-script/lib/coffee-script/nodes.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/scope.js","coffee-script/lib/coffee-script/lexer.js","coffee-script/lib/coffee-script/helpers.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/optparse.js","id":"coffee-script/lib/coffee-script/optparse.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/helpers.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/parser.js","id":"coffee-script/lib/coffee-script/parser.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/repl.js","id":"coffee-script/lib/coffee-script/repl.js","options":{},"isModule":true,"requiredModules":["fs","path","vm","repl","coffee-script/lib/coffee-script/coffee-script.js","coffee-script/lib/coffee-script/helpers.js","coffee-script/lib/coffee-script/nodes.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/rewriter.js","id":"coffee-script/lib/coffee-script/rewriter.js","options":{},"isModule":true,"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/scope.js","id":"coffee-script/lib/coffee-script/scope.js","options":{},"isModule":true,"requiredModules":["coffee-script/lib/coffee-script/helpers.js"],"mtime":1370151487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/lib/coffee-script/sourcemap.js","id":"coffee-script/lib/coffee-script/sourcemap.js","options":{},"isModule":true,"mtime":1370151487000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/coffee-script/package.json","data":{"name":"coffee-script","description":"Unfancy JavaScript","keywords":["javascript","language","coffeescript","compiler"],"author":{"name":"Jeremy Ashkenas"},"version":"1.6.3","licenses":[{"type":"MIT","url":"https://raw.github.com/jashkenas/coffee-script/master/LICENSE"}],"engines":{"node":">=0.8.0"},"directories":{"lib":"./lib/coffee-script"},"main":"./lib/coffee-script/coffee-script","bin":{"coffee":"./bin/coffee","cake":"./bin/cake"},"scripts":{"test":"node ./bin/cake test"},"homepage":"http://coffeescript.org","bugs":{"url":"https://github.com/jashkenas/coffee-script/issues"},"repository":{"type":"git","url":"git://github.com/jashkenas/coffee-script.git"},"devDependencies":{"uglify-js":"~2.2","jison":">=0.2.0"},"readme":"\n            {\n         }   }   {\n        {   {  }  }\n         }   }{  {\n        {  }{  }  }                    _____       __  __\n       ( }{ }{  { )                   / ____|     / _|/ _|\n     .- { { }  { }} -.               | |     ___ | |_| |_ ___  ___\n    (  ( } { } { } }  )              | |    / _ \\|  _|  _/ _ \\/ _ \\\n    |`-..________ ..-'|              | |___| (_) | | | ||  __/  __/\n    |                 |               \\_____\\___/|_| |_| \\___|\\___|\n    |                 ;--.\n    |                (__  \\            _____           _       _\n    |                 | )  )          / ____|         (_)     | |\n    |                 |/  /          | (___   ___ _ __ _ _ __ | |_\n    |                 (  /            \\___ \\ / __| '__| | '_ \\| __|\n    |                 |/              ____) | (__| |  | | |_) | |_\n    |                 |              |_____/ \\___|_|  |_| .__/ \\__|\n     `-.._________..-'                                  | |\n                                                        |_|\n\n\n  CoffeeScript is a little language that compiles into JavaScript.\n\n  Install Node.js, and then the CoffeeScript compiler:\n  sudo bin/cake install\n\n  Or, if you have the Node Package Manager installed:\n  npm install -g coffee-script\n  (Leave off the -g if you don't wish to install globally.)\n\n  Execute a script:\n  coffee /path/to/script.coffee\n\n  Compile a script:\n  coffee -c /path/to/script.coffee\n\n  For documentation, usage, and examples, see:\n  http://coffeescript.org/\n\n  To suggest a feature, report a bug, or general discussion:\n  http://github.com/jashkenas/coffee-script/issues/\n\n  If you'd like to chat, drop by #coffeescript on Freenode IRC,\n  or on webchat.freenode.net.\n\n  The source repository:\n  git://github.com/jashkenas/coffee-script.git\n\n  All contributors are listed here:\n  http://github.com/jashkenas/coffee-script/contributors\n","readmeFilename":"README","_id":"coffee-script@1.6.3","_shasum":"6355d32cf1b04cdff6b484e5e711782b2f0c39be","_from":"coffee-script@1.6.3","_resolved":"https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/async-callback.js","id":"jasmine-node/lib/jasmine-node/async-callback.js","options":{},"isModule":true,"mtime":1372453488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/autotest.js","id":"jasmine-node/lib/jasmine-node/autotest.js","options":{},"isModule":true,"requiredModules":["walkdir/walkdir.js","jasmine-node/lib/jasmine-node/spec-collection.js","path","fs","child_process","gaze/lib/gaze.js","underscore/underscore.js"],"mtime":1369782385000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/cli.js","id":"jasmine-node/lib/jasmine-node/cli.js","options":{},"isModule":true,"requiredModules":["path","fs","jasmine-node/lib/jasmine-node/index.js","util/util.js","sys","jasmine-node/lib/jasmine-node/spec-collection.js","coffee-script/lib/coffee-script/coffee-script.js","jasmine-node/lib/jasmine-node/autotest.js"],"mtime":1373292401000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/cs.js","id":"jasmine-node/lib/jasmine-node/cs.js","options":{},"isModule":true,"mtime":1359640091000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/index.js","id":"jasmine-node/lib/jasmine-node/index.js","options":{},"isModule":true,"requiredModules":["fs","mkdirp/index.js","util/util.js","sys","path","vm","jasmine-node/lib/jasmine-node/async-callback.js","jasmine-reporters/src/load_reporters.js","jasmine-node/lib/jasmine-node/reporter.js","jasmine-node/lib/jasmine-node/spec-collection.js","jasmine-node/lib/jasmine-node/requirejs-runner.js"],"mtime":1373292328000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/jasmine-1.3.1.js","id":"jasmine-node/lib/jasmine-node/jasmine-1.3.1.js","options":{},"isModule":true,"mtime":1359652516000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/reporter.js","id":"jasmine-node/lib/jasmine-node/reporter.js","options":{},"isModule":true,"requiredModules":["util/util.js","sys"],"mtime":1373292328000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/requirejs-runner.js","id":"jasmine-node/lib/jasmine-node/requirejs-runner.js","options":{},"isModule":true,"requiredModules":["jasmine-node/lib/jasmine-node/requirejs-spec-loader.js","requirejs/bin/r.js","vm","fs","coffee-script/lib/coffee-script/coffee-script.js"],"mtime":1372452353000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/requirejs-spec-loader.js","id":"jasmine-node/lib/jasmine-node/requirejs-spec-loader.js","options":{},"isModule":true,"requiredModules":["underscore/underscore.js"],"mtime":1361640218000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/requirejs-wrapper-template.js","id":"jasmine-node/lib/jasmine-node/requirejs-wrapper-template.js","options":{},"isModule":true,"requiredModules":["requirejs/bin/r.js","path"],"mtime":1361640218000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/lib/jasmine-node/spec-collection.js","id":"jasmine-node/lib/jasmine-node/spec-collection.js","options":{},"isModule":true,"requiredModules":["walkdir/walkdir.js","path","fs"],"mtime":1364912212000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/benchmarks/gaze100s.js","id":"gaze/benchmarks/gaze100s.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","grunt/lib/grunt.js","path"],"mtime":1351731112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/Gruntfile.js","id":"gaze/Gruntfile.js","options":{},"isModule":true,"mtime":1367594602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/lib/gaze.js","id":"gaze/lib/gaze.js","options":{},"isModule":true,"requiredModules":["util/util.js","events","fs","path","fileset/lib/fileset.js","minimatch/minimatch.js"],"mtime":1367594970000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/lib/fileset.js","id":"fileset/lib/fileset.js","options":{},"isModule":true,"requiredModules":["util/util.js","minimatch/minimatch.js","glob/glob.js","events"],"mtime":1360781493000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/examples/g.js","id":"glob/examples/g.js","options":{},"isModule":true,"requiredModules":["glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/examples/usr-local.js","id":"glob/examples/usr-local.js","options":{},"isModule":true,"requiredModules":["glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/glob.js","id":"glob/glob.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","inherits/inherits.js","events","path","assert"],"mtime":1393399612000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits"},"license":"ISC","scripts":{"test":"node test"},"readme":"Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n  superclass\n* new version overwrites current prototype while old one preserves any\n  existing fields on it\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/inherits/issues"},"homepage":"https://github.com/isaacs/inherits","_id":"inherits@2.0.1","_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_from":"inherits@2","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["lru-cache/lib/lru-cache.js","sigmund/sigmund.js","path"],"mtime":1399942015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js","id":"lru-cache/lib/lru-cache.js","options":{},"isModule":true,"mtime":1385055499000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json","data":{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"2.5.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"scripts":{"test":"tap test --gc"},"main":"lib/lru-cache.js","repository":{"type":"git","url":"git://github.com/isaacs/node-lru-cache.git"},"devDependencies":{"tap":"","weak":""},"license":{"type":"MIT","url":"http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"},"readme":"# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n  , options = { max: 500\n              , length: function (n) { return n * 2 }\n              , dispose: function (key, n) { n.close() }\n              , maxAge: 1000 * 60 * 60 }\n  , cache = LRU(options)\n  , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset()    // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n  function to all values in the cache.  Not setting this is kind of\n  silly, since that's the whole purpose of this lib, but it defaults\n  to `Infinity`.\n* `maxAge` Maximum age in ms.  Items are not pro-actively pruned out\n  as they age, but if you try to get an item that is too old, it'll\n  drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n  items.  If you're storing strings or buffers, then you probably want\n  to do something like `function(n){return n.length}`.  The default is\n  `function(n){return 1}`, which is fine if you want to store `n`\n  like-sized things.\n* `dispose` Function that is called on items when they are dropped\n  from the cache.  This can be handy if you want to close file\n  descriptors or do other cleanup tasks when items are no longer\n  accessible.  Called with `key, value`.  It's called *before*\n  actually removing the item from the internal cache, so if you want\n  to immediately put it back in, you'll have to do that in a\n  `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n  stale items out of the cache when you `get(key)`.  (That is, it's\n  not pre-emptively doing a `setTimeout` or anything.)  If you set\n  `stale:true`, it'll return the stale value before deleting it.  If\n  you don't set this, then it'll return `undefined` when you try to\n  get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n    Both of these will update the \"recently used\"-ness of the key.\n    They do what you think.\n\n* `peek(key)`\n\n    Returns the key value (or `undefined` if not found) without\n    updating the \"recently used\"-ness of the key.\n\n    (If you find yourself using this a lot, you *might* be using the\n    wrong sort of data structure, but there are some use cases where\n    it's handy.)\n\n* `del(key)`\n\n    Deletes a key out of the cache.\n\n* `reset()`\n\n    Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n    Check if a key is in the cache, without updating the recent-ness\n    or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n    Just like `Array.prototype.forEach`.  Iterates over all the keys\n    in the cache, in order of recent-ness.  (Ie, more recently used\n    items are iterated over first.)\n\n* `keys()`\n\n    Return an array of the keys in the cache.\n\n* `values()`\n\n    Return an array of the values in the cache.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-lru-cache/issues"},"homepage":"https://github.com/isaacs/node-lru-cache","_id":"lru-cache@2.5.0","_shasum":"d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb","_from":"lru-cache@2","_resolved":"https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/basic.js","id":"lru-cache/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1385052396000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/foreach.js","id":"lru-cache/test/foreach.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js","id":"lru-cache/test/memory-leak.js","options":{},"isModule":true,"requiredModules":["weak","tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/sigmund/bench.js","id":"sigmund/bench.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","sigmund/sigmund.js","bench"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json","data":{"name":"sigmund","version":"1.0.0","description":"Quick and dirty signatures for Objects.","main":"sigmund.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js","bench":"node bench.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sigmund"},"keywords":["object","signature","key","data","psychoanalysis"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","readme":"# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n  var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n  var cached = cache.get(key)\n  if (cached) return cached)\n\n  var result = expensiveCalculation(someObj)\n  cache.set(key, result)\n  return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:'foo'}` will be treated identically to the\narray `['foo']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you.  In fact, it's\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions.  For example, these objects\nhave the same signature:\n\n    var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}\n    var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you're looking for.  It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/sigmund/issues"},"homepage":"https://github.com/isaacs/sigmund","_id":"sigmund@1.0.0","_shasum":"66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296","_from":"sigmund@~1.0.0","_resolved":"https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/.bin/r.js","id":"jasmine-node/node_modules/.bin/r.js","options":{},"isModule":true,"requiredModules":["fs","vm","path","./process","./parse-js","./squeeze-more","./consolidator","./util","./base64","./binary-search","./array-set","./base64-vlq","./source-map-generator","./source-map/source-map-generator","./source-map/source-map-consumer","./source-map/source-node","lang","prim","logger","env!env/file","parse","optimize","pragma","transform","requirePatch","env","commonJs","source-map/source-map-generator"],"mtime":1410137647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/sigmund/sigmund.js","id":"sigmund/sigmund.js","options":{},"isModule":true,"mtime":1344873467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/node_modules/sigmund/test/basic.js","id":"sigmund/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","sigmund/sigmund.js"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"0.3.0","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"test":"tap test/*.js"},"engines":{"node":"*"},"dependencies":{"lru-cache":"2","sigmund":"~1.0.0"},"devDependencies":{"tap":""},"license":{"type":"MIT","url":"http://github.com/isaacs/minimatch/raw/master/LICENSE"},"readme":"# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n  Each row in the\n  array corresponds to a brace-expanded pattern.  Each item in the row\n  corresponds to a single path-part.  For example, the pattern\n  `{a,b/c}/d` would expand to a set of patterns like:\n\n        [ [ a, d ]\n        , [ b, c, d ] ]\n\n    If a portion of the pattern doesn't have any \"magic\" in it\n    (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n    will be left as a string rather than converted to a regular\n    expression.\n\n* `regexp` Created by the `makeRe` method.  A single regular expression\n  expressing the entire pattern.  This is useful in cases where you wish\n  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n  Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n  false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n  filename, and match it against a single row in the `regExpSet`.  This\n  method is mainly for internal use, but is exposed so that it can be\n  used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items.  So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export.  Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`.  Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob.  If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself if this option is set.  When not set, an empty list\nis returned if there are no matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes.  For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch","_id":"minimatch@0.3.0","_shasum":"275d8edaac4f1bb3326472089e7949c8394699dd","_from":"minimatch@0.3","_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/test/basic.js","id":"minimatch/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387171514000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/test/brace-expand.js","id":"minimatch/test/brace-expand.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1324537594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/test/caching.js","id":"minimatch/test/caching.js","options":{},"isModule":true,"requiredModules":["minimatch/minimatch.js","tap"],"mtime":1332887728000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/test/defaults.js","id":"minimatch/test/defaults.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1399941975000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js","id":"minimatch/test/extglob-ending-with-state-char.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387223424000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"glob","description":"a little globber","version":"3.2.11","repository":{"type":"git","url":"git://github.com/isaacs/node-glob.git"},"main":"glob.js","engines":{"node":"*"},"dependencies":{"inherits":"2","minimatch":"0.3"},"devDependencies":{"tap":"~0.4.0","mkdirp":"0","rimraf":"1"},"scripts":{"test":"tap test/*.js","test-regen":"TEST_REGEN=1 node test/00-setup.js"},"license":"BSD","readme":"# Glob\n\nMatch files using the patterns the shell uses, like stars and stuff.\n\nThis is a glob implementation in JavaScript.  It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n  // files is an array of filenames.\n  // If the `nonull` option is set, and nothing\n  // was found, then files is [\"**/*.js\"]\n  // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options])\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt's an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered.  When an error is encountered, the\n  glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`.  There\n  is no way at this time to continue a glob search after aborting, but\n  you can re-use the statCache to avoid having to duplicate syscalls.\n* `statCache` Collection of all the stat results the glob search\n  performed.\n* `cache` Convenience object.  Each field has the following possible\n  values:\n  * `false` - Path does not exist\n  * `true` - Path exists\n  * `1` - Path exists, and is not a directory\n  * `2` - Path exists, and is a directory\n  * `[file, entries, ...]` - Path exists, is a directory, and the\n    array value is the results of `fs.readdir`\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n  matches found.  If the `nonull` option is set, and no match was found,\n  then the `matches` list contains the original pattern.  The matches\n  are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n  any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior.  Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search.  Defaults\n  to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n  onto.  Defaults to `path.resolve(options.cwd, \"/\")` (`/` on Unix\n  systems, and `C:\\` or some such on Windows.)\n* `dot` Include `.dot` files in normal matches and `globstar` matches.\n  Note that an explicit dot in a portion of the pattern will always\n  match dot files.\n* `nomount` By default, a pattern starting with a forward-slash will be\n  \"mounted\" onto the root setting, so that a valid filesystem path is\n  returned.  Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches.  Note that this\n  requires additional stat calls.\n* `nosort` Don't sort the results.\n* `stat` Set to true to stat *all* results.  This reduces performance\n  somewhat, and is completely unnecessary, unless `readdir` is presumed\n  to be an untrustworthy indicator of file existence.  It will cause\n  ELOOP to be triggered one level sooner in the case of cyclical\n  symbolic links.\n* `silent` When an unusual error is encountered\n  when attempting to read a directory, a warning will be printed to\n  stderr.  Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n  when attempting to read a directory, the process will just continue on\n  in search of other matches.  Set the `strict` option to raise an error\n  in these cases.\n* `cache` See `cache` property above.  Pass in a previously generated\n  cache object to save some fs calls.\n* `statCache` A cache of results of filesystem information, to prevent\n  unnecessary stat calls.  While it should not normally be necessary to\n  set this, you may pass the statCache from one glob() call to the\n  options object of another, if you know that the filesystem will not\n  change between calls.  (See \"Race Conditions\" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n  same file showing up multiple times in the result set.  By default,\n  this implementation prevents duplicates in the result set.\n  Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n  containing the pattern itself.  This is the default in glob(3).\n* `nocase` Perform a case-insensitive match.  Note that case-insensitive\n  filesystems will sometimes result in glob returning results that are\n  case-insensitively matched anyway, since readdir and stat will not\n  raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`glob.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation.  You must use\nforward-slashes **only** in glob expressions.  Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`.  On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead.  However, this also makes it even more susceptible to races,\nespecially if the cache or statCache objects are reused between glob\ncalls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes.  For the vast majority\nof operations, this is never a problem.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-glob/issues"},"homepage":"https://github.com/isaacs/node-glob","_id":"glob@3.2.11","_shasum":"4a973f635b9190f715d10987d5c00fd2815ebe3d","_from":"glob@3.x","_resolved":"https://registry.npmjs.org/glob/-/glob-3.2.11.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/00-setup.js","id":"glob/test/00-setup.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","fs","rimraf/rimraf.js","child_process"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/bash-comparison.js","id":"glob/test/bash-comparison.js","options":{},"isModule":true,"requiredModules":["tap","child_process","glob/test/bash-results.json","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/bash-results.json","id":"glob/test/bash-results.json","options":{},"isModule":true,"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/cwd-test.js","id":"glob/test/cwd-test.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/globstar-match.js","id":"glob/test/globstar-match.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/mark.js","id":"glob/test/mark.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/new-glob-optional-options.js","id":"glob/test/new-glob-optional-options.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/nocase-nomagic.js","id":"glob/test/nocase-nomagic.js","options":{},"isModule":true,"requiredModules":["fs","tap","glob/glob.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/pause-resume.js","id":"glob/test/pause-resume.js","options":{},"isModule":true,"requiredModules":["tap","child_process","glob/test/bash-results.json","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/readme-issue.js","id":"glob/test/readme-issue.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","mkdirp/index.js","fs","rimraf/rimraf.js"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/root-nomount.js","id":"glob/test/root-nomount.js","options":{},"isModule":true,"requiredModules":["tap"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/root.js","id":"glob/test/root.js","options":{},"isModule":true,"requiredModules":["tap","glob/glob.js","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/stat.js","id":"glob/test/stat.js","options":{},"isModule":true,"requiredModules":["glob/glob.js","tap","path"],"mtime":1393399375000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/node_modules/glob/test/zz-cleanup.js","id":"glob/test/zz-cleanup.js","options":{},"isModule":true,"requiredModules":["tap","rimraf/rimraf.js","path"],"mtime":1393399375000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/package.json","data":{"author":{"name":"mklabs"},"name":"fileset","description":"Wrapper around miniglob / minimatch combo to allow multiple patterns matching and include-exclude ability","version":"0.1.5","homepage":"https://github.com/mklabs/node-fileset","repository":{"type":"git","url":"git://github.com/mklabs/node-fileset.git"},"main":"./lib/fileset","scripts":{"test":"node tests/test.js"},"dependencies":{"minimatch":"0.x","glob":"3.x"},"licenses":[{"type":"MIT","url":"https://github.com/mklabs/node-fileset/blob/master/LICENSE-MIT"}],"readme":"# node-fileset\n\nExposes a basic wrapper on top of\n[Glob](https://github.com/isaacs/node-glob) /\n[minimatch](https://github.com/isaacs/minimatch) combo both written by\n@isaacs. Glob now uses JavaScript instead of C++ bindings which makes it\nusable in Node.js 0.6.x and Windows platforms.\n\n[![Build Status](https://secure.travis-ci.org/mklabs/node-fileset.png)](http://travis-ci.org/mklabs/node-fileset)\n\nAdds multiples patterns matching and exlude ability. This is\nbasically just a sugar API syntax where you can specify a list of includes\nand optional exclude patterns. It works by setting up the necessary\nminiglob \"fileset\" and filtering out the results using minimatch.\n\n## Install\n\n    npm install fileset\n\n## Usage\n\nCan be used with callback or emitter style.\n\n* **include**: list of glob patterns `foo/**/*.js *.md src/lib/**/*`\n* **exclude**: *optional* list of glob patterns to filter include\n  results `foo/**/*.js *.md`\n* **callback**: *optional* function that gets called with an error if\n  something wrong happend, otherwise null with an array of results\n\nThe callback is optional since the fileset method return an instance of\nEventEmitter which emit different events you might use:\n\n* *match*: Every time a match is found, miniglob emits this event with\n  the pattern.\n* *include*: Emitted each time an include match is found.\n* *exclude*: Emitted each time an exclude match is found and filtered\n  out from the fileset.\n* *end*:  Emitted when the matching is finished with all the matches\n  found, optionally filtered by the exclude patterns.\n\n#### Callback\n\n```js\nvar fileset = require('fileset');\n\nfileset('**/*.js', '**.min.js', function(err, files) {\n  if (err) return console.error(err);\n\n  console.log('Files: ', files.length);\n  console.log(files);\n});\n```\n\n#### Event emitter\n\n```js\nvar fileset = require('fileset');\n\nfileset('**.coffee README.md *.json Cakefile **.js', 'node_modules/**')\n  .on('match', console.log.bind(console, 'error'))\n  .on('include', console.log.bind(console, 'includes'))\n  .on('exclude', console.log.bind(console, 'excludes'))\n  .on('end', console.log.bind(console, 'end'));\n```\n\n`fileset` returns an instance of EventEmitter, with an `includes` property\nwhich is the array of Fileset objects (inheriting from\n`miniglob.Miniglob`) that were used during the mathing process, should\nyou want to use them individually.\n\nCheck out the\n[tests](https://github.com/mklabs/node-fileset/tree/master/tests) for\nmore examples.\n\n## Tests\n\nRun `npm test`\n\n## Why\n\nMainly for a build tool with cake files, to provide me an easy way to get\na list of files by either using glob or path patterns, optionally\nallowing exclude patterns to filter out the results.\n\nAll the magic is happening in\n[Glob](https://github.com/isaacs/node-glob) and\n[minimatch](https://github.com/isaacs/minimatch). Check them out!\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mklabs/node-fileset/issues"},"_id":"fileset@0.1.5","_from":"fileset@~0.1.5"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/tests/fixtures/an (odd) filename.js","id":"fileset/tests/fixtures/an (odd) filename.js","options":{},"isModule":true,"mtime":1360781493000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/tests/helper.js","id":"fileset/tests/helper.js","options":{},"isModule":true,"requiredModules":["events","assert"],"mtime":1360781493000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/fileset/tests/test.js","id":"fileset/tests/test.js","options":{},"isModule":true,"requiredModules":["events","fileset/lib/fileset.js","assert","fileset/tests/helper.js"],"mtime":1360781493000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["lru-cache/lib/lru-cache.js","sigmund/sigmund.js","path"],"mtime":1387223424000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js","id":"lru-cache/lib/lru-cache.js","options":{},"isModule":true,"mtime":1385055499000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/lru-cache/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/lru-cache/package.json","data":{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"2.5.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"scripts":{"test":"tap test --gc"},"main":"lib/lru-cache.js","repository":{"type":"git","url":"git://github.com/isaacs/node-lru-cache.git"},"devDependencies":{"tap":"","weak":""},"license":{"type":"MIT","url":"http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"},"readme":"# lru cache\n\nA cache object that deletes the least-recently-used items.\n\n## Usage:\n\n```javascript\nvar LRU = require(\"lru-cache\")\n  , options = { max: 500\n              , length: function (n) { return n * 2 }\n              , dispose: function (key, n) { n.close() }\n              , maxAge: 1000 * 60 * 60 }\n  , cache = LRU(options)\n  , otherCache = LRU(50) // sets just the max size\n\ncache.set(\"key\", \"value\")\ncache.get(\"key\") // \"value\"\n\ncache.reset()    // empty the cache\n```\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\n## Options\n\n* `max` The maximum size of the cache, checked by applying the length\n  function to all values in the cache.  Not setting this is kind of\n  silly, since that's the whole purpose of this lib, but it defaults\n  to `Infinity`.\n* `maxAge` Maximum age in ms.  Items are not pro-actively pruned out\n  as they age, but if you try to get an item that is too old, it'll\n  drop it and return undefined instead of giving it to you.\n* `length` Function that is used to calculate the length of stored\n  items.  If you're storing strings or buffers, then you probably want\n  to do something like `function(n){return n.length}`.  The default is\n  `function(n){return 1}`, which is fine if you want to store `n`\n  like-sized things.\n* `dispose` Function that is called on items when they are dropped\n  from the cache.  This can be handy if you want to close file\n  descriptors or do other cleanup tasks when items are no longer\n  accessible.  Called with `key, value`.  It's called *before*\n  actually removing the item from the internal cache, so if you want\n  to immediately put it back in, you'll have to do that in a\n  `nextTick` or `setTimeout` callback or it won't do anything.\n* `stale` By default, if you set a `maxAge`, it'll only actually pull\n  stale items out of the cache when you `get(key)`.  (That is, it's\n  not pre-emptively doing a `setTimeout` or anything.)  If you set\n  `stale:true`, it'll return the stale value before deleting it.  If\n  you don't set this, then it'll return `undefined` when you try to\n  get a stale entry, as if it had already been deleted.\n\n## API\n\n* `set(key, value)`\n* `get(key) => value`\n\n    Both of these will update the \"recently used\"-ness of the key.\n    They do what you think.\n\n* `peek(key)`\n\n    Returns the key value (or `undefined` if not found) without\n    updating the \"recently used\"-ness of the key.\n\n    (If you find yourself using this a lot, you *might* be using the\n    wrong sort of data structure, but there are some use cases where\n    it's handy.)\n\n* `del(key)`\n\n    Deletes a key out of the cache.\n\n* `reset()`\n\n    Clear the cache entirely, throwing away all values.\n\n* `has(key)`\n\n    Check if a key is in the cache, without updating the recent-ness\n    or deleting it for being stale.\n\n* `forEach(function(value,key,cache), [thisp])`\n\n    Just like `Array.prototype.forEach`.  Iterates over all the keys\n    in the cache, in order of recent-ness.  (Ie, more recently used\n    items are iterated over first.)\n\n* `keys()`\n\n    Return an array of the keys in the cache.\n\n* `values()`\n\n    Return an array of the values in the cache.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-lru-cache/issues"},"homepage":"https://github.com/isaacs/node-lru-cache","_id":"lru-cache@2.5.0","_shasum":"d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb","_from":"lru-cache@2","_resolved":"https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/lru-cache/test/basic.js","id":"lru-cache/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1385052396000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/lru-cache/test/foreach.js","id":"lru-cache/test/foreach.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js","id":"lru-cache/test/memory-leak.js","options":{},"isModule":true,"requiredModules":["weak","tap","lru-cache/lib/lru-cache.js"],"mtime":1376871955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/sigmund/bench.js","id":"sigmund/bench.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","sigmund/sigmund.js","bench"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/sigmund/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/sigmund/package.json","data":{"name":"sigmund","version":"1.0.0","description":"Quick and dirty signatures for Objects.","main":"sigmund.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js","bench":"node bench.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sigmund"},"keywords":["object","signature","key","data","psychoanalysis"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"BSD","readme":"# sigmund\n\nQuick and dirty signatures for Objects.\n\nThis is like a much faster `deepEquals` comparison, which returns a\nstring key suitable for caches and the like.\n\n## Usage\n\n```javascript\nfunction doSomething (someObj) {\n  var key = sigmund(someObj, maxDepth) // max depth defaults to 10\n  var cached = cache.get(key)\n  if (cached) return cached)\n\n  var result = expensiveCalculation(someObj)\n  cache.set(key, result)\n  return result\n}\n```\n\nThe resulting key will be as unique and reproducible as calling\n`JSON.stringify` or `util.inspect` on the object, but is much faster.\nIn order to achieve this speed, some differences are glossed over.\nFor example, the object `{0:'foo'}` will be treated identically to the\narray `['foo']`.\n\nAlso, just as there is no way to summon the soul from the scribblings\nof a cocain-addled psychoanalyst, there is no way to revive the object\nfrom the signature string that sigmund gives you.  In fact, it's\nbarely even readable.\n\nAs with `sys.inspect` and `JSON.stringify`, larger objects will\nproduce larger signature strings.\n\nBecause sigmund is a bit less strict than the more thorough\nalternatives, the strings will be shorter, and also there is a\nslightly higher chance for collisions.  For example, these objects\nhave the same signature:\n\n    var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}\n    var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}\n\nLike a good Freudian, sigmund is most effective when you already have\nsome understanding of what you're looking for.  It can help you help\nyourself, but you must be willing to do some work as well.\n\nCycles are handled, and cyclical objects are silently omitted (though\nthe key is included in the signature output.)\n\nThe second argument is the maximum depth, which defaults to 10,\nbecause that is the maximum object traversal depth covered by most\ninsurance carriers.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/sigmund/issues"},"homepage":"https://github.com/isaacs/sigmund","_id":"sigmund@1.0.0","_shasum":"66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296","_from":"sigmund@~1.0.0","_resolved":"https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/sigmund/sigmund.js","id":"sigmund/sigmund.js","options":{},"isModule":true,"mtime":1344873467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/node_modules/sigmund/test/basic.js","id":"sigmund/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","sigmund/sigmund.js"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"0.2.14","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"test":"tap test/*.js"},"engines":{"node":"*"},"dependencies":{"lru-cache":"2","sigmund":"~1.0.0"},"devDependencies":{"tap":""},"license":{"type":"MIT","url":"http://github.com/isaacs/minimatch/raw/master/LICENSE"},"readme":"# minimatch\n\nA minimal matching utility.\n\n[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)\n\n\nThis is the matching library used internally by npm.\n\nEventually, it will replace the C binding in node-glob.\n\nIt works by converting glob expressions into JavaScript `RegExp`\nobjects.\n\n## Usage\n\n```javascript\nvar minimatch = require(\"minimatch\")\n\nminimatch(\"bar.foo\", \"*.foo\") // true!\nminimatch(\"bar.foo\", \"*.bar\") // false!\nminimatch(\"bar.foo\", \"*.+(bar|foo)\", { debug: true }) // true, and noisy!\n```\n\n## Features\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n\n## Minimatch Class\n\nCreate a minimatch object by instanting the `minimatch.Minimatch` class.\n\n```javascript\nvar Minimatch = require(\"minimatch\").Minimatch\nvar mm = new Minimatch(pattern, options)\n```\n\n### Properties\n\n* `pattern` The original pattern the minimatch object represents.\n* `options` The options supplied to the constructor.\n* `set` A 2-dimensional array of regexp or string expressions.\n  Each row in the\n  array corresponds to a brace-expanded pattern.  Each item in the row\n  corresponds to a single path-part.  For example, the pattern\n  `{a,b/c}/d` would expand to a set of patterns like:\n\n        [ [ a, d ]\n        , [ b, c, d ] ]\n\n    If a portion of the pattern doesn't have any \"magic\" in it\n    (that is, it's something like `\"foo\"` rather than `fo*o?`), then it\n    will be left as a string rather than converted to a regular\n    expression.\n\n* `regexp` Created by the `makeRe` method.  A single regular expression\n  expressing the entire pattern.  This is useful in cases where you wish\n  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.\n* `negate` True if the pattern is negated.\n* `comment` True if the pattern is a comment.\n* `empty` True if the pattern is `\"\"`.\n\n### Methods\n\n* `makeRe` Generate the `regexp` member if necessary, and return it.\n  Will return `false` if the pattern is invalid.\n* `match(fname)` Return true if the filename matches the pattern, or\n  false otherwise.\n* `matchOne(fileArray, patternArray, partial)` Take a `/`-split\n  filename, and match it against a single row in the `regExpSet`.  This\n  method is mainly for internal use, but is exposed so that it can be\n  used by a glob-walker that needs to avoid excessive filesystem calls.\n\nAll other methods are internal, and will be called as necessary.\n\n## Functions\n\nThe top-level exported function has a `cache` property, which is an LRU\ncache set to store 100 items.  So, calling these methods repeatedly\nwith the same pattern and options will use the same Minimatch object,\nsaving the cost of parsing it multiple times.\n\n### minimatch(path, pattern, options)\n\nMain export.  Tests a path against the pattern using the options.\n\n```javascript\nvar isJS = minimatch(file, \"*.js\", { matchBase: true })\n```\n\n### minimatch.filter(pattern, options)\n\nReturns a function that tests its\nsupplied argument, suitable for use with `Array.filter`.  Example:\n\n```javascript\nvar javascripts = fileList.filter(minimatch.filter(\"*.js\", {matchBase: true}))\n```\n\n### minimatch.match(list, pattern, options)\n\nMatch against the list of\nfiles, in the style of fnmatch or glob.  If nothing is matched, and\noptions.nonull is set, then return a list containing the pattern itself.\n\n```javascript\nvar javascripts = minimatch.match(fileList, \"*.js\", {matchBase: true}))\n```\n\n### minimatch.makeRe(pattern, options)\n\nMake a regular expression object from the pattern.\n\n## Options\n\nAll options are `false` by default.\n\n### debug\n\nDump a ton of stuff to stderr.\n\n### nobrace\n\nDo not expand `{a,b}` and `{1..3}` brace sets.\n\n### noglobstar\n\nDisable `**` matching against multiple folder names.\n\n### dot\n\nAllow patterns to match filenames starting with a period, even if\nthe pattern does not explicitly have a period in that spot.\n\nNote that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`\nis set.\n\n### noext\n\nDisable \"extglob\" style patterns like `+(a|b)`.\n\n### nocase\n\nPerform a case-insensitive match.\n\n### nonull\n\nWhen a match is not found by `minimatch.match`, return a list containing\nthe pattern itself.  When set, an empty list is returned if there are\nno matches.\n\n### matchBase\n\nIf set, then patterns without slashes will be matched\nagainst the basename of the path if it contains slashes.  For example,\n`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.\n\n### nocomment\n\nSuppress the behavior of treating `#` at the start of a pattern as a\ncomment.\n\n### nonegate\n\nSuppress the behavior of treating a leading `!` character as negation.\n\n### flipNegate\n\nReturns from negate expressions the same as if they were not negated.\n(Ie, true on a hit, false on a miss.)\n\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between minimatch and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen minimatch.match returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`minimatch.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch","_id":"minimatch@0.2.14","_shasum":"c74e780574f63c6f9a090e90efbe6ef53a6a756a","_from":"minimatch@~0.2.9","_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/test/basic.js","id":"minimatch/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387171514000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/test/brace-expand.js","id":"minimatch/test/brace-expand.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1324537594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/test/caching.js","id":"minimatch/test/caching.js","options":{},"isModule":true,"requiredModules":["minimatch/minimatch.js","tap"],"mtime":1332887728000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/test/defaults.js","id":"minimatch/test/defaults.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1332985301000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/node_modules/minimatch/test/extglob-ending-with-state-char.js","id":"minimatch/test/extglob-ending-with-state-char.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387223424000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/package.json","data":{"name":"gaze","description":"A globbing fs.watch wrapper built from the best parts of other fine watch libs.","version":"0.3.4","homepage":"https://github.com/shama/gaze","author":{"name":"Kyle Robinson Young","email":"kyle@dontkry.com"},"repository":{"type":"git","url":"git://github.com/shama/gaze.git"},"bugs":{"url":"https://github.com/shama/gaze/issues"},"licenses":[{"type":"MIT","url":"https://github.com/shama/gaze/blob/master/LICENSE-MIT"}],"main":"lib/gaze","engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt nodeunit -v"},"dependencies":{"minimatch":"~0.2.9","fileset":"~0.1.5"},"devDependencies":{"grunt":"~0.4.0rc7","grunt-contrib-nodeunit":"~0.1.2rc6","grunt-contrib-jshint":"~0.1.1rc6","grunt-benchmark":"~0.1.1"},"keywords":["watch","glob"],"contributors":[{"name":"Kyle Robinson Young","url":"http://dontkry.com"},{"name":"Sam Day","url":"http://sam.is-super-awesome.com"},{"name":"Roarke Gaskill","url":"http://starkinvestments.com"},{"name":"Lance Pollard","url":"http://lancepollard.com/"},{"name":"Daniel Fagnan","url":"http://hydrocodedesign.com/"}],"readme":"# gaze [![Build Status](https://secure.travis-ci.org/shama/gaze.png?branch=master)](http://travis-ci.org/shama/gaze)\n\nA globbing fs.watch wrapper built from the best parts of other fine watch libs.\n\nCompatible with NodeJS v0.8/0.6, Windows, OSX and Linux.\n\n## Usage\nInstall the module with: `npm install gaze` or place into your `package.json`\nand run `npm install`.\n\n```javascript\nvar gaze = require('gaze');\n\n// Watch all .js files/dirs in process.cwd()\ngaze('**/*.js', function(err, watcher) {\n  // Files have all started watching\n  // watcher === this\n\n  // Get all watched files\n  console.log(this.watched());\n\n  // On file changed\n  this.on('changed', function(filepath) {\n    console.log(filepath + ' was changed');\n  });\n\n  // On file added\n  this.on('added', function(filepath) {\n    console.log(filepath + ' was added');\n  });\n\n  // On file deleted\n  this.on('deleted', function(filepath) {\n    console.log(filepath + ' was deleted');\n  });\n\n  // On changed/added/deleted\n  this.on('all', function(event, filepath) {\n    console.log(filepath + ' was ' + event);\n  });\n\n  // Get watched files with relative paths\n  console.log(this.relative());\n});\n\n// Also accepts an array of patterns\ngaze(['stylesheets/*.css', 'images/**/*.png'], function() {\n  // Add more patterns later to be watched\n  this.add(['js/*.js']);\n});\n```\n\n### Alternate Interface\n\n```javascript\nvar Gaze = require('gaze').Gaze;\n\nvar gaze = new Gaze('**/*');\n\n// Files have all started watching\ngaze.on('ready', function(watcher) { });\n\n// A file has been added/changed/deleted has occurred\ngaze.on('all', function(event, filepath) { });\n```\n\n### Errors\n\n```javascript\ngaze('**/*', function() {\n  this.on('error', function(err) {\n    // Handle error here\n  });\n});\n```\n\n### Minimatch / Glob\n\nSee [isaacs's minimatch](https://github.com/isaacs/minimatch) for more\ninformation on glob patterns.\n\n## Documentation\n\n### gaze(patterns, [options], callback)\n\n* `patterns` {String|Array} File patterns to be matched\n* `options` {Object}\n* `callback` {Function}\n  * `err` {Error | null}\n  * `watcher` {Object} Instance of the Gaze watcher\n\n### Class: gaze.Gaze\n\nCreate a Gaze object by instanting the `gaze.Gaze` class.\n\n```javascript\nvar Gaze = require('gaze').Gaze;\nvar gaze = new Gaze(pattern, options, callback);\n```\n\n#### Properties\n\n* `options` The options object passed in.\n  * `interval` {integer} Interval to pass to fs.watchFile\n  * `debounceDelay` {integer} Delay for events called in succession for the same\n    file/event\n\n#### Events\n\n* `ready(watcher)` When files have been globbed and watching has begun.\n* `all(event, filepath)` When an `added`, `changed` or `deleted` event occurs.\n* `added(filepath)` When a file has been added to a watch directory.\n* `changed(filepath)` When a file has been changed.\n* `deleted(filepath)` When a file has been deleted.\n* `renamed(newPath, oldPath)` When a file has been renamed.\n* `end()` When the watcher is closed and watches have been removed.\n* `error(err)` When an error occurs.\n\n#### Methods\n\n* `emit(event, [...])` Wrapper for the EventEmitter.emit.\n  `added`|`changed`|`deleted` events will also trigger the `all` event.\n* `close()` Unwatch all files and reset the watch instance.\n* `add(patterns, callback)` Adds file(s) patterns to be watched.\n* `remove(filepath)` removes a file or directory from being watched. Does not\n  recurse directories.\n* `watched()` Returns the currently watched files.\n* `relative([dir, unixify])` Returns the currently watched files with relative paths.\n  * `dir` {string} Only return relative files for this directory.\n  * `unixify` {boolean} Return paths with `/` instead of `\\\\` if on Windows.\n\n## FAQs\n\n### Why Another `fs.watch` Wrapper?\nI liked parts of other `fs.watch` wrappers but none had all the features I\nneeded. This lib combines the features I needed from other fine watch libs:\nSpeedy data behavior from\n[paulmillr's chokidar](https://github.com/paulmillr/chokidar), API interface\nfrom [mikeal's watch](https://github.com/mikeal/watch) and file globbing using\n[isaacs's glob](https://github.com/isaacs/node-glob) which is also used by\n[cowboy's Grunt](https://github.com/gruntjs/grunt).\n\n### How do I fix the error `EMFILE: Too many opened files.`?\nThis is because of your system's max opened file limit. For OSX the default is\nvery low (256). Increase your limit temporarily with `ulimit -n 10480`, the\nnumber being the new max limit.\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style.\nAdd unit tests for any new or changed functionality. Lint and test your code\nusing [grunt](http://gruntjs.com/).\n\n## Release History\n* 0.3.4 - Code clean up. Fix path must be strings errors (@groner). Fix incorrect added events (@groner).\n* 0.3.3 - Fix for multiple patterns with negate.\n* 0.3.2 - Emit `end` before removeAllListeners.\n* 0.3.1 - Fix added events within subfolder patterns.\n* 0.3.0 - Handle safewrite events, `forceWatchMethod` option removed, bug fixes and watch optimizations (@rgaskill).\n* 0.2.2 - Fix issue where subsequent add calls dont get watched (@samcday). removeAllListeners on close.\n* 0.2.1 - Fix issue with invalid `added` events in current working dir.\n* 0.2.0 - Support and mark folders with `path.sep`. Add `forceWatchMethod` option. Support `renamed` events.\n* 0.1.6 - Recognize the `cwd` option properly\n* 0.1.5 - Catch too many open file errors\n* 0.1.4 - Really fix the race condition with 2 watches\n* 0.1.3 - Fix race condition with 2 watches\n* 0.1.2 - Read triggering changed event fix\n* 0.1.1 - Minor fixes\n* 0.1.0 - Initial release\n\n## License\nCopyright (c) 2013 Kyle Robinson Young\nLicensed under the MIT license.\n","readmeFilename":"README.md","_id":"gaze@0.3.4","_shasum":"5f94bdda0afe53bc710969bcd6f282548d60c279","_from":"gaze@~0.3.2","_resolved":"https://registry.npmjs.org/gaze/-/gaze-0.3.4.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/add_test.js","id":"gaze/test/add_test.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","path","fs"],"mtime":1359694107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/api_test.js","id":"gaze/test/api_test.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","path"],"mtime":1359694107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/fixtures/nested/one.js","id":"gaze/test/fixtures/nested/one.js","options":{},"isModule":true,"mtime":1361995960000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/fixtures/nested/sub/two.js","id":"gaze/test/fixtures/nested/sub/two.js","options":{},"isModule":true,"mtime":1361995961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/fixtures/nested/sub2/two.js","id":"gaze/test/fixtures/nested/sub2/two.js","options":{},"isModule":true,"mtime":1367594956000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/fixtures/nested/three.js","id":"gaze/test/fixtures/nested/three.js","options":{},"isModule":true,"mtime":1350871829000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/fixtures/one.js","id":"gaze/test/fixtures/one.js","options":{},"isModule":true,"mtime":1349202742000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/fixtures/Project (LO)/one.js","id":"gaze/test/fixtures/Project (LO)/one.js","options":{},"isModule":true,"mtime":1349322700000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/fixtures/sub/one.js","id":"gaze/test/fixtures/sub/one.js","options":{},"isModule":true,"mtime":1367595022000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/fixtures/sub/two.js","id":"gaze/test/fixtures/sub/two.js","options":{},"isModule":true,"mtime":1367595023000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/matching_test.js","id":"gaze/test/matching_test.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","path"],"mtime":1360822262000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/patterns_test.js","id":"gaze/test/patterns_test.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","path","fs"],"mtime":1361996076000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/relative_test.js","id":"gaze/test/relative_test.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","path"],"mtime":1359694107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/rename_test.js","id":"gaze/test/rename_test.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","path","fs"],"mtime":1359694107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/safewrite_test.js","id":"gaze/test/safewrite_test.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","path","fs"],"mtime":1359694107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/gaze/test/watch_test.js","id":"gaze/test/watch_test.js","options":{},"isModule":true,"requiredModules":["gaze/lib/gaze.js","grunt/lib/grunt.js","path","fs"],"mtime":1367595048000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/ext/env.rhino.1.2.js","id":"jasmine-reporters/ext/env.rhino.1.2.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/ext/jasmine-html.js","id":"jasmine-reporters/ext/jasmine-html.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/ext/jasmine.js","id":"jasmine-reporters/ext/jasmine.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/package.json","data":{"author":{"name":"Larry Myers"},"name":"jasmine-reporters","description":"Reporters for the Jasmine BDD Framework","version":"1.0.1","homepage":"https://github.com/larrymyers/jasmine-reporters","maintainers":"Ben Loveridge <bloveridge@gmail.com>","repository":{"type":"git","url":"git://github.com/larrymyers/jasmine-reporters.git"},"main":"./src/load_reporters.js","dependencies":{"mkdirp":"~0.3.5"},"devDependencies":{},"licenses":[{"type":"MIT","url":"https://raw.github.com/larrymyers/jasmine-reporters/master/LICENSE"}],"readme":"# Jasmine Reporters\n\nJasmine Reporters is a collection of javascript jasmine.Reporter classes that can be used with\nthe [JasmineBDD testing framework](http://pivotal.github.com/jasmine/).\n\nIncluded reporters:\n\n* ConsoleReporter - Report test results to the browser console.\n* JUnitXmlReporter - Report test results to a file in JUnit XML Report format.\n* NUnitXmlReporter - Report test results to a file in NUnit XML Report format.\n* TapReporter - Test Anything Protocol, report tests results to console.\n* TeamcityReporter - Basic reporter that outputs spec results to for the Teamcity build system.\n* TerminalReporter - Logs to a terminal (including colors) with variable verbosity.\n\n## Usage\n\nExamples are included in the test directory that show how to use the reporters,\nas well a basic runner scripts for Rhino + envjs, and a basic runner for\n[PhantomJS](https://github.com/ariya/phantomjs). Either of these methods could\nbe used in a Continuous Integration project for running headless tests and\ngenerating JUnit XML output.\n\n### Rhino + EnvJS\n\nEverything needed to run the tests in Rhino + EnvJS is included in this\nrepository inside the `ext` directory, specifically Rhino 1.7r2 and envjs 1.2\nfor Rhino.\n\n### PhantomJS\n\nShould work in most versions of PhantomJS > 1.4.1\nI have used PhantomJS 1.4.1 through 1.9.6 on Mac OS X with no problems.\n\n### Node.js\n\nMost of these reporters also work in node.js by making use of the excellent\n[jasmine-node project](https://github.com/mhevery/jasmine-node).\n","readmeFilename":"README.markdown","bugs":{"url":"https://github.com/larrymyers/jasmine-reporters/issues"},"_id":"jasmine-reporters@1.0.1","_shasum":"9a98162db59f80eb37377f3f2c7815c39cfdda79","_from":"jasmine-reporters@>=0.2.0","_resolved":"https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-1.0.1.tgz"},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.console_reporter.js","id":"jasmine-reporters/src/jasmine.console_reporter.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.junit_reporter.js","id":"jasmine-reporters/src/jasmine.junit_reporter.js","options":{},"isModule":true,"requiredModules":["fs","path","mkdirp/index.js"],"mtime":1411747310000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.nunit_reporter.js","id":"jasmine-reporters/src/jasmine.nunit_reporter.js","options":{},"isModule":true,"requiredModules":["fs","path","mkdirp/index.js"],"mtime":1411747386000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.tap_reporter.js","id":"jasmine-reporters/src/jasmine.tap_reporter.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.teamcity_reporter.js","id":"jasmine-reporters/src/jasmine.teamcity_reporter.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.terminal_reporter.js","id":"jasmine-reporters/src/jasmine.terminal_reporter.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/src/load_reporters.js","id":"jasmine-reporters/src/load_reporters.js","options":{},"isModule":true,"requiredModules":["jasmine-reporters/src/jasmine.console_reporter.js","jasmine-reporters/src/jasmine.junit_reporter.js","jasmine-reporters/src/jasmine.nunit_reporter.js","jasmine-reporters/src/jasmine.teamcity_reporter.js","jasmine-reporters/src/jasmine.tap_reporter.js"],"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.bootstrap.js","id":"jasmine-reporters/test/envjs.bootstrap.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/test/JUnitXmlReporterSpec.js","id":"jasmine-reporters/test/JUnitXmlReporterSpec.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/test/NUnitXmlReporterSpec.js","id":"jasmine-reporters/test/NUnitXmlReporterSpec.js","options":{},"isModule":true,"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs-testrunner.js","id":"jasmine-reporters/test/phantomjs-testrunner.js","options":{},"isModule":true,"requiredModules":["fs","webpage","system"],"mtime":1411746947000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1345465530000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.3.5","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"./index","keywords":["mkdir","directory"],"repository":{"type":"git","url":"http://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"devDependencies":{"tap":"~0.4.0"},"license":"MIT","readme":"# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require('mkdirp');\n    \nmkdirp('/tmp/foo/bar/baz', function (err) {\n    if (err) console.error(err)\n    else console.log('pow!')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require('mkdirp');\n```\n\n## mkdirp(dir, mode, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\n## mkdirp.sync(dir, mode)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp","_id":"mkdirp@0.3.5","_shasum":"de3e5f8961c88c787ee1368df849ac4413eca8d7","_from":"mkdirp@~0.3.5","_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1338911626000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1337759731000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/requirejs/bin/r.js","id":"requirejs/bin/r.js","options":{},"isModule":true,"requiredModules":["fs","vm","path","./process","./parse-js","./squeeze-more","./consolidator","./util","./base64","./binary-search","./array-set","./base64-vlq","./source-map-generator","./source-map/source-map-generator","./source-map/source-map-consumer","./source-map/source-node","lang","prim","logger","env!env/file","parse","optimize","pragma","transform","requirePatch","env","commonJs","source-map/source-map-generator"],"mtime":1410137647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/requirejs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/requirejs/package.json","data":{"name":"requirejs","description":"Node adapter for RequireJS, for loading AMD modules. Includes RequireJS optimizer","version":"2.1.15","homepage":"http://github.com/jrburke/r.js","author":{"name":"James Burke","email":"jrburke@gmail.com","url":"http://github.com/jrburke"},"licenses":[{"type":"BSD","url":"https://github.com/jrburke/r.js/blob/master/LICENSE"},{"type":"MIT","url":"https://github.com/jrburke/r.js/blob/master/LICENSE"}],"repository":{"type":"git","url":"https://github.com/jrburke/r.js.git"},"main":"./bin/r.js","bin":{"r.js":"./bin/r.js"},"engines":{"node":">=0.4.0"},"readme":"# requirejs\n\nRequireJS for use in Node. includes:\n\n* r.js: the RequireJS optimizer, and AMD runtime for use in Node.\n* require.js: The browser-based AMD loader.\n\nMore information at http://requirejs.org\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jrburke/r.js/issues"},"_id":"requirejs@2.1.15","_shasum":"cbcfce55d584ae5983c00a20daa8eade37d18892","_from":"requirejs@>=0.27.1","_resolved":"https://registry.npmjs.org/requirejs/-/requirejs-2.1.15.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/requirejs/require.js","id":"requirejs/require.js","options":{},"isModule":true,"mtime":1410137090000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/package.json","data":{"name":"walkdir","description":"Find files simply. Walks a directory tree emitting events based on what it finds. Presents a familliar callback/emitter/a+sync interface. Walk a tree of any depth.","version":"0.0.7","author":{"name":"Ryan Day","email":"soldair@gmail.com"},"keywords":["find","walk","tree","files","fs"],"main":"./walkdir.js","homepage":"http://github.com/soldair/node-walkdir","repository":{"type":"git","url":"git://github.com/soldair/node-walkdir.git"},"scripts":{"test":"./test.sh"},"devDependencies":{"tap":"*","jshint":"0.5.x"},"engines":{"node":">=0.6.0"},"license":"MIT/X11","contributors":[{"name":"tjfontaine"}],"readme":"[![Build Status](https://secure.travis-ci.org/soldair/node-walkdir.png)](http://travis-ci.org/soldair/node-walkdir)\n \n## walkdir\n\nFind files. Walks a directory tree emitting events based on what it finds. Presents a familliar callback/emitter/sync interface. Walk a tree of any depth. This is a performant option any pull requests to make it more so will be talken into consderation.. \n\n## Example\n\n```js\n\nvar walk = require('walkdir');\n\n//async with path callback \n\nwalk('../',function(path,stat){\n  console.log('found: ',path);\n});\n\n//use async emitter to capture more events\n\nvar emitter = walk('../');\n\nemitter.on('file',function(filename,stat){\n  console.log('file from emitter: ', filename);\n});\n\n\n//sync with callback\n\nwalk.sync('../',function(path,stat){\n  console.log('found sync:',path);\n});\n\n//sync just need paths\n\nvar paths = walk.sync('../');\nconsole.log('found paths sync: ',paths);\n\n```\n\n\n## install\n\n\tnpm install walkdir\n\n## arguments\n\nwalkdir(path, [options], [callback])\nwalkdir.sync(path, [options], [callback]);\n\n- path\n  - the starting point of your directory walk\n\n- options. supported options are\n  - general\n\n\t```js\n\t{\n\t\"follow_symlinks\":false, // default is off \n\t\"no_recurse\":false,      // only recurse one level deep\n\t\"max_depth\":undefined    // only recurse down to max_depth. if you need more than no_recurse\n\t}\n\t```\n\n  - sync only\n\n\t```js\n\t{\n\t\"return_object\":false, // if true the sync return will be in {path:stat} format instead of [path,path,...]\n\t\"no_return\":false, // if true null will be returned and no array or object will be created with found paths. useful for large listings\n\t}\n\t```\n\n- callback\n  - this is bound to the path event of the emitter. its optional in all cases.\n\n\t```js\n\tcallback(path,stat)\n\t```\n\n## events\n\nnon error type events are emitted with (path,stat). stat is an instanceof fs.Stats\n\n###path\nfired for everything\n\n###file\nfired only for regular files\n\n###directory\nfired only for directories\n\n###link\nfired when a symbolic link is found\n\n###end\nfired when the entire tree has been read and emitted.\n\n###socket\nfired when a socket descriptor is found\n\n###fifo\nfired when a fifo is found\n\n###characterdevice\nfired when a character device is found\n\n###blockdevice\nfired when a block device is found\n\n###targetdirectory\nfired for the stat of the path you provided as the first argument. is is only fired if it is a directory.\n\n###empty\nfired for empty directory\n\n## error events\nerror type events are emitted with (path,error). error being the error object returned from an fs call or other opperation.\n\n###error\nif the target path cannot be read an error event is emitted. this is the only failure case.\n\n###fail\nwhen stat or read fails on a path somewhere in the walk and it is not your target path you get a fail event instead of error.\nThis is handy if you want to find places you dont have access too.\n\n## notes\nthe async emitter returned supports 3 methods\n\n###end\n  stop a walk in progress\n\n###pause\n  pause the walk. no more events will be emitted until resume\n\n###resume\n  resume the walk\n\n### cancel a walk in progress\n  ```js\n  //cancel a walk in progress within callback.\n\n  var walk = require('walkdir');\n  walk('../',function(path,stat){\n    this.end();\n  });\n\n  //cancel a walk in progress with emitter handle\n  var walk = require('walkdir');\n  var emitter = walk('../');\n\n  doSomethingAsync(function(){\n\temitter.end();\n  })\n  ```\n\n## thanks\nthanks to substack. the interface for this module is based off of node-findit\n\n","readmeFilename":"readme.md","bugs":{"url":"https://github.com/soldair/node-walkdir/issues"},"_id":"walkdir@0.0.7","_shasum":"04da0270a87a778540173cdbf0a2db499a8d9e29","_from":"walkdir@>= 0.0.1","_resolved":"https://registry.npmjs.org/walkdir/-/walkdir-0.0.7.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/async.js","id":"walkdir/test/async.js","options":{},"isModule":true,"requiredModules":["tap","walkdir/walkdir.js"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/comparison/find.js","id":"comparison/find.js","options":{},"isModule":true,"requiredModules":["child_process","fs"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/comparison/finditsynctest.js","id":"comparison/finditsynctest.js","options":{},"isModule":true,"requiredModules":["findit"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/comparison/findittest.js","id":"comparison/findittest.js","options":{},"isModule":true,"requiredModules":["findit"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/comparison/fstream.js","id":"comparison/fstream.js","options":{},"isModule":true,"requiredModules":["fstream"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/comparison/lsr.js","id":"comparison/lsr.js","options":{},"isModule":true,"requiredModules":["ls-r"],"mtime":1349806182000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/comparison/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/comparison/package.json","data":{"name":"recursedir-comparisons","version":"0.0.0","author":"Ryan Day <soldair@gmail.com>","devDependencies":{"findit":"*","ls-r":"*","fstream":"*"}},"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/endearly.js","id":"walkdir/test/endearly.js","options":{},"isModule":true,"requiredModules":["tap","walkdir/walkdir.js"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/max_depth.js","id":"walkdir/test/max_depth.js","options":{},"isModule":true,"requiredModules":["tap","walkdir/walkdir.js"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/no_recurse.js","id":"walkdir/test/no_recurse.js","options":{},"isModule":true,"requiredModules":["tap","walkdir/walkdir.js"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/nofailemptydir.js","id":"walkdir/test/nofailemptydir.js","options":{},"isModule":true,"requiredModules":["tap","fs","path","walkdir/walkdir.js"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/pauseresume.js","id":"walkdir/test/pauseresume.js","options":{},"isModule":true,"requiredModules":["tap","walkdir/walkdir.js"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/symlink.js","id":"walkdir/test/symlink.js","options":{},"isModule":true,"requiredModules":["tap","walkdir/walkdir.js","path"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/test/sync.js","id":"walkdir/test/sync.js","options":{},"isModule":true,"requiredModules":["tap","walkdir/walkdir.js"],"mtime":1349806182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/node_modules/walkdir/walkdir.js","id":"walkdir/walkdir.js","options":{},"isModule":true,"requiredModules":["events","fs","path"],"mtime":1366555595000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/package.json","data":{"name":"jasmine-node","version":"1.10.2","description":"DOM-less simple JavaScript BDD testing framework for Node","contributors":[{"name":"Chris Moultrie","email":"chris@moultrie.org"}],"homepage":"https://github.com/mhevery/jasmine-node","repository":{"type":"git","url":"https://github.com/mhevery/jasmine-node.git"},"keywords":["testing","bdd"],"author":{"name":"Misko Hevery","email":"misko@hevery.com"},"maintainers":[{"name":"Martin Häger","email":"martin.haeger@gmail.com"},{"name":"Chris Moultrie","email":"chris@moultrie.org"}],"licenses":["MIT"],"dependencies":{"coffee-script":">=1.0.1","jasmine-reporters":">=0.2.0","requirejs":">=0.27.1","walkdir":">= 0.0.1","underscore":">= 1.3.1","gaze":"~0.3.2","mkdirp":"~0.3.5"},"bin":{"jasmine-node":"bin/jasmine-node"},"preferGlobal":true,"main":"lib/jasmine-node","scripts":{"test":"node lib/jasmine-node/cli.js spec"},"devDependencies":{},"readme":"jasmine-node\n======\n\n[![Build Status](https://secure.travis-ci.org/spaghetticode/jasmine-node.png)](http://travis-ci.org/spaghetticode/jasmine-node)\n\nThis node.js module makes the wonderful Pivotal Lab's jasmine\n(http://github.com/pivotal/jasmine) spec framework available in\nnode.js.\n\njasmine\n-------\n\nVersion 1.3.1 of Jasmine is currently included with node-jasmine.\n\nwhat's new\n----------\n*  Ability to test specs written in Literate Coffee-Script\n*  Teamcity Reporter reinstated.\n*  Ability to specify multiple files to test via list in command line\n*  Ability to suppress stack trace with <code>--noStack</code>\n*  Async tests now run in the expected context instead of the global one\n*  --config flag that allows you to assign variables to process.env\n*  Terminal Reporters are now available in the Jasmine Object #184\n*  Done is now available in all timeout specs #199\n*  <code>afterEach</code> is available in requirejs #179\n*  Editors that replace instead of changing files should work with autotest #198\n*  Jasmine Mock Clock now works!\n*  Autotest now works!\n*  Using the latest Jasmine!\n*  Verbose mode tabs <code>describe</code> blocks much more accurately!\n*  --coffee now allows specs written in Literate CoffeeScript (.litcoffee)\n\ninstall\n------\n\nTo install the latest official version, use NPM:\n\n    npm install jasmine-node -g\n\nTo install the latest _bleeding edge_ version, clone this repository and check\nout the `beta` branch.\n\nusage\n------\n\nWrite the specifications for your code in \\*.js and \\*.coffee files in the\nspec/ directory (note: your specification files must end with either\n.spec.js, .spec.coffee or .spec.litcoffee; otherwise jasmine-node won't find them!). You can use sub-directories to better organise your specs.\n\nIf you have installed the npm package, you can run it with:\n\n    jasmine-node spec/\n\nIf you aren't using npm, you should add `pwd`/lib to the $NODE_PATH\nenvironment variable, then run:\n\n    node lib/jasmine-node/cli.js\n\n\nYou can supply the following arguments:\n\n  * <code>--autotest</code>, provides automatic execution of specs after each change\n  * <code>--watch</code>, when used with <code>--autotest</code>, paths after <code>--watch</code> will be \nwatched for changes, allowing to watch for changes outside of specs directory\n  * <code>--coffee</code>, allow execution of .coffee and .litcoffee specs\n  * <code>--color</code>, indicates spec output should uses color to\nindicates passing (green) or failing (red) specs\n  * <code>--noColor</code>, do not use color in the output\n  * <code>-m, --match REGEXP</code>, match only specs comtaining \"REGEXPspec\"\n  * <code>--matchall</code>, relax requirement of \"spec\" in spec file names\n  * <code>--verbose</code>, verbose output as the specs are run\n  * <code>--junitreport</code>, export tests results as junitreport xml format\n  * <code>--output FOLDER</code>, defines the output folder for junitreport files\n  * <code>--teamcity</code>, converts all console output to teamcity custom test runner commands. (Normally auto detected.)\n  * <code>--runWithRequireJs</code>, loads all specs using requirejs instead of node's native require method\n  * <code>--requireJsSetup</code>, file run before specs to include and configure RequireJS\n  * <code>--test-dir</code>, the absolute root directory path where tests are located\n  * <code>--nohelpers</code>, does not load helpers\n  * <code>--forceexit</code>, force exit once tests complete\n  * <code>--captureExceptions</code>, listen to global exceptions, report them and exit (interferes with Domains in NodeJs, so do not use if using Domains as well\n  * <code>--config NAME VALUE</code>, set a global variable in process.env\n  * <code>--noStack</code>, suppress the stack trace generated from a test failure\n\nIndividual files to test can be added as bare arguments to the end of the args.\n\nExample:\n\n`jasmine-node --coffee spec/AsyncSpec.coffee spec/CoffeeSpec.coffee spec/SampleSpecs.js`\n\nasync tests\n-----------\n\njasmine-node includes an alternate syntax for writing asynchronous tests. Accepting\na done callback in the specification will trigger jasmine-node to run the test\nasynchronously waiting until the done() callback is called.\n\n```javascript\n    var request = require('request');\n\n    it(\"should respond with hello world\", function(done) {\n      request(\"http://localhost:3000/hello\", function(error, response, body){\n        expect(body).toEqual(\"hello world\");\n        done();\n      });\n    });\n```\n\nAn asynchronous test will fail after 5000 ms if done() is not called. This timeout\ncan be changed by setting `jasmine.getEnv().defaultTimeoutInterval` or by passing a timeout\ninterval in the specification.\n\n```javascript\n    var request = require('request');\n\n    it(\"should respond with hello world\", function(done) {\n      request(\"http://localhost:3000/hello\", function(error, response, body){\n        done();\n      }, 250);  // timeout after 250 ms\n    });\n```\n\nor\n\n```javascript\n    var request = require('request');\n\n    jasmine.getEnv().defaultTimeoutInterval = 500;\n    \n    it(\"should respond with hello world\", function(done) {\n      request(\"http://localhost:3000/hello\", function(error, response, body){\n        done();\n      });  // timeout after 500 ms\n    });\n```\n\nCheckout spec/SampleSpecs.js to see how to use it.\n\n\nrequirejs\n---------\n\nThere is a sample project in `/spec-requirejs`. It is comprised of:\n\n1.  `requirejs-setup.js`, this pulls in our wrapper template (next)\n1.  `requirejs-wrapper-template`, this builds up requirejs settings\n1.  `requirejs.sut.js`, this is a __SU__bject To __T__est, something required by requirejs\n1.  `requirejs.spec.js`, the actual jasmine spec for testing\n\nTo run it:\n\n    node lib/jasmine-node/cli.js --runWithRequireJs --requireJsSetup ./spec-requirejs/requirejs-setup.js ./spec-requirejs/\n\nexceptions\n----------\n\nOften you'll want to capture an uncaught exception and log it to the console,\nthis is accomplished by using the `--captureExceptions` flag. Exceptions will\nbe reported to the console, but jasmine-node will attempt to recover and\ncontinue. It was decided to not change the current functionality until 2.0. So,\nuntil then, jasmine-node will still return 0 and continue on without this flag.\n\n### Scenario ###\n\nYou require a module, but it doesn't exist, ie `require('Q')` instead of\n`require('q')`. Jasmine-Node reports the error to the console, but carries on\nand returns 0. This messes up Travis-CI because you need it to return a\nnon-zero status while doing CI tests.\n\n### Mitigation ###\n\nBefore `--captureExceptions`\n\n```sh\n> jasmine-node --coffee spec\n> echo $status\n0\n```\n\nRun jasmine node with the `--captureExceptions` flag.\n\n```sh\n> jasmine-node --coffee --captureExceptions spec\n> echo $status\n1\n```\n\n\ndevelopment\n-----------\n\nInstall the dependent packages by running:\n\n    npm install\n\nRun the specs before you send your pull request:\n\n    specs.sh\n\n__Note:__ Some tests are designed to fail in the specs.sh. After each of the\nindividual runs completes, there is a line that lists what the expected\nPass/Assert/Fail count should be. If you add/remove/edit tests, please be sure\nto update this with your PR.\n\n\nchangelog\n---------\n\n*  _1.10.2 - Restored stack filter which was accidentally removed (thanks to\n   [kevinsawicki](https://github.com/kevinsawicki))_\n*  _1.10.1 - `beforeEach` and `afterEach` now properly handle the async-timeout function_\n*  _1.10.0 - Skipped tests now show in the terminal reporter's output (thanks\n   to [kevinsawicki](https://github.com/kevinsawicki))_\n*  _1.9.1 - Timeout now consistent between Async and Non-Async Calls (thanks to\n   [codemnky](https://github.com/codemnky))_\n*  _1.9.0 - Now re-throwing the file-not-found error, added info to README.md,\n   printing version with `--version`_\n*  _1.8.1 - Fixed silent failure due to invalid REGEX (thanks to\n   [pimterry](https://github.com/pimterry))_\n*  _1.8.0 - Fixed bug in autotest with multiple paths and added --watch feature\n    (thanks to [davegb3](https://github.com/davegb3))_\n*  _1.7.1 - Removed unneeded fs dependency (thanks to\n   [kevinsawicki](https://github.com/kevinsawicki)) Fixed broken fs call in\n   node 0.6 (thanks to [abe33](https://github.com/abe33))_\n*  _1.7.0 - Literate Coffee-Script now testable (thanks to [magicmoose](https://github.com/magicmoose))_\n*  _1.6.0 - Teamcity Reporter Reinstated (thanks to [bhcleek](https://github.com/bhcleek))_\n*  _1.5.1 - Missing files and require exceptions will now report instead of failing silently_\n*  _1.5.0 - Now takes multiple files for execution. (thanks to [abe33](https://github.com/abe33))_\n*  _1.4.0 - Optional flag to suppress stack trace on test failure (thanks to [Lastalas](https://github.com/Lastalas))_\n*  _1.3.1 - Fixed context for async tests (thanks to [omryn](https://github.com/omryn))_\n*  _1.3.0 - Added --config flag for changeable testing environments_\n*  _1.2.3 - Fixed #179, #184, #198, #199. Fixes autotest, afterEach in requirejs, terminal reporter is in jasmine object, done function missing in async tests_\n*  _1.2.2 - Revert Exception Capturing to avoid Breaking Domain Tests_\n*  _1.2.1 - Emergency fix for path reference missing_\n*  _1.2.0 - Fixed #149, #152, #171, #181, #195. --autotest now works as expected, jasmine clock now responds to the fake ticking as requested, and removed the path.exists warning_\n*  _1.1.1 - Fixed #173, #169 (Blocks were not indented in verbose properly, added more documentation to address #180_\n*  _1.1.0 - Updated Jasmine to 1.3.1, fixed fs missing, catching uncaught exceptions, other fixes_\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mhevery/jasmine-node/issues"},"_id":"jasmine-node@1.10.2","_shasum":"4829c4226f827d5a55734154cbf39629a69be80f","_from":"jasmine-node@1.10.2","_resolved":"https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.10.2.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/async-callback_spec.js","id":"jasmine-node/spec/async-callback_spec.js","options":{},"isModule":true,"mtime":1362950323000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/helper_spec.js","id":"jasmine-node/spec/helper_spec.js","options":{},"isModule":true,"mtime":1359640091000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/nested/NestedSpec.js","id":"jasmine-node/spec/nested/NestedSpec.js","options":{},"isModule":true,"mtime":1359640091000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/nested/uber-nested/UberNestedSpec.js","id":"jasmine-node/spec/nested/uber-nested/UberNestedSpec.js","options":{},"isModule":true,"mtime":1361640218000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/nested.js/NestedSpec.js","id":"jasmine-node/spec/nested.js/NestedSpec.js","options":{},"isModule":true,"mtime":1359640091000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/reporter_spec.js","id":"jasmine-node/spec/reporter_spec.js","options":{},"isModule":true,"mtime":1372251822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/sample_helper.js","id":"jasmine-node/spec/sample_helper.js","options":{},"isModule":true,"mtime":1359640091000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/SampleSpecs.js","id":"jasmine-node/spec/SampleSpecs.js","options":{},"isModule":true,"mtime":1359640091000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/TestSpec.js","id":"jasmine-node/spec/TestSpec.js","options":{},"isModule":true,"mtime":1372453674000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec/TimerSpec.js","id":"jasmine-node/spec/TimerSpec.js","options":{},"isModule":true,"mtime":1359844174000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec-requirejs/requirejs-setup.js","id":"jasmine-node/spec-requirejs/requirejs-setup.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1371732861000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec-requirejs/requirejs-wrapper-template.js","id":"jasmine-node/spec-requirejs/requirejs-wrapper-template.js","options":{},"isModule":true,"requiredModules":["requirejs/bin/r.js","path"],"mtime":1371732912000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec-requirejs/requirejs.spec.js","id":"jasmine-node/spec-requirejs/requirejs.spec.js","options":{},"isModule":true,"mtime":1361073027000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec-requirejs/requirejs.sut.js","id":"jasmine-node/spec-requirejs/requirejs.sut.js","options":{},"isModule":true,"mtime":1359640091000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/node_modules/jasmine-node/spec-requirejs-coffee/requirejs-setup.js","id":"jasmine-node/spec-requirejs-coffee/requirejs-setup.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1359844174000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/heroku/package.json","data":{"name":"heroku","description":"Heroku API bindings for node.","version":"0.1.2","homepage":"http://github.com/toots/node-heroku","author":{"name":"Romain Beauxis"},"repository":{"type":"git","url":"git://github.com/toots/node-heroku.git"},"bugs":{"url":"http://github.com/toots/node-heroku/issues"},"main":"lib/heroku.js","directories":{"lib":"./lib","test":"./test","src":"./src"},"scripts":{"test":"cake spec"},"engine":{"node":">= 0.4.7","npm":"1"},"licences":[{"type":"Dual Beerware / Lunchware","url":"https://github.com/toots/node-heroku/blob/master/README.md#license"}],"dependencies":{"coffee-script":"1.6.3","jasmine-node":"1.10.2"},"readme":"Heroku client API for node\n==========================\n\nWelcome to this (almost) untested, mostly rip-off of [heroku/heroku.rb](https://github.com/heroku/heroku.rb).\n\nThis module provides exactly the same API as heroku's official client. Each function has been carefully fed\nto monkeys who, through patience and understanding, had been trained to translate basic ruby into coffee \nscript.\n\n<table>\n  <tr><td><img src=\"https://github.com/toots/node-heroku/raw/master/misc/monkey.png\" alt=\"A monkey in action\" title=\"A monkey in action\"/></td></tr>\n  <tr><td>A monkey in action</td></tr>\n</table>\n\nThose monkeys' education cost a lot so we could not afford tests for this code. However, we guarantee that\nno animal was hurt while preparing this module.\n\nHow to use?\n===========\n\nAPI exported by this module is _exactly_ the same as API exported by  [heroku/heroku.rb](https://github.com/heroku/heroku.rb).\nYes, this also means that some variables are not camelCased. We apologize in advance for this inconvenience and,\nmost regretfully, have to deny any liability regarding possible eye injury while inspecting this code.\n\nThat being said, here's a sample use:\n\n    heroku = require(\"heroku\");\n    client = new heroku.Heroku({key: \"deadbeef\"});\n    client.get_releases(\"my_app\", function (error, result) {\n      (...your code here...)\n    });\n\nFor those who prefer to have it with more caffeine, here's the same example in\n[coffee-script](https://github.com/jashkenas/coffee-script):\n\n    {Heroku} = require \"heroku\"\n    client   = new Heroku\n      key : \"deadbeef\"\n\n    client.get_releases \"my_app\", (error, result) ->\n      (..your code here..)\n\n### License\n\nThis code is dual licensed under the Beerware / Lunchware license.  See below for details:\n\n    THE BEER-WARE / LUNCH-WARE LICENSE (Revision 42):\n    <toots@rastageeks.org> wrote this file. As long as you retain this notice you\n    can do whatever you want with this stuff. If we meet some day, and you think\n    this stuff is worth it, you can buy me a beer and/or lunch in return -- Romain Beauxis\n","readmeFilename":"README.md","_id":"heroku@0.1.2","_shasum":"194a988e4442babc8b030049668b5b212853a5d6","_from":"heroku@0.1.x","_resolved":"https://registry.npmjs.org/heroku/-/heroku-0.1.2.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/lib/mson.js","id":"mongoson/lib/mson.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js"],"mtime":1370862093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/browser_build/bson.js","id":"browser_build/bson.js","options":{},"isModule":true,"requiredModules":["buffer","util/util.js","./long","./double","./timestamp","./objectid","./symbol","./code","./min_key","./max_key","./db_ref","./binary","./binary_parser","./float_parser","browser_build/bson.js","../../ext"],"mtime":1363189250000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/browser_build/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/browser_build/package.json","data":{"name":"bson","description":"A bson parser for node.js and the browser","main":"../lib/bson/bson","directories":{"lib":"../lib/bson"},"engines":{"node":">=0.6.0"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}]},"mtime":1361194064000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/build_browser.js","id":"bson/build_browser.js","options":{},"isModule":true,"requiredModules":["one"],"mtime":1361194585000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/ext/index.js","id":"bson/ext/index.js","options":{},"isModule":true,"requiredModules":["./win32/x64/bson","./win32/ia32/bson","../build/Release/bson","bson/lib/bson/long.js","bson/lib/bson/objectid.js","bson/lib/bson/db_ref.js","bson/lib/bson/code.js","bson/lib/bson/timestamp.js","bson/lib/bson/binary.js","bson/lib/bson/double.js","bson/lib/bson/max_key.js","bson/lib/bson/min_key.js","bson/lib/bson/symbol.js"],"mtime":1348602705000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/binary.js","id":"bson/lib/bson/binary.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1361194779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/binary_parser.js","id":"bson/lib/bson/binary_parser.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1349777732000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/bson.js","id":"bson/lib/bson/bson.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/long.js","bson/lib/bson/double.js","bson/lib/bson/timestamp.js","bson/lib/bson/objectid.js","bson/lib/bson/symbol.js","bson/lib/bson/code.js","bson/lib/bson/min_key.js","bson/lib/bson/max_key.js","bson/lib/bson/db_ref.js","bson/lib/bson/binary.js","bson/lib/bson/binary_parser.js","bson/lib/bson/float_parser.js"],"mtime":1365606327000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/code.js","id":"bson/lib/bson/code.js","options":{},"isModule":true,"mtime":1349777746000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/db_ref.js","id":"bson/lib/bson/db_ref.js","options":{},"isModule":true,"mtime":1349777751000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/double.js","id":"bson/lib/bson/double.js","options":{},"isModule":true,"mtime":1349777758000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/float_parser.js","id":"bson/lib/bson/float_parser.js","options":{},"isModule":true,"mtime":1349777766000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/index.js","id":"bson/lib/bson/index.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/bson.js","bson/ext/index.js"],"mtime":1359377052000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/long.js","id":"bson/lib/bson/long.js","options":{},"isModule":true,"mtime":1349777780000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/max_key.js","id":"bson/lib/bson/max_key.js","options":{},"isModule":true,"mtime":1349777785000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/min_key.js","id":"bson/lib/bson/min_key.js","options":{},"isModule":true,"mtime":1349777790000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/objectid.js","id":"bson/lib/bson/objectid.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/binary_parser.js"],"mtime":1369719401000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/symbol.js","id":"bson/lib/bson/symbol.js","options":{},"isModule":true,"mtime":1349777810000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/lib/bson/timestamp.js","id":"bson/lib/bson/timestamp.js","options":{},"isModule":true,"mtime":1349777820000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/package.json","data":{"name":"bson","description":"A bson parser for node.js and the browser","keywords":["mongodb","bson","parser"],"version":"0.1.9","author":{"name":"Christian Amor Kvalheim","email":"christkv@gmail.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/mongodb/js-bson.git"},"bugs":{"url":"https://github.com/mongodb/js-bson/issues"},"devDependencies":{"nodeunit":"0.7.3","gleak":"0.2.3","one":"latest"},"config":{"native":false},"main":"./lib/bson/index","directories":{"lib":"./lib/bson"},"engines":{"node":">=0.6.19"},"scripts":{"install":"(node-gyp rebuild 2> builderror.log) || (exit 0)","test":"nodeunit ./test/node && TEST_NATIVE=TRUE nodeunit ./test/node"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"readme":"Javascript + C++ BSON parser\n============================\n\nThis BSON parser is primarily meant for usage with the `mongodb` node.js driver. However thanks to such wonderful tools at `onejs` we are able to package up a BSON parser that will work in the browser aswell. The current build is located in the `browser_build/bson.js` file.\n\nA simple example on how to use it\n\n    <head>\n      <script src=\"https://raw.github.com/mongodb/js-bson/master/browser_build/bson.js\">\n      </script>\n    </head>\n    <body onload=\"start();\">\n    <script>\n      function start() {\n        var BSON = bson().BSON;\n        var Long = bson().Long;\n\n        var doc = {long: Long.fromNumber(100)}\n\n        // Serialize a document\n        var data = BSON.serialize(doc, false, true, false);\n        // De serialize it again\n        var doc_2 = BSON.deserialize(data);\n      }\n    </script>\n    </body>\n\n  It's got two simple methods to use in your application.\n\n  * BSON.serialize(object, checkKeys, asBuffer, serializeFunctions)\n     * @param {Object} object the Javascript object to serialize.\n     * @param {Boolean} checkKeys the serializer will check if keys are valid.\n     * @param {Boolean} asBuffer return the serialized object as a Buffer object **(ignore)**.\n     * @param {Boolean} serializeFunctions serialize the javascript functions **(default:false)**\n     * @return {TypedArray/Array} returns a TypedArray or Array depending on what your browser supports\n \n  * BSON.deserialize(buffer, options, isArray)\n     * Options\n       * **evalFunctions** {Boolean, default:false}, evaluate functions in the BSON document scoped to the object deserialized.\n       * **cacheFunctions** {Boolean, default:false}, cache evaluated functions for reuse.\n       * **cacheFunctionsCrc32** {Boolean, default:false}, use a crc32 code for caching, otherwise use the string of the function.\n     * @param {TypedArray/Array} a TypedArray/Array containing the BSON data\n     * @param {Object} [options] additional options used for the deserialization.\n     * @param {Boolean} [isArray] ignore used for recursive parsing.\n     * @return {Object} returns the deserialized Javascript Object.\n","readmeFilename":"README.md","homepage":"https://github.com/mongodb/js-bson","_id":"bson@0.1.9","_shasum":"7528f81ed770e6d630ca8c2ccdf5394a4096db14","_from":"bson@0.1.x","_resolved":"https://registry.npmjs.org/bson/-/bson-0.1.9.tgz"},"mtime":1415897195000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/tools/gleak.js","id":"bson/tools/gleak.js","options":{},"isModule":true,"requiredModules":["gleak"],"mtime":1348582991000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/tools/jasmine-1.1.0/jasmine-html.js","id":"bson/tools/jasmine-1.1.0/jasmine-html.js","options":{},"isModule":true,"mtime":1348003844000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/node_modules/bson/tools/jasmine-1.1.0/jasmine.js","id":"bson/tools/jasmine-1.1.0/jasmine.js","options":{},"isModule":true,"mtime":1348003844000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/node_modules/mongoson/package.json","data":{"name":"mongoson","description":"Stringifies query objects for pasting into the Mongo shell.","keywords":["mongodb","json","serializer","stringify","ObjectId","ISODate","DBRef"],"version":"0.1.3","directories":{"lib":"./lib"},"main":"lib/mson.js","dependencies":{"bson":"0.1.x"},"devDependencies":{"coffee-script":"1.6.x"},"engines":{"node":"0.10.x","npm":"1.2.x"},"optionalDependencies":{},"author":{"name":"Meryn Stol","email":"merynstol@gmail.com"},"homepage":"https://github.com/meryn/mongoson","repository":{"type":"git","url":"git://github.com/meryn/mongoson.git"},"scripts":{"prepublish":"npm test","pretest":"cake build","test":"coffee ./test/mson.coffee"},"readme":"# mongoson: MongoDB Shell Object Notation [![Build Status](https://travis-ci.org/meryn/mongoson.png?branch=master)](https://travis-ci.org/meryn/mongoson)\n\n`MSON.stringify` is an alternative for `JSON.stringify`. It serializes queries (and data to be inserted or updated) in such a way that they can be pasted into the Mongo shell, with no loss of information. ObjectIds, DBRefs and Dates are not converted to strings, so they'll keep working. \n\nThe primary use case is to help with debugging MongoDB queries that are generated by your app.\n\n## Installation\n\n```\nnpm install mongoson\n```\n\n## Usage\n\n### MSON.stringify\n\n```coffee\nMSON = require 'mongoson'\nMSON.stringify mongoQuery\n```\n\nThis returns a serialized query, a \"query object literal\" if you will. The result can be pasted into the mongo console.\n\n#### Notes\n\n* `MSON.stringify` encodes ObjectId, DBRef and Date objects. All else should be equivalent to regular JSON. \n* Passing a replacer function as second argument is not supported.\n* Indentention is not supported.\n\n### MSON.parseUnsafe\n\nFor the brave-at-heart, there's also `MSON.parseUnsafe serializedQuery`. It's called `parseUnsafe` for a reason, because it actually uses `eval` to instantiate the correct `ObjectId`, `DBRef` and `Date` objects, *without doing any sanitation beforehand*. You do NOT want to use this unattended. Before running it on any serialized query, I recommend scrutinizing it for any fishy stuff inside. _It could absolutely execute any kind of code in node.js._\n\nThe advantage of `MSON.parseUnsafe` over doing eval yourself is that the code gets evaluated in a context where `ObjectId`, `DBRef`, and `ISODate` functions are defined. This is quicker than importing them from MongoDB's BSON module yourself.\n\nI'd appreciate any hints on how to adjust (for example) the [JSON2](https://github.com/douglascrockford/JSON-js) parse function to let the specific calls to `ObjectId`, `DBRef` and `ISODate` pass through, while disallowing any other kinds of expressions (beyond valid JSON expressions, obviously). Then we could have a safe `MSON.parse`.\n\n## Example\n\nSuppose you have build a query using some \"native\" Mongo object types (DBRef and ObjectId), like so:\n\n```coffee\nbson = require 'bson'\nObjectID = bson.BSONPure.ObjectID\nDBRef = bson.BSONPure.DBRef\n\nsomeQuery = \n  _id: ObjectID(\"507f1f77bcf86cd799439011\")\n  title: \"Super\"\n  related: [\n    ObjectID(\"507f1f77bcf86cd799439011\"), \n    ObjectID(\"507f1f77bcf86cd799439012\"), \n    ObjectID(\"507f1f77bcf86cd799439013\")\n  ]\n  owner: DBRef(\"groups\",ObjectID(\"507f191e810c19729de860ea\"))\n  updatedAt: \n    $gte: new Date \"2012-02-07T18:32:42.692Z\" \n    $lte: new Date \"2013-02-07T18:32:42.692Z\"\n```\n\nYou can then do\n\n```coffee\nMSON = require 'mongoson'\nconsole.log MSON.stringify someQuery\n```\n\nWhich gives\n\n```javascript\n{\"_id\":ObjectId(\"507f1f77bcf86cd799439011\"),\"title\":\"Super\",\"related\":[ObjectId(\"507f1f77bcf86cd799439011\"),ObjectId(\"507f1f77bcf86cd799439012\"),ObjectId(\"507f1f77bcf86cd799439013\")],\"owner\":{\"$ref\":\"groups\",\"$id\":\"507f191e810c19729de860ea\"},\"updatedAt\":{\"$gte\":ISODate(\"2012-02-07T18:32:42.692Z\"),\"$lte\":ISODate(\"2013-02-07T18:32:42.692Z\")}}\n```\n\nThis is ready to be pasted into the MongoDB shell as part of a command.\n\nThe example input and output is taken straight from the (sole) test for this module, so the above should absolutely work.\n\n## License\n\nmongoson is released under the [MIT License](http://opensource.org/licenses/MIT).  \nCopyright (c) 2013 Meryn Stol","readmeFilename":"README.md","bugs":{"url":"https://github.com/meryn/mongoson/issues"},"_id":"mongoson@0.1.3","_shasum":"cb1a672254e4f9ef2d7d9197e38a7f42046fdc31","_from":"mongoson@0.1.x","_resolved":"https://registry.npmjs.org/mongoson/-/mongoson-0.1.3.tgz"},"mtime":1415897188000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongo-utils/package.json","data":{"name":"mongo-utils","description":"Friendly interface to mongodump and mongorestore commands.","keywords":["mongodb","mongodump","mongorestore","heroku","mongohq"],"version":"0.4.5","directories":{"lib":"./lib"},"main":"lib/utils.js","dependencies":{"heroku":"0.1.x","mongoson":"0.1.x"},"devDependencies":{"coffee-script":"1.6.x","mocha":"~1.9.0"},"engines":{"node":"0.8.x","npm":"1.1.x"},"optionalDependencies":{},"author":{"name":"Meryn Stol","email":"merynstol@gmail.com"},"homepage":"https://github.com/meryn/mongo-utils","repository":{"type":"git","url":"git://github.com/meryn/mongo-utils.git"},"scripts":{"prepublish":"npm test","pretest":"make build","test":"make test"},"readme":"# mongo-utils [![Build Status](https://travis-ci.org/meryn/mongo-utils.png?branch=master)](https://travis-ci.org/meryn/mongo-utils)\n\nmongo-utils provides a friendly interface to MongoDB's mongodump and mongorestore commands, as well as some utility functions.\n\n## Synchronous functions\n \n```coffee\nutils.parseConnectionString connectionString # mongo connection options object\nutils.makeRestoreCommand connectionString, sourceDir # mongorestore ...\nutils.makeDumpCommand connectionString, targetDir # mongodump ...\n```\n\n## Asynchronous functions\n\nThese functions simply wrap [`child_process.exec`](http://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback) in a convenient interface. There is absolutely no validation happening. Thus, the absence of an error (as `err` argument) does not mean the dump or restore succeeded.\n\nI advise to inspect `stdout` and `stderr` yourself if you use this module for any important dumps or restores, or verify the results otherwise.\n\n```coffee\nutils.dumpDatabase connectionString, dirName, (err, stdout, stderr) ->\nutils.dumpHerokuMongoHQDatabase appName, dirName, (err, stdout, stderr) ->\nutils.restoreDatabase connectionString, dirName, (err, stdout, stderr) ->\nutils.dumpHerokuMongoHQDatabase appName, dirName, (err, stdout, stderr) ->\n```\n\nThe heroku-mongohq functions look up the `MONGOHQ_URL` environment variable of your Heroku app, using the [heroku](https://github.com/toots/node-heroku) module.\n\n## Configuration\n\nmongo-utils logs some messages to allow you to see what's going on behind the scenes, primarily when doing the using the dump or restore commands. To see what's being logged, you may assign a log function which takes a single `message` argument to `utils.log`. By default, `utils.log` is a noop.\n\n```coffee\nutils = require \"mongo-utils\"\nutils.log = (msg) -> console.log msg\n```\n\n## Prerequisites\n\nFor the commands to work, you need to have `mongorestore` and `mongodump` in your path.  \nThe Heroku-specific commands require a `HEROKU_API_KEY` environment variable to be set.\n\n## License\n\nmongo-utils is released under the [MIT License](http://opensource.org/licenses/MIT).  \nCopyright (c) 2013 Meryn Stol","readmeFilename":"README.md","bugs":{"url":"https://github.com/meryn/mongo-utils/issues"},"_id":"mongo-utils@0.4.5","_shasum":"eb4e8e8c5cbd36e0b02000125d0eb55b4a2a0cf0","_from":"mongo-utils@^0.4.5","_resolved":"https://registry.npmjs.org/mongo-utils/-/mongo-utils-0.4.5.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/index.js","id":"mongodb/index.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/admin.js","id":"mongodb/lib/mongodb/admin.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection.js","mongodb/lib/mongodb/cursor.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/aggregation_cursor.js","id":"mongodb/lib/mongodb/aggregation_cursor.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/read_preference.js","stream","readable-stream/readable.js","mongodb/lib/mongodb/command_cursor.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/collection/shared.js","util/util.js"],"mtime":1422871688000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/auth/mongodb_cr.js","id":"mongodb/lib/mongodb/auth/mongodb_cr.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","crypto"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/auth/mongodb_gssapi.js","id":"mongodb/lib/mongodb/auth/mongodb_gssapi.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","util/util.js","kerberos/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/auth/mongodb_plain.js","id":"mongodb/lib/mongodb/auth/mongodb_plain.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","crypto","bson/lib/bson/index.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/auth/mongodb_scram.js","id":"mongodb/lib/mongodb/auth/mongodb_scram.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","crypto","bson/lib/bson/index.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/auth/mongodb_sspi.js","id":"mongodb/lib/mongodb/auth/mongodb_sspi.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","util/util.js","kerberos/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/auth/mongodb_x509.js","id":"mongodb/lib/mongodb/auth/mongodb_x509.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","bson/lib/bson/index.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/aggregation.js","id":"mongodb/lib/mongodb/collection/aggregation.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/aggregation_cursor.js","bson/lib/bson/index.js","mongodb/lib/mongodb/commands/db_command.js"],"mtime":1422871643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/batch/common.js","id":"mongodb/lib/mongodb/collection/batch/common.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/utils.js"],"mtime":1425375776000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/batch/ordered.js","id":"mongodb/lib/mongodb/collection/batch/ordered.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/collection/batch/common.js","mongodb/lib/mongodb/utils.js","bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/batch/unordered.js","id":"mongodb/lib/mongodb/collection/batch/unordered.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/collection/batch/common.js","mongodb/lib/mongodb/utils.js","bson/lib/bson/index.js"],"mtime":1425375957000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/commands.js","id":"mongodb/lib/mongodb/collection/commands.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/utils.js","util/util.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/collection.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/core.js","id":"mongodb/lib/mongodb/collection/core.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/insert_command.js","mongodb/lib/mongodb/commands/delete_command.js","mongodb/lib/mongodb/commands/update_command.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/collection/shared.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/geo.js","id":"mongodb/lib/mongodb/collection/geo.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/index.js","id":"mongodb/lib/mongodb/collection/index.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/command_cursor.js","mongodb/lib/mongodb/collection/shared.js"],"mtime":1424771120000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/query.js","id":"mongodb/lib/mongodb/collection/query.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/command_cursor.js","mongodb/lib/mongodb/scope.js","mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/utils.js"],"mtime":1424094151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection/shared.js","id":"mongodb/lib/mongodb/collection/shared.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/collection.js","id":"mongodb/lib/mongodb/collection.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/insert_command.js","mongodb/lib/mongodb/commands/query_command.js","mongodb/lib/mongodb/commands/delete_command.js","mongodb/lib/mongodb/commands/update_command.js","mongodb/lib/mongodb/commands/db_command.js","bson/lib/bson/index.js","mongodb/lib/mongodb/cursor.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/collection/core.js","mongodb/lib/mongodb/collection/query.js","mongodb/lib/mongodb/collection/index.js","mongodb/lib/mongodb/collection/geo.js","mongodb/lib/mongodb/collection/commands.js","mongodb/lib/mongodb/collection/aggregation.js","mongodb/lib/mongodb/collection/batch/unordered.js","mongodb/lib/mongodb/collection/batch/ordered.js"],"mtime":1422870637000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/command_cursor.js","id":"mongodb/lib/mongodb/command_cursor.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js","stream","readable-stream/readable.js","mongodb/lib/mongodb/commands/get_more_command.js","util/util.js"],"mtime":1422615071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/commands/base_command.js","id":"mongodb/lib/mongodb/commands/base_command.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/commands/db_command.js","id":"mongodb/lib/mongodb/commands/db_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/query_command.js","mongodb/lib/mongodb/commands/insert_command.js","util/util.js","mongodb/lib/mongodb/utils.js","crypto"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/commands/delete_command.js","id":"mongodb/lib/mongodb/commands/delete_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/commands/get_more_command.js","id":"mongodb/lib/mongodb/commands/get_more_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/commands/insert_command.js","id":"mongodb/lib/mongodb/commands/insert_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/commands/kill_cursor_command.js","id":"mongodb/lib/mongodb/commands/kill_cursor_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/commands/query_command.js","id":"mongodb/lib/mongodb/commands/query_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/commands/update_command.js","id":"mongodb/lib/mongodb/commands/update_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/base.js","id":"mongodb/lib/mongodb/connection/base.js","options":{},"isModule":true,"requiredModules":["events","util/util.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/auth/mongodb_cr.js","mongodb/lib/mongodb/auth/mongodb_gssapi.js","mongodb/lib/mongodb/auth/mongodb_sspi.js","mongodb/lib/mongodb/auth/mongodb_plain.js","mongodb/lib/mongodb/auth/mongodb_x509.js","mongodb/lib/mongodb/auth/mongodb_scram.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/connection.js","id":"mongodb/lib/mongodb/connection/connection.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/connection_utils.js","util/util.js","net","events","mongodb/lib/mongodb/utils.js","tls"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/connection_pool.js","id":"mongodb/lib/mongodb/connection/connection_pool.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/connection_utils.js","util/util.js","net","timers","events","mongodb/lib/mongodb/responses/mongo_reply.js","mongodb/lib/mongodb/connection/connection.js","mongodb/lib/mongodb/utils.js"],"mtime":1424784464000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/connection_utils.js","id":"mongodb/lib/mongodb/connection/connection_utils.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/mongos.js","id":"mongodb/lib/mongodb/connection/mongos.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/connection/base.js","mongodb/lib/mongodb/connection/server_capabilities.js","mongodb/lib/mongodb/connection/server.js","util/util.js","timers","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/read_preference.js","id":"mongodb/lib/mongodb/connection/read_preference.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/repl_set/ha.js","id":"mongodb/lib/mongodb/connection/repl_set/ha.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/connection/server_capabilities.js","util/util.js","mongodb/lib/mongodb/db.js","mongodb/lib/mongodb/connection/server.js","mongodb/lib/mongodb/connection/repl_set/repl_set.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/repl_set/options.js","id":"mongodb/lib/mongodb/connection/repl_set/options.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/repl_set/strategies/ping_strategy.js","mongodb/lib/mongodb/connection/repl_set/strategies/statistics_strategy.js","mongodb/lib/mongodb/connection/read_preference.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/repl_set/repl_set.js","id":"mongodb/lib/mongodb/connection/repl_set/repl_set.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/commands/db_command.js","util/util.js","timers","mongodb/lib/mongodb/connection/server.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/connection/repl_set/strategies/ping_strategy.js","mongodb/lib/mongodb/connection/repl_set/strategies/statistics_strategy.js","mongodb/lib/mongodb/connection/repl_set/options.js","mongodb/lib/mongodb/connection/server_capabilities.js","mongodb/lib/mongodb/connection/repl_set/repl_set_state.js","mongodb/lib/mongodb/connection/repl_set/ha.js","mongodb/lib/mongodb/connection/base.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/repl_set/repl_set_state.js","id":"mongodb/lib/mongodb/connection/repl_set/repl_set_state.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/repl_set/strategies/ping_strategy.js","id":"mongodb/lib/mongodb/connection/repl_set/strategies/ping_strategy.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/server.js","util/util.js","mongodb/lib/mongodb/db.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/repl_set/strategies/statistics_strategy.js","id":"mongodb/lib/mongodb/connection/repl_set/strategies/statistics_strategy.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/server.js","id":"mongodb/lib/mongodb/connection/server.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/connection.js","mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/responses/mongo_reply.js","mongodb/lib/mongodb/connection/connection_pool.js","events","mongodb/lib/mongodb/connection/server_capabilities.js","mongodb/lib/mongodb/connection/base.js","util/util.js","mongodb/lib/mongodb/utils.js","timers"],"mtime":1424089921000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/server_capabilities.js","id":"mongodb/lib/mongodb/connection/server_capabilities.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/connection/url_parser.js","id":"mongodb/lib/mongodb/connection/url_parser.js","options":{},"isModule":true,"requiredModules":["fs","mongodb/lib/mongodb/connection/read_preference.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/cursor.js","id":"mongodb/lib/mongodb/cursor.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/query_command.js","mongodb/lib/mongodb/commands/get_more_command.js","mongodb/lib/mongodb/commands/kill_cursor_command.js","bson/lib/bson/index.js","mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/cursorstream.js","timers","mongodb/lib/mongodb/utils.js"],"mtime":1425037410000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/cursorstream.js","id":"mongodb/lib/mongodb/cursorstream.js","options":{},"isModule":true,"requiredModules":["timers","mongodb/lib/mongodb/utils.js","stream"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/db.js","id":"mongodb/lib/mongodb/db.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/query_command.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/responses/mongo_reply.js","mongodb/lib/mongodb/admin.js","mongodb/lib/mongodb/collection.js","mongodb/lib/mongodb/connection/server.js","mongodb/lib/mongodb/connection/repl_set/repl_set.js","mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/connection/mongos.js","mongodb/lib/mongodb/cursor.js","events","mongodb/lib/mongodb/commands/insert_command.js","mongodb/lib/mongodb/command_cursor.js","util/util.js","crypto","timers","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/auth/mongodb_cr.js","mongodb/lib/mongodb/auth/mongodb_gssapi.js","mongodb/lib/mongodb/auth/mongodb_sspi.js","mongodb/lib/mongodb/auth/mongodb_plain.js","mongodb/lib/mongodb/auth/mongodb_x509.js","mongodb/lib/mongodb/auth/mongodb_scram.js","kerberos/index.js","bson/lib/bson/index.js","mongodb/lib/mongodb/mongo_client.js"],"mtime":1424094683000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/gridfs/chunk.js","id":"mongodb/lib/mongodb/gridfs/chunk.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/gridfs/grid.js","id":"mongodb/lib/mongodb/gridfs/grid.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/gridfs/gridstore.js","bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js","id":"mongodb/lib/mongodb/gridfs/gridstore.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/gridfs/chunk.js","mongodb/lib/mongodb/commands/db_command.js","bson/lib/bson/index.js","buffer","fs","timers","util/util.js","mongodb/lib/mongodb/gridfs/readstream.js","stream","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/gridfs/readstream.js","id":"mongodb/lib/mongodb/gridfs/readstream.js","options":{},"isModule":true,"requiredModules":["stream","timers","util/util.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/index.js","id":"mongodb/lib/mongodb/index.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js","../../package"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/mongo_client.js","id":"mongodb/lib/mongodb/mongo_client.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/db.js","mongodb/lib/mongodb/connection/server.js","mongodb/lib/mongodb/connection/mongos.js","mongodb/lib/mongodb/connection/repl_set/repl_set.js","mongodb/lib/mongodb/connection/read_preference.js","util/util.js","events","mongodb/lib/mongodb/connection/url_parser.js","bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js","id":"mongodb/lib/mongodb/responses/mongo_reply.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js","timers","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/scope.js","id":"mongodb/lib/mongodb/scope.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/cursor.js","stream","mongodb/lib/mongodb/utils.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/lib/mongodb/utils.js","id":"mongodb/lib/mongodb/utils.js","options":{},"isModule":true,"requiredModules":["timers"],"mtime":1425037410000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/browser_build/bson.js","id":"browser_build/bson.js","options":{},"isModule":true,"requiredModules":["buffer","util/util.js","./long","./double","./timestamp","./objectid","./symbol","./code","./min_key","./max_key","./db_ref","./binary","./binary_parser","./float_parser","browser_build/bson.js","../../ext"],"mtime":1421937852000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/browser_build/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/browser_build/package.json","data":{"name":"bson","description":"A bson parser for node.js and the browser","main":"../lib/bson/bson","directories":{"lib":"../lib/bson"},"engines":{"node":">=0.6.0"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}]},"mtime":1421937852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/build_browser.js","id":"bson/build_browser.js","options":{},"isModule":true,"requiredModules":["one"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/ext/index.js","id":"bson/ext/index.js","options":{},"isModule":true,"requiredModules":["./win32/x64/bson","./win32/ia32/bson","../build/Release/bson","bson/lib/bson/bson.js","bson/lib/bson/long.js","bson/lib/bson/objectid.js","bson/lib/bson/db_ref.js","bson/lib/bson/code.js","bson/lib/bson/timestamp.js","bson/lib/bson/binary.js","bson/lib/bson/double.js","bson/lib/bson/max_key.js","bson/lib/bson/min_key.js","bson/lib/bson/symbol.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/binary.js","id":"bson/lib/bson/binary.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/binary_parser.js","id":"bson/lib/bson/binary_parser.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1434110551000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/bson.js","id":"bson/lib/bson/bson.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/long.js","bson/lib/bson/double.js","bson/lib/bson/timestamp.js","bson/lib/bson/objectid.js","bson/lib/bson/symbol.js","bson/lib/bson/code.js","bson/lib/bson/min_key.js","bson/lib/bson/max_key.js","bson/lib/bson/db_ref.js","bson/lib/bson/binary.js","bson/lib/bson/binary_parser.js","bson/lib/bson/float_parser.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/bson_new.js","id":"bson/lib/bson/bson_new.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/float_parser.js","bson/lib/bson/long.js","bson/lib/bson/double.js","bson/lib/bson/timestamp.js","bson/lib/bson/objectid.js","bson/lib/bson/symbol.js","bson/lib/bson/code.js","bson/lib/bson/min_key.js","bson/lib/bson/max_key.js","bson/lib/bson/db_ref.js","bson/lib/bson/binary.js","bson/lib/bson/binary_parser.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/code.js","id":"bson/lib/bson/code.js","options":{},"isModule":true,"mtime":1426500819000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/db_ref.js","id":"bson/lib/bson/db_ref.js","options":{},"isModule":true,"mtime":1426500823000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/double.js","id":"bson/lib/bson/double.js","options":{},"isModule":true,"mtime":1426500827000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/float_parser.js","id":"bson/lib/bson/float_parser.js","options":{},"isModule":true,"mtime":1421937852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/index.js","id":"bson/lib/bson/index.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/bson.js","bson/ext/index.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/long.js","id":"bson/lib/bson/long.js","options":{},"isModule":true,"mtime":1426500848000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/max_key.js","id":"bson/lib/bson/max_key.js","options":{},"isModule":true,"mtime":1426500852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/min_key.js","id":"bson/lib/bson/min_key.js","options":{},"isModule":true,"mtime":1426500856000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/objectid.js","id":"bson/lib/bson/objectid.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/binary_parser.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/symbol.js","id":"bson/lib/bson/symbol.js","options":{},"isModule":true,"mtime":1426500868000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/lib/bson/timestamp.js","id":"bson/lib/bson/timestamp.js","options":{},"isModule":true,"mtime":1426500873000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/node_modules/nan/include_dirs.js","id":"nan/include_dirs.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1415299420000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/node_modules/nan/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/node_modules/nan/package.json","data":{"name":"nan","version":"1.8.4","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/iojs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"ed3bbf4ced0cf7937b4e4164766797f71aa97f3d","bugs":{"url":"https://github.com/iojs/nan/issues"},"homepage":"https://github.com/iojs/nan#readme","_id":"nan@1.8.4","_shasum":"3c76b5382eab33e44b758d2813ca9d92e9342f34","_from":"nan@>=1.8.0 <1.9.0","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"3c76b5382eab33e44b758d2813ca9d92e9342f34","tarball":"http://registry.npmjs.org/nan/-/nan-1.8.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/nan/-/nan-1.8.4.tgz","readme":"ERROR: No README data found!"},"mtime":1439487650000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/package.json","data":{"name":"bson","description":"A bson parser for node.js and the browser","keywords":["mongodb","bson","parser"],"version":"0.2.22","author":{"name":"Christian Amor Kvalheim","email":"christkv@gmail.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/mongodb/js-bson.git"},"bugs":{"url":"https://github.com/mongodb/js-bson/issues"},"dependencies":{"nan":"~1.8"},"devDependencies":{"nodeunit":"0.9.0","gleak":"0.2.3","one":"2.X.X"},"config":{"native":false},"main":"./lib/bson/index","directories":{"lib":"./lib/bson"},"engines":{"node":">=0.6.19"},"scripts":{"install":"(node-gyp rebuild 2> builderror.log) || (exit 0)","test":"nodeunit ./test/node && TEST_NATIVE=TRUE nodeunit ./test/node"},"browser":"lib/bson/bson.js","licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"readme":"Javascript + C++ BSON parser\n============================\n\nThis BSON parser is primarily meant to be used with the `mongodb` node.js driver.\nHowever, wonderful tools such as `onejs` can package up a BSON parser that will work in the browser.\nThe current build is located in the `browser_build/bson.js` file.\n\nA simple example of how to use BSON in the browser:\n\n```html\n<html>\n<head>\n  <script src=\"https://raw.github.com/mongodb/js-bson/master/browser_build/bson.js\">\n  </script>\n</head>\n<body onload=\"start();\">\n<script>\n  function start() {\n    var BSON = bson().BSON;\n    var Long = bson().Long;\n\n    var doc = {long: Long.fromNumber(100)}\n\n    // Serialize a document\n    var data = BSON.serialize(doc, false, true, false);\n    // De serialize it again\n    var doc_2 = BSON.deserialize(data);\n  }\n</script>\n</body>\n</html>\n```\n\nA simple example of how to use BSON in `node.js`:\n\n```javascript\nvar bson = require(\"bson\");\nvar BSON = bson.BSONPure.BSON;\nvar Long = bson.BSONPure.Long;\n\nvar doc = {long: Long.fromNumber(100)}\n\n// Serialize a document\nvar data = BSON.serialize(doc, false, true, false);\nconsole.log(\"data:\", data);\n\n// Deserialize the resulting Buffer\nvar doc_2 = BSON.deserialize(data);\nconsole.log(\"doc_2:\", doc_2);\n```\n\nThe API consists of two simple methods to serialize/deserialize objects to/from BSON format:\n\n  * BSON.serialize(object, checkKeys, asBuffer, serializeFunctions)\n     * @param {Object} object the Javascript object to serialize.\n     * @param {Boolean} checkKeys the serializer will check if keys are valid.\n     * @param {Boolean} asBuffer return the serialized object as a Buffer object **(ignore)**.\n     * @param {Boolean} serializeFunctions serialize the javascript functions **(default:false)**\n     * @return {TypedArray/Array} returns a TypedArray or Array depending on what your browser supports\n \n  * BSON.deserialize(buffer, options, isArray)\n     * Options\n       * **evalFunctions** {Boolean, default:false}, evaluate functions in the BSON document scoped to the object deserialized.\n       * **cacheFunctions** {Boolean, default:false}, cache evaluated functions for reuse.\n       * **cacheFunctionsCrc32** {Boolean, default:false}, use a crc32 code for caching, otherwise use the string of the function.\n     * @param {TypedArray/Array} a TypedArray/Array containing the BSON data\n     * @param {Object} [options] additional options used for the deserialization.\n     * @param {Boolean} [isArray] ignore used for recursive parsing.\n     * @return {Object} returns the deserialized Javascript Object.\n","readmeFilename":"README.md","homepage":"https://github.com/mongodb/js-bson","_id":"bson@0.2.22","_shasum":"fcda103f26d0c074d5a52d50927db80fd02b4b39","_from":"bson@>=0.2.0 <0.3.0","_resolved":"https://registry.npmjs.org/bson/-/bson-0.2.22.tgz"},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/tools/gleak.js","id":"bson/tools/gleak.js","options":{},"isModule":true,"requiredModules":["gleak"],"mtime":1427371321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/tools/jasmine-1.1.0/jasmine-html.js","id":"bson/tools/jasmine-1.1.0/jasmine-html.js","options":{},"isModule":true,"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/bson/tools/jasmine-1.1.0/jasmine.js","id":"bson/tools/jasmine-1.1.0/jasmine.js","options":{},"isModule":true,"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/index.js","id":"kerberos/index.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/kerberos.js","kerberos/lib/auth_processes/mongodb.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/lib/auth_processes/mongodb.js","id":"kerberos/lib/auth_processes/mongodb.js","options":{},"isModule":true,"requiredModules":["util/util.js","kerberos/lib/kerberos.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/lib/kerberos.js","id":"kerberos/lib/kerberos.js","options":{},"isModule":true,"requiredModules":["../build/Release/kerberos","kerberos/lib/win32/wrappers/security_credentials.js","kerberos/lib/win32/wrappers/security_context.js","kerberos/lib/win32/wrappers/security_buffer.js","kerberos/lib/win32/wrappers/security_buffer_descriptor.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/lib/sspi.js","id":"kerberos/lib/sspi.js","options":{},"isModule":true,"requiredModules":["../build/Release/kerberos","kerberos/lib/win32/wrappers/security_buffer.js","kerberos/lib/win32/wrappers/security_buffer_descriptor.js","kerberos/lib/win32/wrappers/security_credentials.js","kerberos/lib/win32/wrappers/security_context.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.js","id":"kerberos/lib/win32/wrappers/security_buffer.js","options":{},"isModule":true,"requiredModules":["../../../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer_descriptor.js","id":"kerberos/lib/win32/wrappers/security_buffer_descriptor.js","options":{},"isModule":true,"requiredModules":["../../../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_context.js","id":"kerberos/lib/win32/wrappers/security_context.js","options":{},"isModule":true,"requiredModules":["../../../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_credentials.js","id":"kerberos/lib/win32/wrappers/security_credentials.js","options":{},"isModule":true,"requiredModules":["../../../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/node_modules/nan/include_dirs.js","id":"nan/include_dirs.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1415299420000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/node_modules/nan/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/node_modules/nan/package.json","data":{"name":"nan","version":"1.6.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.5.0","xtend":"~4.0.0"},"license":"MIT","gitHead":"ab0e5eed8d4aa36111bf8f44cf75644ece327e98","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.6.2","_shasum":"2657d1c43b00f1e847e083832285b7d8f5ba8ec8","_from":"nan@1.6.2","_npmVersion":"2.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"2657d1c43b00f1e847e083832285b7d8f5ba8ec8","tarball":"http://registry.npmjs.org/nan/-/nan-1.6.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/nan/-/nan-1.6.2.tgz"},"mtime":1439487649000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/package.json","data":{"name":"kerberos","version":"0.0.9","description":"Kerberos library for Node.js","main":"index.js","repository":{"type":"git","url":"https://github.com/christkv/kerberos.git"},"keywords":["kerberos","security","authentication"],"dependencies":{"nan":"1.6.2"},"devDependencies":{"nodeunit":"latest"},"scripts":{"install":"(node-gyp rebuild 2> builderror.log) || (exit 0)","test":"nodeunit ./test"},"author":{"name":"Christian Amor Kvalheim"},"license":"Apache 2.0","gitHead":"bb01d4fe322e022999aca19da564e7d9db59a8ed","bugs":{"url":"https://github.com/christkv/kerberos/issues"},"homepage":"https://github.com/christkv/kerberos","_id":"kerberos@0.0.9","_shasum":"595bf97e7e8aae5401ae313aea57bbf402e799c5","_from":"kerberos@0.0.9","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"christkv","email":"christkv@gmail.com"},"maintainers":[{"name":"christkv","email":"christkv@gmail.com"}],"dist":{"shasum":"595bf97e7e8aae5401ae313aea57bbf402e799c5","tarball":"http://registry.npmjs.org/kerberos/-/kerberos-0.0.9.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/kerberos/-/kerberos-0.0.9.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/test/kerberos_tests.js","id":"kerberos/test/kerberos_tests.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/kerberos.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/test/kerberos_win32_test.js","id":"kerberos/test/kerberos_win32_test.js","options":{},"isModule":true,"requiredModules":["../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/test/win32/security_buffer_descriptor_tests.js","id":"kerberos/test/win32/security_buffer_descriptor_tests.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/sspi.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/test/win32/security_buffer_tests.js","id":"kerberos/test/win32/security_buffer_tests.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/sspi.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/kerberos/test/win32/security_credentials_tests.js","id":"kerberos/test/win32/security_credentials_tests.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/sspi.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","isarray/index.js","buffer","events","core-util-is/lib/util.js","inherits/inherits.js","util/util.js","readable-stream/lib/_stream_duplex.js","string_decoder/index.js"],"mtime":1437057008000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","buffer","core-util-is/lib/util.js","inherits/inherits.js","events","readable-stream/lib/_stream_duplex.js","util-deprecate/node.js"],"mtime":1437057008000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is.git"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","dist":{"shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","tarball":"http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"},"_from":"core-util-is@>=1.0.0 <1.1.0","_npmVersion":"1.3.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.1 <2.1.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/process-nextick-args/index.js","id":"process-nextick-args/index.js","options":{},"isModule":true,"mtime":1437048205000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/process-nextick-args/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/process-nextick-args/package.json","data":{"name":"process-nextick-args","version":"1.0.2","description":"process.nextTick but always with args","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/calvinmetcalf/process-nextick-args.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/calvinmetcalf/process-nextick-args/issues"},"homepage":"https://github.com/calvinmetcalf/process-nextick-args","devDependencies":{"tap":"~0.2.6"},"readme":"process-nextick-args\n=====\n\n[![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args)\n\n```bash\nnpm install --save process-nextick-args\n```\n\nAlways be able to pass arguments to process.nextTick, no matter the platform\n\n```js\nvar nextTick = require('process-nextick-args');\n\nnextTick(function (a, b, c) {\n  console.log(a, b, c);\n}, 'step', 3,  'profit');\n```\n","readmeFilename":"readme.md","_id":"process-nextick-args@1.0.2","_shasum":"8b4d3fc586668bd5b6573e732edf2b71c1c1d8aa","_from":"process-nextick-args@>=1.0.0 <1.1.0","_resolved":"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.2.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/process-nextick-args/test.js","id":"process-nextick-args/test.js","options":{},"isModule":true,"requiredModules":["tap","process-nextick-args/index.js"],"mtime":1437048205000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","gitHead":"d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@>=0.10.0 <0.11.0","_npmVersion":"1.4.23","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"substack","email":"mail@substack.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","tarball":"http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/util-deprecate/browser.js","id":"util-deprecate/browser.js","options":{},"isModule":true,"mtime":1416945976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/util-deprecate/node.js","id":"util-deprecate/node.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1416945941000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/util-deprecate/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/node_modules/util-deprecate/package.json","data":{"name":"util-deprecate","version":"1.0.1","description":"The Node.js `util.deprecate()` function with browser support","main":"node.js","browser":"browser.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/TooTallNate/util-deprecate.git"},"keywords":["util","deprecate","browserify","browser","node"],"author":{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io/"},"license":"MIT","bugs":{"url":"https://github.com/TooTallNate/util-deprecate/issues"},"homepage":"https://github.com/TooTallNate/util-deprecate","readme":"util-deprecate\n==============\n### The Node.js `util.deprecate()` function with browser support\n\nIn Node.js, this module simply re-exports the `util.deprecate()` function.\n\nIn the web browser (i.e. via browserify), a browser-specific implementation\nof the `util.deprecate()` function is used.\n\n\n## API\n\nA `deprecate()` function is the only thing exposed by this module.\n\n``` javascript\n// setup:\nexports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead');\n\n\n// users see:\nfoo();\n// foo() is deprecated, use bar() instead\nfoo();\nfoo();\n```\n\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","_id":"util-deprecate@1.0.1","_shasum":"3556a3d13c4c6aa7983d7e2425478197199b7881","_from":"util-deprecate@>=1.0.1 <1.1.0","_resolved":"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"2.0.2","description":"Streams3, a user-land copy of the stream library from iojs v2.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","inherits":"~2.0.1","isarray":"0.0.1","process-nextick-args":"~1.0.0","string_decoder":"~0.10.x","util-deprecate":"~1.0.1"},"devDependencies":{"tap":"~0.2.6","tape":"~4.0.0","zuul":"~3.0.0"},"scripts":{"test":"tap test/parallel/*.js","browser":"zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js"},"repository":{"type":"git","url":"git://github.com/nodejs/readable-stream.git"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"license":"MIT","readme":"# readable-stream\n\n***Node-core streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream)\n\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)\n\n\n[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream)\n\n```bash\nnpm install --save readable-stream\n```\n\n***Node-core streams for userland***\n\nThis package is a mirror of the Streams2 and Streams3 implementations in\nNode-core, including [documentation](doc/stream.markdown).\n\nIf you want to guarantee a stable streams base, regardless of what version of\nNode you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).\n\nAs of version 2.0.0 **readable-stream** uses semantic versioning.  \n\n# Streams WG Team Members\n\n* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) &lt;christopher.s.dickinson@gmail.com&gt;\n  - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B\n* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;\n  - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242\n* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) &lt;rod@vagg.org&gt;\n  - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D\n* **Sam Newman** ([@sonewman](https://github.com/sonewman)) &lt;newmansam@outlook.com&gt;\n* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;\n* **Domenic Denicola** ([@domenic](https://github.com/domenic)) &lt;d@domenic.me&gt;\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/nodejs/readable-stream/issues"},"homepage":"https://github.com/nodejs/readable-stream","_id":"readable-stream@2.0.2","_shasum":"bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b","_from":"readable-stream@latest","_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1434936362000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1433891361000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongodb/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongodb/package.json","data":{"name":"mongodb","description":"A node.js driver for MongoDB","keywords":["mongodb","mongo","driver","db"],"version":"1.4.33","author":{"name":"Christian Amor Kvalheim","email":"christkv@gmail.com"},"contributors":[{"name":"Aaron Heckmann"},{"name":"Christoph Pojer"},{"name":"Pau Ramon Revilla"},{"name":"Nathan White"},{"name":"Emmerman"},{"name":"Seth LaForge"},{"name":"Boris Filipov"},{"name":"Stefan Schärmeli"},{"name":"Tedde Lundgren"},{"name":"renctan"},{"name":"Sergey Ukustov"},{"name":"Ciaran Jessup"},{"name":"kuno"},{"name":"srimonti"},{"name":"Erik Abele"},{"name":"Pratik Daga"},{"name":"Slobodan Utvic"},{"name":"Kristina Chodorow"},{"name":"Yonathan Randolph"},{"name":"Brian Noguchi"},{"name":"Sam Epstein"},{"name":"James Harrison Fisher"},{"name":"Vladimir Dronnikov"},{"name":"Ben Hockey"},{"name":"Henrik Johansson"},{"name":"Simon Weare"},{"name":"Alex Gorbatchev"},{"name":"Shimon Doodkin"},{"name":"Kyle Mueller"},{"name":"Eran Hammer-Lahav"},{"name":"Marcin Ciszak"},{"name":"François de Metz"},{"name":"Vinay Pulim"},{"name":"nstielau"},{"name":"Adam Wiggins"},{"name":"entrinzikyl"},{"name":"Jeremy Selier"},{"name":"Ian Millington"},{"name":"Public Keating"},{"name":"andrewjstone"},{"name":"Christopher Stott"},{"name":"Corey Jewett"},{"name":"brettkiefer"},{"name":"Rob Holland"},{"name":"Senmiao Liu"},{"name":"heroic"},{"name":"gitfy"},{"name":"Andrew Stone"},{"name":"John Le Drew"},{"name":"Lucasfilm Singapore"},{"name":"Roman Shtylman"},{"name":"Matt Self"},{"name":"Gregory Langlais"},{"name":"Samantha Ritter"}],"repository":{"type":"git","url":"http://github.com/mongodb/node-mongodb-native.git"},"bugs":{"url":"http://github.com/mongodb/node-mongodb-native/issues"},"dependencies":{"bson":"~0.2","kerberos":"0.0.9","readable-stream":"latest"},"devDependencies":{"dox":"0.4.4","uglify-js":"1.2.5","ejs":"0.6.1","request":"2.12.0","nodeunit":"0.7.3","markdown":"0.3.1","gleak":"0.5.0","step":"0.0.5","async":"0.1.22","integra":"0.1.8","optimist":"latest","rimraf":"2.2.6","semver":"4.1.0","mongodb-version-manager":"0.5.0","mongodb-tools":"~1.0"},"optionalDependencies":{"kerberos":"0.0.9","readable-stream":"latest"},"config":{"native":false},"main":"./lib/mongodb/index","homepage":"http://mongodb.github.com/node-mongodb-native/","directories":{"lib":"./lib/mongodb"},"engines":{"node":">=0.6.19"},"scripts":{"test":"node test/runner.js -t functional"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"gitHead":"bfbfdf1a2810f2288484990ed70860b3e04ca5af","_id":"mongodb@1.4.33","_shasum":"2aa5f9c0b9914e0eda51229a785d7a6e6f01567b","_from":"mongodb@1.4.33","_npmVersion":"1.4.28","_npmUser":{"name":"christkv","email":"christkv@gmail.com"},"maintainers":[{"name":"christkv","email":"christkv@gmail.com"}],"dist":{"shasum":"2aa5f9c0b9914e0eda51229a785d7a6e6f01567b","tarball":"http://registry.npmjs.org/mongodb/-/mongodb-1.4.33.tgz"},"_resolved":"https://registry.npmjs.org/mongodb/-/mongodb-1.4.33.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/bin/mongoose.min.js","id":"mongoose/bin/mongoose.min.js","options":{},"isModule":true,"requiredModules":["./long","./double","./timestamp","./objectid","./symbol","./code","./min_key","./max_key","./db_ref","./binary","./binary_parser","./float_parser","buffer"],"mtime":1424379430000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/aggregate/aggregate.js","id":"aggregate/aggregate.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","mongoose/lib/index.js","aggregate/person.js"],"mtime":1424291569000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/aggregate/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/aggregate/package.json","data":{"name":"aggregate-example","private":"true","version":"0.0.0","description":"deps for aggregate example","main":"aggregate.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"async":"*"},"repository":"","author":"","license":"BSD"},"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/aggregate/person.js","id":"aggregate/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/doc-methods.js","id":"mongoose/examples/doc-methods.js","options":{},"isModule":true,"requiredModules":["mongoose/index.js"],"mtime":1424275804000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/express/connection-sharing/app.js","id":"connection-sharing/app.js","options":{},"isModule":true,"requiredModules":["express/index.js","mongoose/lib/index.js","connection-sharing/routes.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/express/connection-sharing/modelA.js","id":"connection-sharing/modelA.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/express/connection-sharing/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/express/connection-sharing/package.json","data":{"name":"connection-sharing","private":"true","version":"0.0.0","description":"ERROR: No README.md file found!","main":"app.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"express":"3.1.1"},"repository":"","author":"","license":"BSD"},"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/express/connection-sharing/routes.js","id":"connection-sharing/routes.js","options":{},"isModule":true,"requiredModules":["connection-sharing/modelA.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/geospatial/geoJSONexample.js","id":"geospatial/geoJSONexample.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","mongoose/lib/index.js","geospatial/geoJSONSchema.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/geospatial/geoJSONSchema.js","id":"geospatial/geoJSONSchema.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/geospatial/geospatial.js","id":"geospatial/geospatial.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","mongoose/lib/index.js","geospatial/person.js"],"mtime":1424291569000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/geospatial/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/geospatial/package.json","data":{"name":"geospatial-example","private":"true","version":"0.0.0","description":"deps for geospatial example","main":"geospatial.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"async":"*"},"repository":"","author":"","license":"BSD"},"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/geospatial/person.js","id":"geospatial/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/globalschemas/gs_example.js","id":"mongoose/examples/globalschemas/gs_example.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js","mongoose/examples/globalschemas/person.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/globalschemas/person.js","id":"mongoose/examples/globalschemas/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/lean/lean.js","id":"lean/lean.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","mongoose/lib/index.js","lean/person.js"],"mtime":1424291569000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/lean/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/lean/package.json","data":{"name":"lean-example","private":"true","version":"0.0.0","description":"deps for lean example","main":"lean.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"async":"*"},"repository":"","author":"","license":"BSD"},"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/lean/person.js","id":"lean/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/mapreduce/mapreduce.js","id":"mapreduce/mapreduce.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","mongoose/lib/index.js","mapreduce/person.js"],"mtime":1424291569000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/mapreduce/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/mapreduce/package.json","data":{"name":"map-reduce-example","private":"true","version":"0.0.0","description":"deps for map reduce example","main":"mapreduce.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"async":"*"},"repository":"","author":"","license":"BSD"},"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/mapreduce/person.js","id":"mapreduce/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/population/population-across-three-collections.js","id":"mongoose/examples/population/population-across-three-collections.js","options":{},"isModule":true,"requiredModules":["assert","mongoose/lib/index.js","mongoose/lib/utils.js","util/util.js"],"mtime":1424374784000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/population/population-basic.js","id":"mongoose/examples/population/population-basic.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/population/population-of-existing-doc.js","id":"mongoose/examples/population/population-of-existing-doc.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/population/population-of-multiple-existing-docs.js","id":"mongoose/examples/population/population-of-multiple-existing-docs.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/population/population-options.js","id":"mongoose/examples/population/population-options.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/population/population-plain-objects.js","id":"mongoose/examples/population/population-plain-objects.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/promises/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/promises/package.json","data":{"name":"promise-example","private":"true","version":"0.0.0","description":"deps for promise example","main":"promise.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"async":"*"},"repository":"","author":"","license":"BSD"},"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/promises/person.js","id":"promises/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/promises/promise.js","id":"promises/promise.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","mongoose/lib/index.js","promises/person.js"],"mtime":1424291569000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/querybuilder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/querybuilder/package.json","data":{"name":"query-builder-example","private":"true","version":"0.0.0","description":"deps for query builder example","main":"querybuilder.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"async":"*"},"repository":"","author":"","license":"BSD"},"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/querybuilder/person.js","id":"querybuilder/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/querybuilder/querybuilder.js","id":"querybuilder/querybuilder.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","mongoose/lib/index.js","querybuilder/person.js"],"mtime":1424291569000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/replicasets/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/replicasets/package.json","data":{"name":"replica-set-example","private":"true","version":"0.0.0","description":"deps for replica set example","main":"querybuilder.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"async":"*"},"repository":"","author":"","license":"BSD"},"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/replicasets/person.js","id":"replicasets/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/replicasets/replica-sets.js","id":"replicasets/replica-sets.js","options":{},"isModule":true,"requiredModules":["async/lib/async.js","mongoose/lib/index.js","replicasets/person.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/schema/schema.js","id":"mongoose/examples/schema/schema.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/schema/storing-schemas-as-json/index.js","id":"mongoose/examples/schema/storing-schemas-as-json/index.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js","mongoose/examples/schema/storing-schemas-as-json/schema.json"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/schema/storing-schemas-as-json/schema.json","id":"mongoose/examples/schema/storing-schemas-as-json/schema.json","options":{},"isModule":true,"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/statics/person.js","id":"mongoose/examples/statics/person.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/examples/statics/statics.js","id":"mongoose/examples/statics/statics.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js","mongoose/examples/statics/person.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/index.js","id":"mongoose/index.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/index.js"],"mtime":1424275804000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/aggregate.js","id":"mongoose/lib/aggregate.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/promise.js","util/util.js","mongoose/lib/utils.js","mongoose/lib/query.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/collection.js","id":"mongoose/lib/collection.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/connectionstate.js"],"mtime":1424275804000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/connection.js","id":"mongoose/lib/connection.js","options":{},"isModule":true,"requiredModules":["url","mongoose/lib/utils.js","events","mongoose/lib/model.js","mongoose/lib/schema.js","mongoose/lib/connectionstate.js","mongoose/lib/error.js","assert","muri/index.js"],"mtime":1424894386000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/connectionstate.js","id":"mongoose/lib/connectionstate.js","options":{},"isModule":true,"mtime":1424894386000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/document.js","id":"mongoose/lib/document.js","options":{},"isModule":true,"requiredModules":["events","mongoose/lib/error.js","mongoose/lib/schema/mixed.js","mongoose/lib/schema.js","mongoose/lib/schematype.js","mongoose/lib/utils.js","util/util.js","mongoose/lib/internal.js","hooks/hooks.js","mongoose/lib/types/array.js","mongoose/lib/types/documentarray.js"],"mtime":1424894386000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/drivers/node-mongodb-native/binary.js","id":"mongoose/lib/drivers/node-mongodb-native/binary.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/index.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js","id":"mongoose/lib/drivers/node-mongodb-native/collection.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/collection.js","mongodb/lib/mongodb/index.js","mongoose/lib/connectionstate.js","mongoose/lib/utils.js","util/util.js"],"mtime":1424374784000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js","id":"mongoose/lib/drivers/node-mongodb-native/connection.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/connection.js","mongodb/lib/mongodb/index.js","mongoose/lib/connectionstate.js","mongoose/lib/utils.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js","id":"mongoose/lib/drivers/node-mongodb-native/objectid.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/index.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error/cast.js","id":"mongoose/lib/error/cast.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/error.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error/divergentArray.js","id":"mongoose/lib/error/divergentArray.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/error.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error/messages.js","id":"mongoose/lib/error/messages.js","options":{},"isModule":true,"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error/missingSchema.js","id":"mongoose/lib/error/missingSchema.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/error.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error/overwriteModel.js","id":"mongoose/lib/error/overwriteModel.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/error.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error/validation.js","id":"mongoose/lib/error/validation.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/error.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error/validator.js","id":"mongoose/lib/error/validator.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/error.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error/version.js","id":"mongoose/lib/error/version.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/error.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/error.js","id":"mongoose/lib/error.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/error/messages.js","mongoose/lib/error/cast.js","mongoose/lib/error/validation.js","mongoose/lib/error/validator.js","mongoose/lib/error/version.js","mongoose/lib/error/overwriteModel.js","mongoose/lib/error/missingSchema.js","mongoose/lib/error/divergentArray.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/index.js","id":"mongoose/lib/index.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schema.js","mongoose/lib/schematype.js","mongoose/lib/virtualtype.js","mongoose/lib/schemadefault.js","mongoose/lib/connectionstate.js","mongoose/lib/types/index.js","mongoose/lib/query.js","mongoose/lib/promise.js","mongoose/lib/model.js","mongoose/lib/document.js","mongoose/lib/utils.js","mongodb/lib/mongodb/index.js","/Users/james/dev/maxwell-edi/node_modules/mongoose/package.json","mongoose/lib/error.js","mquery/lib/mquery.js"],"mtime":1424892089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/internal.js","id":"mongoose/lib/internal.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/statemachine.js"],"mtime":1424374784000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/model.js","id":"mongoose/lib/model.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/document.js","mongoose/lib/types/array.js","mongoose/lib/types/documentarray.js","mongoose/lib/types/buffer.js","mongoose/lib/error.js","mongoose/lib/query.js","mongoose/lib/aggregate.js","mongoose/lib/schema.js","mongoose/lib/schema/index.js","mongoose/lib/utils.js","events","mongoose/lib/promise.js","assert","util/util.js"],"mtime":1424894386000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/promise.js","id":"mongoose/lib/promise.js","options":{},"isModule":true,"requiredModules":["mpromise/index.js","util/util.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/query.js","id":"mongoose/lib/query.js","options":{},"isModule":true,"requiredModules":["mquery/lib/mquery.js","util/util.js","events","mongodb/lib/mongodb/index.js","mongoose/lib/utils.js","mongoose/lib/promise.js","mongoose/lib/queryhelpers.js","mongoose/lib/schema/index.js","mongoose/lib/document.js","mongoose/lib/querystream.js"],"mtime":1424894386000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/queryhelpers.js","id":"mongoose/lib/queryhelpers.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/utils.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/querystream.js","id":"mongoose/lib/querystream.js","options":{},"isModule":true,"requiredModules":["stream","mongoose/lib/utils.js","mongoose/lib/queryhelpers.js"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/array.js","id":"mongoose/lib/schema/array.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js","mongoose/lib/schema/number.js","mongoose/lib/schema/boolean.js","mongoose/lib/schema/date.js","mongoose/lib/schema/string.js","mongoose/lib/schema/objectid.js","mongoose/lib/schema/buffer.js","mongoose/lib/types/index.js","mongoose/lib/schema/mixed.js","mongoose/lib/query.js","mongoose/lib/utils.js"],"mtime":1424894386000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/boolean.js","id":"mongoose/lib/schema/boolean.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/buffer.js","id":"mongoose/lib/schema/buffer.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js","mongoose/lib/types/index.js","mongoose/lib/query.js","mongoose/lib/utils.js","mongoose/lib/document.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/date.js","id":"mongoose/lib/schema/date.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js","mongoose/lib/utils.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/documentarray.js","id":"mongoose/lib/schema/documentarray.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js","mongoose/lib/schema/array.js","mongoose/lib/types/documentarray.js","mongoose/lib/types/embedded.js","mongoose/lib/document.js"],"mtime":1424894386000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/index.js","id":"mongoose/lib/schema/index.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schema/string.js","mongoose/lib/schema/number.js","mongoose/lib/schema/boolean.js","mongoose/lib/schema/documentarray.js","mongoose/lib/schema/array.js","mongoose/lib/schema/buffer.js","mongoose/lib/schema/date.js","mongoose/lib/schema/objectid.js","mongoose/lib/schema/mixed.js"],"mtime":1424275804000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/mixed.js","id":"mongoose/lib/schema/mixed.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js","mongoose/lib/utils.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/number.js","id":"mongoose/lib/schema/number.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js","mongoose/lib/error.js","mongoose/lib/utils.js","mongoose/lib/document.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/objectid.js","id":"mongoose/lib/schema/objectid.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js","mongoose/lib/types/objectid.js","mongoose/lib/utils.js","mongoose/lib/document.js"],"mtime":1424892089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema/string.js","id":"mongoose/lib/schema/string.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schematype.js","mongoose/lib/error.js","mongoose/lib/utils.js","mongoose/lib/document.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schema.js","id":"mongoose/lib/schema.js","options":{},"isModule":true,"requiredModules":["events","mongoose/lib/virtualtype.js","mongoose/lib/utils.js","mquery/lib/mquery.js","mongoose/lib/schema/index.js","mongoose/lib/query.js"],"mtime":1424892089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schemadefault.js","id":"mongoose/lib/schemadefault.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/schema.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/schematype.js","id":"mongoose/lib/schematype.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/utils.js","mongoose/lib/error.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/statemachine.js","id":"mongoose/lib/statemachine.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/utils.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/types/array.js","id":"mongoose/lib/types/array.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/types/embedded.js","mongoose/lib/document.js","mongoose/lib/types/objectid.js","mongoose/lib/utils.js"],"mtime":1424892089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/types/buffer.js","id":"mongoose/lib/types/buffer.js","options":{},"isModule":true,"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/types/documentarray.js","id":"mongoose/lib/types/documentarray.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/types/array.js","mongoose/lib/schema/objectid.js","mongoose/lib/utils.js","util/util.js","mongoose/lib/document.js"],"mtime":1424892089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/types/embedded.js","id":"mongoose/lib/types/embedded.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/document.js","util/util.js"],"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/types/index.js","id":"mongoose/lib/types/index.js","options":{},"isModule":true,"requiredModules":["mongoose/lib/types/array.js","mongoose/lib/types/buffer.js","mongoose/lib/types/embedded.js","mongoose/lib/types/documentarray.js","mongoose/lib/types/objectid.js"],"mtime":1424275804000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/types/objectid.js","id":"mongoose/lib/types/objectid.js","options":{},"isModule":true,"mtime":1424892056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/utils.js","id":"mongoose/lib/utils.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/index.js","mongoose/lib/types/objectid.js","regexp-clone/index.js","sliced/index.js","mpath/index.js","ms/index.js","mongoose/lib/document.js","mongoose/lib/types/index.js"],"mtime":1424892089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/lib/virtualtype.js","id":"mongoose/lib/virtualtype.js","options":{},"isModule":true,"mtime":1424275804000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/hooks/hooks.alt.js","id":"hooks/hooks.alt.js","options":{},"isModule":true,"mtime":1330133892000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/hooks/hooks.js","id":"hooks/hooks.js","options":{},"isModule":true,"mtime":1334655064000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/hooks/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/hooks/package.json","data":{"name":"hooks","description":"Adds pre and post hook functionality to your JavaScript methods.","version":"0.2.1","keywords":["node","hooks","middleware","pre","post"],"homepage":"https://github.com/bnoguchi/hooks-js/","repository":{"type":"git","url":"git://github.com/bnoguchi/hooks-js.git"},"author":{"name":"Brian Noguchi","email":"brian.noguchi@gmail.com","url":"https://github.com/bnoguchi/"},"main":"./hooks.js","directories":{"lib":"."},"scripts":{"test":"make test"},"dependencies":{},"devDependencies":{"expresso":">=0.7.6","should":">=0.2.1","underscore":">=1.1.4"},"engines":{"node":">=0.4.0"},"licenses":["MIT"],"optionalDependencies":{},"_npmUser":{"name":"bnoguchi","email":"brian.noguchi@gmail.com"},"_id":"hooks@0.2.1","_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"0f591b1b344bdcb3df59773f62fbbaf85bf4028b","tarball":"http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz"},"readme":"hooks\n============\n\nAdd pre and post middleware hooks to your JavaScript methods.\n\n## Installation\n    npm install hooks\n\n## Motivation\nSuppose you have a JavaScript object with a `save` method.\n\nIt would be nice to be able to declare code that runs before `save` and after `save`.\nFor example, you might want to run validation code before every `save`,\nand you might want to dispatch a job to a background job queue after `save`.\n\nOne might have an urge to hard code this all into `save`, but that turns out to\ncouple all these pieces of functionality (validation, save, and job creation) more\ntightly than is necessary. For example, what if someone does not want to do background\njob creation after the logical save? \n\nIt is nicer to tack on functionality using what we call `pre` and `post` hooks. These\nare functions that you define and that you direct to execute before or after particular\nmethods.\n\n## Example\nWe can use `hooks` to add validation and background jobs in the following way:\n\n    var hooks = require('hooks')\n      , Document = require('./path/to/some/document/constructor');\n\n    // Add hooks' methods: `hook`, `pre`, and `post`    \n    for (var k in hooks) {\n      Document[k] = hooks[k];\n    }\n\n    // Define a new method that is able to invoke pre and post middleware\n    Document.hook('save', Document.prototype.save);\n\n    // Define a middleware function to be invoked before 'save'\n    Document.pre('save', function validate (next) {\n      // The `this` context inside of `pre` and `post` functions\n      // is the Document instance\n      if (this.isValid()) next();      // next() passes control to the next middleware\n                                       // or to the target method itself\n      else next(new Error(\"Invalid\")); // next(error) invokes an error callback\n    });\n\n    // Define a middleware function to be invoked after 'save'\n    Document.post('save', function createJob () {\n      this.sendToBackgroundQueue();\n    });\n\nIf you already have defined `Document.prototype` methods for which you want pres and posts,\nthen you do not need to explicitly invoke `Document.hook(...)`. Invoking `Document.pre(methodName, fn)`\nor `Document.post(methodName, fn)` will automatically and lazily change `Document.prototype[methodName]`\nso that it plays well with `hooks`. An equivalent way to implement the previous example is:\n\n```javascript\nvar hooks = require('hooks')\n  , Document = require('./path/to/some/document/constructor');\n\n// Add hooks' methods: `hook`, `pre`, and `post`    \nfor (var k in hooks) {\n  Document[k] = hooks[k];\n}\n\nDocument.prototype.save = function () {\n  // ...\n};\n\n// Define a middleware function to be invoked before 'save'\nDocument.pre('save', function validate (next) {\n  // The `this` context inside of `pre` and `post` functions\n  // is the Document instance\n  if (this.isValid()) next();      // next() passes control to the next middleware\n                                   // or to the target method itself\n  else next(new Error(\"Invalid\")); // next(error) invokes an error callback\n});\n\n// Define a middleware function to be invoked after 'save'\nDocument.post('save', function createJob () {\n  this.sendToBackgroundQueue();\n});\n```\n\n## Pres and Posts as Middleware\nWe structure pres and posts as middleware to give you maximum flexibility:\n\n1. You can define **multiple** pres (or posts) for a single method.\n2. These pres (or posts) are then executed as a chain of methods.\n3. Any functions in this middleware chain can choose to halt the chain's execution by `next`ing an Error from that middleware function. If this occurs, then none of the other middleware in the chain will execute, and the main method (e.g., `save`) will not execute. This is nice, for example, when we don't want a document to save if it is invalid.\n\n## Defining multiple pres (or posts)\n`pre` is chainable, so you can define multiple pres via:\n    Document.pre('save', function (next, halt) {\n      console.log(\"hello\");\n    }).pre('save', function (next, halt) {\n      console.log(\"world\");\n    });\n\nAs soon as one pre finishes executing, the next one will be invoked, and so on.\n\n## Error Handling\nYou can define a default error handler by passing a 2nd function as the 3rd argument to `hook`:\n    Document.hook('set', function (path, val) {\n      this[path] = val;\n    }, function (err) {\n      // Handler the error here\n      console.error(err);\n    });\n\nThen, we can pass errors to this handler from a pre or post middleware function:\n    Document.pre('set', function (next, path, val) {\n      next(new Error());\n    });\n\nIf you do not set up a default handler, then `hooks` makes the default handler that just throws the `Error`.\n\nThe default error handler can be over-rided on a per method invocation basis.\n\nIf the main method that you are surrounding with pre and post middleware expects its last argument to be a function\nwith callback signature `function (error, ...)`, then that callback becomes the error handler, over-riding the default\nerror handler you may have set up.\n   \n```javascript\nDocument.hook('save', function (callback) {\n  // Save logic goes here\n  ...\n});\n\nvar doc = new Document();\ndoc.save( function (err, saved) {\n  // We can pass err via `next` in any of our pre or post middleware functions\n  if (err) console.error(err);\n  \n  // Rest of callback logic follows ...\n});\n```\n\n## Mutating Arguments via Middleware\n`pre` and `post` middleware can also accept the intended arguments for the method\nthey augment. This is useful if you want to mutate the arguments before passing\nthem along to the next middleware and eventually pass a mutated arguments list to\nthe main method itself.\n\nAs a simple example, let's define a method `set` that just sets a key, value pair.\nIf we want to namespace the key, we can do so by adding a `pre` middleware hook\nthat runs before `set`, alters the arguments by namespacing the `key` argument, and passes them onto `set`:\n\n    Document.hook('set', function (key, val) {\n      this[key] = val;\n    });\n    Document.pre('set', function (next, key, val) {\n      next('namespace-' + key, val);\n    });\n    var doc = new Document();\n    doc.set('hello', 'world');\n    console.log(doc.hello); // undefined\n    console.log(doc['namespace-hello']); // 'world'\n\nAs you can see above, we pass arguments via `next`.\n\nIf you are not mutating the arguments, then you can pass zero arguments\nto `next`, and the next middleware function will still have access\nto the arguments.\n\n    Document.hook('set', function (key, val) {\n      this[key] = val;\n    });\n    Document.pre('set', function (next, key, val) {\n      // I have access to key and val here\n      next(); // We don't need to pass anything to next\n    });\n    Document.pre('set', function (next, key, val) {\n      // And I still have access to the original key and val here\n      next();\n    });\n\nFinally, you can add arguments that downstream middleware can also see:\n\n    // Note that in the definition of `set`, there is no 3rd argument, options\n    Document.hook('set', function (key, val) {\n      // But...\n      var options = arguments[2]; // ...I have access to an options argument\n                                  // because of pre function pre2 (defined below)\n      console.log(options); // '{debug: true}'\n      this[key] = val;\n    });\n    Document.pre('set', function pre1 (next, key, val) {\n      // I only have access to key and val arguments\n      console.log(arguments.length); // 3\n      next(key, val, {debug: true});\n    });\n    Document.pre('set', function pre2 (next, key, val, options) {\n      console.log(arguments.length); // 4\n      console.log(options); // '{ debug: true}'\n      next();\n    });\n    Document.pre('set', function pre3 (next, key, val, options) {\n      // I still have access to key, val, AND the options argument introduced via the preceding middleware\n      console.log(arguments.length); // 4\n      console.log(options); // '{ debug: true}'\n      next();\n    });\n    \n    var doc = new Document()\n    doc.set('hey', 'there');\n\n## Parallel `pre` middleware\n\nAll middleware up to this point has been \"serial\" middleware -- i.e., middleware whose logic\nis executed as a serial chain.\n\nSome scenarios call for parallel middleware -- i.e., middleware that can wait for several\nasynchronous services at once to respond.\n\nFor instance, you may only want to save a Document only after you have checked\nthat the Document is valid according to two different remote services.\n\nWe accomplish asynchronous middleware by adding a second kind of flow control callback\n(the only flow control callback so far has been `next`), called `done`.\n\n- `next` passes control to the next middleware in the chain\n- `done` keeps track of how many parallel middleware have invoked `done` and passes\n   control to the target method when ALL parallel middleware have invoked `done`. If\n   you pass an `Error` to `done`, then the error is handled, and the main method that is\n   wrapped by pres and posts will not get invoked.\n\nWe declare pre middleware that is parallel by passing a 3rd boolean argument to our `pre`\ndefinition method.\n\nWe illustrate via the parallel validation example mentioned above:\n\n    Document.hook('save', function targetFn (callback) {\n      // Save logic goes here\n      // ...\n      // This only gets run once the two `done`s are both invoked via preOne and preTwo.\n    });\n\n                         // true marks this as parallel middleware\n    Document.pre('save', true, function preOne (next, doneOne, callback) {\n      remoteServiceOne.validate(this.serialize(), function (err, isValid) {\n        // The code in here will probably be run after the `next` below this block\n        // and could possibly be run after the console.log(\"Hola\") in `preTwo\n        if (err) return doneOne(err);\n        if (isValid) doneOne();\n      });\n      next(); // Pass control to the next middleware\n    });\n    \n    // We will suppose that we need 2 different remote services to validate our document\n    Document.pre('save', true, function preTwo (next, doneTwo, callback) {\n      remoteServiceTwo.validate(this.serialize(), function (err, isValid) {\n        if (err) return doneTwo(err);\n        if (isValid) doneTwo();\n      });\n      next();\n    });\n    \n    // While preOne and preTwo are parallel, preThree is a serial pre middleware\n    Document.pre('save', function preThree (next, callback) {\n      next();\n    });\n    \n    var doc = new Document();\n    doc.save( function (err, doc) {\n      // Do stuff with the saved doc here...\n    });\n\nIn the above example, flow control may happen in the following way:\n\n(1) doc.save -> (2) preOne --(next)--> (3) preTwo --(next)--> (4) preThree --(next)--> (wait for dones to invoke) -> (5) doneTwo -> (6) doneOne -> (7) targetFn\n\nSo what's happening is that:\n\n1. You call `doc.save(...)`\n2. First, your preOne middleware gets executed. It makes a remote call to the validation service and `next()`s to the preTwo middleware.\n3. Now, your preTwo middleware gets executed. It makes a remote call to another validation service and `next()`s to the preThree middleware.\n4. Your preThree middleware gets executed. It immediately `next()`s. But nothing else gets executing until both `doneOne` and `doneTwo` are invoked inside the callbacks handling the response from the two valiation services.\n5. We will suppose that validation remoteServiceTwo returns a response to us first. In this case, we call `doneTwo` inside the callback to remoteServiceTwo.\n6. Some fractions of a second later, remoteServiceOne returns a response to us. In this case, we call `doneOne` inside the callback to remoteServiceOne.\n7. `hooks` implementation keeps track of how many parallel middleware has been defined per target function. It detects that both asynchronous pre middlewares (`preOne` and `preTwo`) have finally called their `done` functions (`doneOne` and `doneTwo`), so the implementation finally invokes our `targetFn` (i.e., our core `save` business logic).\n\n## Removing Pres\n\nYou can remove a particular pre associated with a hook:\n\n    Document.pre('set', someFn);\n    Document.removePre('set', someFn);\n\nAnd you can also remove all pres associated with a hook:\n    Document.removePre('set'); // Removes all declared `pre`s on the hook 'set'\n\n## Tests\nTo run the tests:\n    make test\n\n### Contributors\n- [Brian Noguchi](https://github.com/bnoguchi)\n\n### License\nMIT License\n\n---\n### Author\nBrian Noguchi\n","maintainers":[{"name":"bnoguchi","email":"brian.noguchi@gmail.com"}],"_shasum":"0f591b1b344bdcb3df59773f62fbbaf85bf4028b","_resolved":"https://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz","_from":"hooks@0.2.1"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/hooks/test.js","id":"hooks/test.js","options":{},"isModule":true,"requiredModules":["hooks/hooks.js","should/lib/should.js","assert","underscore/underscore.js"],"mtime":1334655064000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/index.js","id":"mongodb/index.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/admin.js","id":"mongodb/lib/mongodb/admin.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection.js","mongodb/lib/mongodb/cursor.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/aggregation_cursor.js","id":"mongodb/lib/mongodb/aggregation_cursor.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/read_preference.js","stream","readable-stream/readable.js","mongodb/lib/mongodb/command_cursor.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/collection/shared.js","util/util.js"],"mtime":1422871688000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/auth/mongodb_cr.js","id":"mongodb/lib/mongodb/auth/mongodb_cr.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","crypto"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/auth/mongodb_gssapi.js","id":"mongodb/lib/mongodb/auth/mongodb_gssapi.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","util/util.js","kerberos/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/auth/mongodb_plain.js","id":"mongodb/lib/mongodb/auth/mongodb_plain.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","crypto","bson/lib/bson/index.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/auth/mongodb_scram.js","id":"mongodb/lib/mongodb/auth/mongodb_scram.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","crypto","bson/lib/bson/index.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/auth/mongodb_sspi.js","id":"mongodb/lib/mongodb/auth/mongodb_sspi.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","util/util.js","kerberos/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/auth/mongodb_x509.js","id":"mongodb/lib/mongodb/auth/mongodb_x509.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","bson/lib/bson/index.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/aggregation.js","id":"mongodb/lib/mongodb/collection/aggregation.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/aggregation_cursor.js","bson/lib/bson/index.js","mongodb/lib/mongodb/commands/db_command.js"],"mtime":1422871643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/batch/common.js","id":"mongodb/lib/mongodb/collection/batch/common.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/batch/ordered.js","id":"mongodb/lib/mongodb/collection/batch/ordered.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/collection/batch/common.js","mongodb/lib/mongodb/utils.js","bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/batch/unordered.js","id":"mongodb/lib/mongodb/collection/batch/unordered.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/collection/batch/common.js","mongodb/lib/mongodb/utils.js","bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/commands.js","id":"mongodb/lib/mongodb/collection/commands.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/utils.js","util/util.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/collection.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/core.js","id":"mongodb/lib/mongodb/collection/core.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/insert_command.js","mongodb/lib/mongodb/commands/delete_command.js","mongodb/lib/mongodb/commands/update_command.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/collection/shared.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/geo.js","id":"mongodb/lib/mongodb/collection/geo.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/index.js","id":"mongodb/lib/mongodb/collection/index.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/command_cursor.js","mongodb/lib/mongodb/collection/shared.js"],"mtime":1422615071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/query.js","id":"mongodb/lib/mongodb/collection/query.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/command_cursor.js","mongodb/lib/mongodb/scope.js","mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/utils.js"],"mtime":1424094151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/shared.js","id":"mongodb/lib/mongodb/collection/shared.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection.js","id":"mongodb/lib/mongodb/collection.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/insert_command.js","mongodb/lib/mongodb/commands/query_command.js","mongodb/lib/mongodb/commands/delete_command.js","mongodb/lib/mongodb/commands/update_command.js","mongodb/lib/mongodb/commands/db_command.js","bson/lib/bson/index.js","mongodb/lib/mongodb/cursor.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/collection/shared.js","mongodb/lib/mongodb/collection/core.js","mongodb/lib/mongodb/collection/query.js","mongodb/lib/mongodb/collection/index.js","mongodb/lib/mongodb/collection/geo.js","mongodb/lib/mongodb/collection/commands.js","mongodb/lib/mongodb/collection/aggregation.js","mongodb/lib/mongodb/collection/batch/unordered.js","mongodb/lib/mongodb/collection/batch/ordered.js"],"mtime":1422870637000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/command_cursor.js","id":"mongodb/lib/mongodb/command_cursor.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js","stream","readable-stream/readable.js","mongodb/lib/mongodb/commands/get_more_command.js","util/util.js"],"mtime":1422615071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/base_command.js","id":"mongodb/lib/mongodb/commands/base_command.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/db_command.js","id":"mongodb/lib/mongodb/commands/db_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/query_command.js","mongodb/lib/mongodb/commands/insert_command.js","util/util.js","mongodb/lib/mongodb/utils.js","crypto"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/delete_command.js","id":"mongodb/lib/mongodb/commands/delete_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/get_more_command.js","id":"mongodb/lib/mongodb/commands/get_more_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/insert_command.js","id":"mongodb/lib/mongodb/commands/insert_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/kill_cursor_command.js","id":"mongodb/lib/mongodb/commands/kill_cursor_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/query_command.js","id":"mongodb/lib/mongodb/commands/query_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/commands/update_command.js","id":"mongodb/lib/mongodb/commands/update_command.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/base_command.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js","id":"mongodb/lib/mongodb/connection/base.js","options":{},"isModule":true,"requiredModules":["events","util/util.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/auth/mongodb_cr.js","mongodb/lib/mongodb/auth/mongodb_gssapi.js","mongodb/lib/mongodb/auth/mongodb_sspi.js","mongodb/lib/mongodb/auth/mongodb_plain.js","mongodb/lib/mongodb/auth/mongodb_x509.js","mongodb/lib/mongodb/auth/mongodb_scram.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js","id":"mongodb/lib/mongodb/connection/connection.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/connection_utils.js","util/util.js","net","events","mongodb/lib/mongodb/utils.js","tls"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js","id":"mongodb/lib/mongodb/connection/connection_pool.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/connection_utils.js","util/util.js","net","timers","events","mongodb/lib/mongodb/responses/mongo_reply.js","mongodb/lib/mongodb/connection/connection.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_utils.js","id":"mongodb/lib/mongodb/connection/connection_utils.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/mongos.js","id":"mongodb/lib/mongodb/connection/mongos.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/connection/base.js","mongodb/lib/mongodb/connection/server_capabilities.js","mongodb/lib/mongodb/connection/server.js","util/util.js","timers","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/read_preference.js","id":"mongodb/lib/mongodb/connection/read_preference.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/repl_set/ha.js","id":"mongodb/lib/mongodb/connection/repl_set/ha.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/connection/server_capabilities.js","util/util.js","mongodb/lib/mongodb/db.js","mongodb/lib/mongodb/connection/server.js","mongodb/lib/mongodb/connection/repl_set/repl_set.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/repl_set/options.js","id":"mongodb/lib/mongodb/connection/repl_set/options.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/repl_set/strategies/ping_strategy.js","mongodb/lib/mongodb/connection/repl_set/strategies/statistics_strategy.js","mongodb/lib/mongodb/connection/read_preference.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/repl_set/repl_set.js","id":"mongodb/lib/mongodb/connection/repl_set/repl_set.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/commands/db_command.js","util/util.js","timers","mongodb/lib/mongodb/connection/server.js","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/connection/repl_set/strategies/ping_strategy.js","mongodb/lib/mongodb/connection/repl_set/strategies/statistics_strategy.js","mongodb/lib/mongodb/connection/repl_set/options.js","mongodb/lib/mongodb/connection/server_capabilities.js","mongodb/lib/mongodb/connection/repl_set/repl_set_state.js","mongodb/lib/mongodb/connection/repl_set/ha.js","mongodb/lib/mongodb/connection/base.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/repl_set/repl_set_state.js","id":"mongodb/lib/mongodb/connection/repl_set/repl_set_state.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/repl_set/strategies/ping_strategy.js","id":"mongodb/lib/mongodb/connection/repl_set/strategies/ping_strategy.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/server.js","util/util.js","mongodb/lib/mongodb/db.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/repl_set/strategies/statistics_strategy.js","id":"mongodb/lib/mongodb/connection/repl_set/strategies/statistics_strategy.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js","id":"mongodb/lib/mongodb/connection/server.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/connection/connection.js","mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/responses/mongo_reply.js","mongodb/lib/mongodb/connection/connection_pool.js","events","mongodb/lib/mongodb/connection/server_capabilities.js","mongodb/lib/mongodb/connection/base.js","util/util.js","mongodb/lib/mongodb/utils.js","timers"],"mtime":1424089921000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server_capabilities.js","id":"mongodb/lib/mongodb/connection/server_capabilities.js","options":{},"isModule":true,"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/url_parser.js","id":"mongodb/lib/mongodb/connection/url_parser.js","options":{},"isModule":true,"requiredModules":["fs","mongodb/lib/mongodb/connection/read_preference.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js","id":"mongodb/lib/mongodb/cursor.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/query_command.js","mongodb/lib/mongodb/commands/get_more_command.js","mongodb/lib/mongodb/commands/kill_cursor_command.js","bson/lib/bson/index.js","mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/cursorstream.js","timers","mongodb/lib/mongodb/utils.js"],"mtime":1424094629000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursorstream.js","id":"mongodb/lib/mongodb/cursorstream.js","options":{},"isModule":true,"requiredModules":["timers","mongodb/lib/mongodb/utils.js","stream"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js","id":"mongodb/lib/mongodb/db.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/commands/query_command.js","mongodb/lib/mongodb/commands/db_command.js","mongodb/lib/mongodb/responses/mongo_reply.js","mongodb/lib/mongodb/admin.js","mongodb/lib/mongodb/collection.js","mongodb/lib/mongodb/connection/server.js","mongodb/lib/mongodb/connection/repl_set/repl_set.js","mongodb/lib/mongodb/connection/read_preference.js","mongodb/lib/mongodb/connection/mongos.js","mongodb/lib/mongodb/cursor.js","events","mongodb/lib/mongodb/commands/insert_command.js","mongodb/lib/mongodb/command_cursor.js","util/util.js","crypto","timers","mongodb/lib/mongodb/utils.js","mongodb/lib/mongodb/auth/mongodb_cr.js","mongodb/lib/mongodb/auth/mongodb_gssapi.js","mongodb/lib/mongodb/auth/mongodb_sspi.js","mongodb/lib/mongodb/auth/mongodb_plain.js","mongodb/lib/mongodb/auth/mongodb_x509.js","mongodb/lib/mongodb/auth/mongodb_scram.js","kerberos/index.js","bson/lib/bson/index.js","mongodb/lib/mongodb/mongo_client.js"],"mtime":1424094683000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/gridfs/chunk.js","id":"mongodb/lib/mongodb/gridfs/chunk.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/gridfs/grid.js","id":"mongodb/lib/mongodb/gridfs/grid.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/gridfs/gridstore.js","bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js","id":"mongodb/lib/mongodb/gridfs/gridstore.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/gridfs/chunk.js","mongodb/lib/mongodb/commands/db_command.js","bson/lib/bson/index.js","buffer","fs","timers","util/util.js","mongodb/lib/mongodb/gridfs/readstream.js","stream","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/gridfs/readstream.js","id":"mongodb/lib/mongodb/gridfs/readstream.js","options":{},"isModule":true,"requiredModules":["stream","timers","util/util.js","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/index.js","id":"mongodb/lib/mongodb/index.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js","../../package"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/mongo_client.js","id":"mongodb/lib/mongodb/mongo_client.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/db.js","mongodb/lib/mongodb/connection/server.js","mongodb/lib/mongodb/connection/mongos.js","mongodb/lib/mongodb/connection/repl_set/repl_set.js","mongodb/lib/mongodb/connection/read_preference.js","util/util.js","events","mongodb/lib/mongodb/connection/url_parser.js","bson/lib/bson/index.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js","id":"mongodb/lib/mongodb/responses/mongo_reply.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/index.js","timers","mongodb/lib/mongodb/utils.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/scope.js","id":"mongodb/lib/mongodb/scope.js","options":{},"isModule":true,"requiredModules":["mongodb/lib/mongodb/cursor.js","stream","mongodb/lib/mongodb/utils.js","util/util.js"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/lib/mongodb/utils.js","id":"mongodb/lib/mongodb/utils.js","options":{},"isModule":true,"requiredModules":["timers"],"mtime":1422615019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/browser_build/bson.js","id":"browser_build/bson.js","options":{},"isModule":true,"requiredModules":["buffer","util/util.js","./long","./double","./timestamp","./objectid","./symbol","./code","./min_key","./max_key","./db_ref","./binary","./binary_parser","./float_parser","browser_build/bson.js","../../ext"],"mtime":1421937852000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/browser_build/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/browser_build/package.json","data":{"name":"bson","description":"A bson parser for node.js and the browser","main":"../lib/bson/bson","directories":{"lib":"../lib/bson"},"engines":{"node":">=0.6.0"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}]},"mtime":1421937852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build_browser.js","id":"bson/build_browser.js","options":{},"isModule":true,"requiredModules":["one"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js","id":"bson/ext/index.js","options":{},"isModule":true,"requiredModules":["./win32/x64/bson","./win32/ia32/bson","../build/Release/bson","bson/lib/bson/bson.js","bson/lib/bson/long.js","bson/lib/bson/objectid.js","bson/lib/bson/db_ref.js","bson/lib/bson/code.js","bson/lib/bson/timestamp.js","bson/lib/bson/binary.js","bson/lib/bson/double.js","bson/lib/bson/max_key.js","bson/lib/bson/min_key.js","bson/lib/bson/symbol.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/binary.js","id":"bson/lib/bson/binary.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/binary_parser.js","id":"bson/lib/bson/binary_parser.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1434110551000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/bson.js","id":"bson/lib/bson/bson.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/long.js","bson/lib/bson/double.js","bson/lib/bson/timestamp.js","bson/lib/bson/objectid.js","bson/lib/bson/symbol.js","bson/lib/bson/code.js","bson/lib/bson/min_key.js","bson/lib/bson/max_key.js","bson/lib/bson/db_ref.js","bson/lib/bson/binary.js","bson/lib/bson/binary_parser.js","bson/lib/bson/float_parser.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/bson_new.js","id":"bson/lib/bson/bson_new.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/float_parser.js","bson/lib/bson/long.js","bson/lib/bson/double.js","bson/lib/bson/timestamp.js","bson/lib/bson/objectid.js","bson/lib/bson/symbol.js","bson/lib/bson/code.js","bson/lib/bson/min_key.js","bson/lib/bson/max_key.js","bson/lib/bson/db_ref.js","bson/lib/bson/binary.js","bson/lib/bson/binary_parser.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/code.js","id":"bson/lib/bson/code.js","options":{},"isModule":true,"mtime":1426500819000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/db_ref.js","id":"bson/lib/bson/db_ref.js","options":{},"isModule":true,"mtime":1426500823000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/double.js","id":"bson/lib/bson/double.js","options":{},"isModule":true,"mtime":1426500827000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/float_parser.js","id":"bson/lib/bson/float_parser.js","options":{},"isModule":true,"mtime":1421937852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/index.js","id":"bson/lib/bson/index.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/bson.js","bson/ext/index.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/long.js","id":"bson/lib/bson/long.js","options":{},"isModule":true,"mtime":1426500848000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/max_key.js","id":"bson/lib/bson/max_key.js","options":{},"isModule":true,"mtime":1426500852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/min_key.js","id":"bson/lib/bson/min_key.js","options":{},"isModule":true,"mtime":1426500856000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/objectid.js","id":"bson/lib/bson/objectid.js","options":{},"isModule":true,"requiredModules":["bson/lib/bson/binary_parser.js"],"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/symbol.js","id":"bson/lib/bson/symbol.js","options":{},"isModule":true,"mtime":1426500868000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/lib/bson/timestamp.js","id":"bson/lib/bson/timestamp.js","options":{},"isModule":true,"mtime":1426500873000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/node_modules/nan/include_dirs.js","id":"nan/include_dirs.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1415299420000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/node_modules/nan/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/node_modules/nan/package.json","data":{"name":"nan","version":"1.8.4","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/iojs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"ed3bbf4ced0cf7937b4e4164766797f71aa97f3d","bugs":{"url":"https://github.com/iojs/nan/issues"},"homepage":"https://github.com/iojs/nan#readme","_id":"nan@1.8.4","_shasum":"3c76b5382eab33e44b758d2813ca9d92e9342f34","_from":"nan@>=1.8.0 <1.9.0","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"3c76b5382eab33e44b758d2813ca9d92e9342f34","tarball":"http://registry.npmjs.org/nan/-/nan-1.8.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/nan/-/nan-1.8.4.tgz","readme":"ERROR: No README data found!"},"mtime":1439487650000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/package.json","data":{"name":"bson","description":"A bson parser for node.js and the browser","keywords":["mongodb","bson","parser"],"version":"0.2.22","author":{"name":"Christian Amor Kvalheim","email":"christkv@gmail.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/mongodb/js-bson.git"},"bugs":{"url":"https://github.com/mongodb/js-bson/issues"},"dependencies":{"nan":"~1.8"},"devDependencies":{"nodeunit":"0.9.0","gleak":"0.2.3","one":"2.X.X"},"config":{"native":false},"main":"./lib/bson/index","directories":{"lib":"./lib/bson"},"engines":{"node":">=0.6.19"},"scripts":{"install":"(node-gyp rebuild 2> builderror.log) || (exit 0)","test":"nodeunit ./test/node && TEST_NATIVE=TRUE nodeunit ./test/node"},"browser":"lib/bson/bson.js","licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"readme":"Javascript + C++ BSON parser\n============================\n\nThis BSON parser is primarily meant to be used with the `mongodb` node.js driver.\nHowever, wonderful tools such as `onejs` can package up a BSON parser that will work in the browser.\nThe current build is located in the `browser_build/bson.js` file.\n\nA simple example of how to use BSON in the browser:\n\n```html\n<html>\n<head>\n  <script src=\"https://raw.github.com/mongodb/js-bson/master/browser_build/bson.js\">\n  </script>\n</head>\n<body onload=\"start();\">\n<script>\n  function start() {\n    var BSON = bson().BSON;\n    var Long = bson().Long;\n\n    var doc = {long: Long.fromNumber(100)}\n\n    // Serialize a document\n    var data = BSON.serialize(doc, false, true, false);\n    // De serialize it again\n    var doc_2 = BSON.deserialize(data);\n  }\n</script>\n</body>\n</html>\n```\n\nA simple example of how to use BSON in `node.js`:\n\n```javascript\nvar bson = require(\"bson\");\nvar BSON = bson.BSONPure.BSON;\nvar Long = bson.BSONPure.Long;\n\nvar doc = {long: Long.fromNumber(100)}\n\n// Serialize a document\nvar data = BSON.serialize(doc, false, true, false);\nconsole.log(\"data:\", data);\n\n// Deserialize the resulting Buffer\nvar doc_2 = BSON.deserialize(data);\nconsole.log(\"doc_2:\", doc_2);\n```\n\nThe API consists of two simple methods to serialize/deserialize objects to/from BSON format:\n\n  * BSON.serialize(object, checkKeys, asBuffer, serializeFunctions)\n     * @param {Object} object the Javascript object to serialize.\n     * @param {Boolean} checkKeys the serializer will check if keys are valid.\n     * @param {Boolean} asBuffer return the serialized object as a Buffer object **(ignore)**.\n     * @param {Boolean} serializeFunctions serialize the javascript functions **(default:false)**\n     * @return {TypedArray/Array} returns a TypedArray or Array depending on what your browser supports\n \n  * BSON.deserialize(buffer, options, isArray)\n     * Options\n       * **evalFunctions** {Boolean, default:false}, evaluate functions in the BSON document scoped to the object deserialized.\n       * **cacheFunctions** {Boolean, default:false}, cache evaluated functions for reuse.\n       * **cacheFunctionsCrc32** {Boolean, default:false}, use a crc32 code for caching, otherwise use the string of the function.\n     * @param {TypedArray/Array} a TypedArray/Array containing the BSON data\n     * @param {Object} [options] additional options used for the deserialization.\n     * @param {Boolean} [isArray] ignore used for recursive parsing.\n     * @return {Object} returns the deserialized Javascript Object.\n","readmeFilename":"README.md","homepage":"https://github.com/mongodb/js-bson","_id":"bson@0.2.22","_shasum":"fcda103f26d0c074d5a52d50927db80fd02b4b39","_from":"bson@>=0.2.0 <0.3.0","_resolved":"https://registry.npmjs.org/bson/-/bson-0.2.22.tgz"},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/tools/gleak.js","id":"bson/tools/gleak.js","options":{},"isModule":true,"requiredModules":["gleak"],"mtime":1427371321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/tools/jasmine-1.1.0/jasmine-html.js","id":"bson/tools/jasmine-1.1.0/jasmine-html.js","options":{},"isModule":true,"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/bson/tools/jasmine-1.1.0/jasmine.js","id":"bson/tools/jasmine-1.1.0/jasmine.js","options":{},"isModule":true,"mtime":1437659296000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/index.js","id":"kerberos/index.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/kerberos.js","kerberos/lib/auth_processes/mongodb.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/lib/auth_processes/mongodb.js","id":"kerberos/lib/auth_processes/mongodb.js","options":{},"isModule":true,"requiredModules":["util/util.js","kerberos/lib/kerberos.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/lib/kerberos.js","id":"kerberos/lib/kerberos.js","options":{},"isModule":true,"requiredModules":["../build/Release/kerberos","kerberos/lib/win32/wrappers/security_credentials.js","kerberos/lib/win32/wrappers/security_context.js","kerberos/lib/win32/wrappers/security_buffer.js","kerberos/lib/win32/wrappers/security_buffer_descriptor.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/lib/sspi.js","id":"kerberos/lib/sspi.js","options":{},"isModule":true,"requiredModules":["../build/Release/kerberos","kerberos/lib/win32/wrappers/security_buffer.js","kerberos/lib/win32/wrappers/security_buffer_descriptor.js","kerberos/lib/win32/wrappers/security_credentials.js","kerberos/lib/win32/wrappers/security_context.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer.js","id":"kerberos/lib/win32/wrappers/security_buffer.js","options":{},"isModule":true,"requiredModules":["../../../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_buffer_descriptor.js","id":"kerberos/lib/win32/wrappers/security_buffer_descriptor.js","options":{},"isModule":true,"requiredModules":["../../../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_context.js","id":"kerberos/lib/win32/wrappers/security_context.js","options":{},"isModule":true,"requiredModules":["../../../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/lib/win32/wrappers/security_credentials.js","id":"kerberos/lib/win32/wrappers/security_credentials.js","options":{},"isModule":true,"requiredModules":["../../../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/node_modules/nan/include_dirs.js","id":"nan/include_dirs.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1415299420000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/node_modules/nan/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/node_modules/nan/package.json","data":{"name":"nan","version":"1.6.2","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/rvagg/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~1.0.2","pangyp":"~2.0.1","tap":"~0.5.0","xtend":"~4.0.0"},"license":"MIT","gitHead":"ab0e5eed8d4aa36111bf8f44cf75644ece327e98","bugs":{"url":"https://github.com/rvagg/nan/issues"},"homepage":"https://github.com/rvagg/nan","_id":"nan@1.6.2","_shasum":"2657d1c43b00f1e847e083832285b7d8f5ba8ec8","_from":"nan@1.6.2","_npmVersion":"2.0.0","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"2657d1c43b00f1e847e083832285b7d8f5ba8ec8","tarball":"http://registry.npmjs.org/nan/-/nan-1.6.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/nan/-/nan-1.6.2.tgz","readme":"ERROR: No README data found!"},"mtime":1439487650000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/package.json","data":{"name":"kerberos","version":"0.0.9","description":"Kerberos library for Node.js","main":"index.js","repository":{"type":"git","url":"git+https://github.com/christkv/kerberos.git"},"keywords":["kerberos","security","authentication"],"dependencies":{"nan":"1.6.2"},"devDependencies":{"nodeunit":"latest"},"scripts":{"install":"(node-gyp rebuild 2> builderror.log) || (exit 0)","test":"nodeunit ./test"},"author":{"name":"Christian Amor Kvalheim"},"license":"Apache 2.0","gitHead":"bb01d4fe322e022999aca19da564e7d9db59a8ed","bugs":{"url":"https://github.com/christkv/kerberos/issues"},"homepage":"https://github.com/christkv/kerberos","_id":"kerberos@0.0.9","_shasum":"595bf97e7e8aae5401ae313aea57bbf402e799c5","_from":"kerberos@0.0.9","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"christkv","email":"christkv@gmail.com"},"maintainers":[{"name":"christkv","email":"christkv@gmail.com"}],"dist":{"shasum":"595bf97e7e8aae5401ae313aea57bbf402e799c5","tarball":"http://registry.npmjs.org/kerberos/-/kerberos-0.0.9.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/kerberos/-/kerberos-0.0.9.tgz","readme":"ERROR: No README data found!"},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/test/kerberos_tests.js","id":"kerberos/test/kerberos_tests.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/kerberos.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/test/kerberos_win32_test.js","id":"kerberos/test/kerberos_win32_test.js","options":{},"isModule":true,"requiredModules":["../build/Release/kerberos"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/test/win32/security_buffer_descriptor_tests.js","id":"kerberos/test/win32/security_buffer_descriptor_tests.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/sspi.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/test/win32/security_buffer_tests.js","id":"kerberos/test/win32/security_buffer_tests.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/sspi.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/test/win32/security_credentials_tests.js","id":"kerberos/test/win32/security_credentials_tests.js","options":{},"isModule":true,"requiredModules":["kerberos/lib/sspi.js"],"mtime":1421938015000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","isarray/index.js","buffer","events","core-util-is/lib/util.js","inherits/inherits.js","util/util.js","readable-stream/lib/_stream_duplex.js","string_decoder/index.js"],"mtime":1437057008000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1437054722000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["process-nextick-args/index.js","buffer","core-util-is/lib/util.js","inherits/inherits.js","events","readable-stream/lib/_stream_duplex.js","util-deprecate/node.js"],"mtime":1437057008000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is.git"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","dist":{"shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","tarball":"http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"},"_from":"core-util-is@>=1.0.0 <1.1.0","_npmVersion":"1.3.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.1 <2.1.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/process-nextick-args/index.js","id":"process-nextick-args/index.js","options":{},"isModule":true,"mtime":1437048205000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/process-nextick-args/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/process-nextick-args/package.json","data":{"name":"process-nextick-args","version":"1.0.2","description":"process.nextTick but always with args","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/calvinmetcalf/process-nextick-args.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/calvinmetcalf/process-nextick-args/issues"},"homepage":"https://github.com/calvinmetcalf/process-nextick-args","devDependencies":{"tap":"~0.2.6"},"readme":"process-nextick-args\n=====\n\n[![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args)\n\n```bash\nnpm install --save process-nextick-args\n```\n\nAlways be able to pass arguments to process.nextTick, no matter the platform\n\n```js\nvar nextTick = require('process-nextick-args');\n\nnextTick(function (a, b, c) {\n  console.log(a, b, c);\n}, 'step', 3,  'profit');\n```\n","readmeFilename":"readme.md","_id":"process-nextick-args@1.0.2","_shasum":"8b4d3fc586668bd5b6573e732edf2b71c1c1d8aa","_from":"process-nextick-args@>=1.0.0 <1.1.0","_resolved":"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.2.tgz"},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/process-nextick-args/test.js","id":"process-nextick-args/test.js","options":{},"isModule":true,"requiredModules":["tap","process-nextick-args/index.js"],"mtime":1437048205000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","gitHead":"d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@>=0.10.0 <0.11.0","_npmVersion":"1.4.23","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"substack","email":"mail@substack.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","tarball":"http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz","readme":"ERROR: No README data found!"},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/util-deprecate/browser.js","id":"util-deprecate/browser.js","options":{},"isModule":true,"mtime":1416945976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/util-deprecate/node.js","id":"util-deprecate/node.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1416945941000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/util-deprecate/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/node_modules/util-deprecate/package.json","data":{"name":"util-deprecate","version":"1.0.1","description":"The Node.js `util.deprecate()` function with browser support","main":"node.js","browser":"browser.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/TooTallNate/util-deprecate.git"},"keywords":["util","deprecate","browserify","browser","node"],"author":{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io/"},"license":"MIT","bugs":{"url":"https://github.com/TooTallNate/util-deprecate/issues"},"homepage":"https://github.com/TooTallNate/util-deprecate","readme":"util-deprecate\n==============\n### The Node.js `util.deprecate()` function with browser support\n\nIn Node.js, this module simply re-exports the `util.deprecate()` function.\n\nIn the web browser (i.e. via browserify), a browser-specific implementation\nof the `util.deprecate()` function is used.\n\n\n## API\n\nA `deprecate()` function is the only thing exposed by this module.\n\n``` javascript\n// setup:\nexports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead');\n\n\n// users see:\nfoo();\n// foo() is deprecated, use bar() instead\nfoo();\nfoo();\n```\n\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"README.md","_id":"util-deprecate@1.0.1","_shasum":"3556a3d13c4c6aa7983d7e2425478197199b7881","_from":"util-deprecate@>=1.0.1 <1.1.0","_resolved":"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"},"mtime":1439487650000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"2.0.2","description":"Streams3, a user-land copy of the stream library from iojs v2.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","inherits":"~2.0.1","isarray":"0.0.1","process-nextick-args":"~1.0.0","string_decoder":"~0.10.x","util-deprecate":"~1.0.1"},"devDependencies":{"tap":"~0.2.6","tape":"~4.0.0","zuul":"~3.0.0"},"scripts":{"test":"tap test/parallel/*.js","browser":"zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js"},"repository":{"type":"git","url":"git://github.com/nodejs/readable-stream.git"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"license":"MIT","readme":"# readable-stream\n\n***Node-core streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream)\n\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)\n\n\n[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream)\n\n```bash\nnpm install --save readable-stream\n```\n\n***Node-core streams for userland***\n\nThis package is a mirror of the Streams2 and Streams3 implementations in\nNode-core, including [documentation](doc/stream.markdown).\n\nIf you want to guarantee a stable streams base, regardless of what version of\nNode you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).\n\nAs of version 2.0.0 **readable-stream** uses semantic versioning.  \n\n# Streams WG Team Members\n\n* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) &lt;christopher.s.dickinson@gmail.com&gt;\n  - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B\n* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;\n  - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242\n* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) &lt;rod@vagg.org&gt;\n  - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D\n* **Sam Newman** ([@sonewman](https://github.com/sonewman)) &lt;newmansam@outlook.com&gt;\n* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;\n* **Domenic Denicola** ([@domenic](https://github.com/domenic)) &lt;d@domenic.me&gt;\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/nodejs/readable-stream/issues"},"homepage":"https://github.com/nodejs/readable-stream","_id":"readable-stream@2.0.2","_shasum":"bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b","_from":"readable-stream@latest","_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1434936362000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1433891361000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1433891361000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mongodb/package.json","data":{"name":"mongodb","description":"A node.js driver for MongoDB","keywords":["mongodb","mongo","driver","db"],"version":"1.4.31","author":{"name":"Christian Amor Kvalheim","email":"christkv@gmail.com"},"contributors":[{"name":"Aaron Heckmann"},{"name":"Christoph Pojer"},{"name":"Pau Ramon Revilla"},{"name":"Nathan White"},{"name":"Emmerman"},{"name":"Seth LaForge"},{"name":"Boris Filipov"},{"name":"Stefan Schärmeli"},{"name":"Tedde Lundgren"},{"name":"renctan"},{"name":"Sergey Ukustov"},{"name":"Ciaran Jessup"},{"name":"kuno"},{"name":"srimonti"},{"name":"Erik Abele"},{"name":"Pratik Daga"},{"name":"Slobodan Utvic"},{"name":"Kristina Chodorow"},{"name":"Yonathan Randolph"},{"name":"Brian Noguchi"},{"name":"Sam Epstein"},{"name":"James Harrison Fisher"},{"name":"Vladimir Dronnikov"},{"name":"Ben Hockey"},{"name":"Henrik Johansson"},{"name":"Simon Weare"},{"name":"Alex Gorbatchev"},{"name":"Shimon Doodkin"},{"name":"Kyle Mueller"},{"name":"Eran Hammer-Lahav"},{"name":"Marcin Ciszak"},{"name":"François de Metz"},{"name":"Vinay Pulim"},{"name":"nstielau"},{"name":"Adam Wiggins"},{"name":"entrinzikyl"},{"name":"Jeremy Selier"},{"name":"Ian Millington"},{"name":"Public Keating"},{"name":"andrewjstone"},{"name":"Christopher Stott"},{"name":"Corey Jewett"},{"name":"brettkiefer"},{"name":"Rob Holland"},{"name":"Senmiao Liu"},{"name":"heroic"},{"name":"gitfy"},{"name":"Andrew Stone"},{"name":"John Le Drew"},{"name":"Lucasfilm Singapore"},{"name":"Roman Shtylman"},{"name":"Matt Self"},{"name":"Gregory Langlais"},{"name":"Samantha Ritter"}],"repository":{"type":"git","url":"http://github.com/mongodb/node-mongodb-native.git"},"bugs":{"url":"http://github.com/mongodb/node-mongodb-native/issues"},"dependencies":{"bson":"~0.2","kerberos":"0.0.9","readable-stream":"latest"},"devDependencies":{"dox":"0.4.4","uglify-js":"1.2.5","ejs":"0.6.1","request":"2.12.0","nodeunit":"0.7.3","markdown":"0.3.1","gleak":"0.5.0","step":"0.0.5","async":"0.1.22","integra":"0.1.8","optimist":"latest","rimraf":"2.2.6","semver":"4.1.0","mongodb-version-manager":"0.5.0","mongodb-tools":"~1.0"},"optionalDependencies":{"kerberos":"0.0.9","readable-stream":"latest"},"config":{"native":false},"main":"./lib/mongodb/index","homepage":"http://mongodb.github.com/node-mongodb-native/","directories":{"lib":"./lib/mongodb"},"engines":{"node":">=0.6.19"},"scripts":{"test":"node test/runner.js -t functional"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"gitHead":"0b9644bc89fe988c5cde04801dbac34d5b1ef9ec","_id":"mongodb@1.4.31","_shasum":"1f5493415c33d28cfab5cdc77945e7dcc47f3372","_from":"mongodb@1.4.31","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"christkv","email":"christkv@gmail.com"},"maintainers":[{"name":"christkv","email":"christkv@gmail.com"}],"dist":{"shasum":"1f5493415c33d28cfab5cdc77945e7dcc47f3372","tarball":"http://registry.npmjs.org/mongodb/-/mongodb-1.4.31.tgz"},"_resolved":"https://registry.npmjs.org/mongodb/-/mongodb-1.4.31.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpath/index.js","id":"mpath/index.js","options":{},"isModule":true,"requiredModules":["mpath/lib/index.js"],"mtime":1351964530000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpath/lib/index.js","id":"mpath/lib/index.js","options":{},"isModule":true,"mtime":1356115695000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpath/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpath/package.json","data":{"name":"mpath","version":"0.1.1","description":"{G,S}et object values using MongoDB path notation","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mpath.git"},"keywords":["mongodb","path","get","set"],"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","devDependencies":{"mocha":"1.6.0"},"_id":"mpath@0.1.1","dist":{"shasum":"23da852b7c232ee097f4759d29c0ee9cd22d5e46","tarball":"http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{},"_shasum":"23da852b7c232ee097f4759d29c0ee9cd22d5e46","_resolved":"https://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz","_from":"mpath@0.1.1"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpath/test/index.js","id":"mpath/test/index.js","options":{},"isModule":true,"requiredModules":["mpath/index.js","assert","util/util.js"],"mtime":1356124560000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpromise/index.js","id":"mpromise/index.js","options":{},"isModule":true,"requiredModules":["mpromise/lib/promise.js"],"mtime":1387348081000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpromise/lib/promise.js","id":"mpromise/lib/promise.js","options":{},"isModule":true,"requiredModules":["events"],"mtime":1387348081000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpromise/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpromise/package.json","data":{"name":"mpromise","version":"0.4.3","description":"Promises A+ conformant implementation","main":"index.js","scripts":{"test":"node node_modules/mocha/bin/_mocha"},"devDependencies":{"longjohn":"~0.2.1","promises-aplus-tests":"~2.0.2","mocha":"~1.13.0"},"repository":{"type":"git","url":"git://github.com/aheckmann/mpromise"},"keywords":["promise","mongoose","aplus","a+","plus"],"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/aheckmann/mpromise/issues"},"homepage":"https://github.com/aheckmann/mpromise","_id":"mpromise@0.4.3","dist":{"shasum":"edc47a75a2a177b0e9382735db52dbec3808cc33","tarball":"http://registry.npmjs.org/mpromise/-/mpromise-0.4.3.tgz"},"_from":"mpromise@0.4.3","_npmVersion":"1.3.13","_npmUser":{"name":"refack","email":"refael@empeeric.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"refack","email":"refael@empeeric.com"}],"directories":{},"_shasum":"edc47a75a2a177b0e9382735db52dbec3808cc33","_resolved":"https://registry.npmjs.org/mpromise/-/mpromise-0.4.3.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpromise/test/promise.domain.test.js","id":"mpromise/test/promise.domain.test.js","options":{},"isModule":true,"requiredModules":["mpromise/index.js","domain","assert"],"mtime":1387348081000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpromise/test/promise.test.js","id":"mpromise/test/promise.test.js","options":{},"isModule":true,"requiredModules":["longjohn","assert","mpromise/index.js","domain"],"mtime":1387348081000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mpromise/test/promises.Aplus.js","id":"mpromise/test/promises.Aplus.js","options":{},"isModule":true,"requiredModules":["mpromise/lib/promise.js","promises-aplus-tests"],"mtime":1387348081000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/lib/collection/collection.js","id":"mquery/lib/collection/collection.js","options":{},"isModule":true,"mtime":1393090309000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/lib/collection/index.js","id":"mquery/lib/collection/index.js","options":{},"isModule":true,"requiredModules":["mquery/lib/env.js","mquery/lib/collection/node.js","./mongo","./browser"],"mtime":1393090309000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/lib/collection/node.js","id":"mquery/lib/collection/node.js","options":{},"isModule":true,"requiredModules":["mquery/lib/collection/collection.js","mquery/lib/utils.js"],"mtime":1393090309000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/lib/env.js","id":"mquery/lib/env.js","options":{},"isModule":true,"mtime":1393090309000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/lib/mquery.js","id":"mquery/lib/mquery.js","options":{},"isModule":true,"requiredModules":["sliced/index.js","assert","util/util.js","mquery/lib/utils.js","debug/node.js","mquery/lib/permissions.js","mquery/lib/env.js","mquery/lib/collection/index.js","mquery/lib/collection/collection.js"],"mtime":1400164107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/lib/permissions.js","id":"mquery/lib/permissions.js","options":{},"isModule":true,"mtime":1400161994000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/lib/utils.js","id":"mquery/lib/utils.js","options":{},"isModule":true,"requiredModules":["regexp-clone/index.js"],"mtime":1400160862000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"mtime":1383180572000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/node_modules/debug/index.js","id":"debug/index.js","options":{},"isModule":true,"requiredModules":["debug/lib/debug.js","debug/debug.js"],"mtime":1360083107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/node_modules/debug/lib/debug.js","id":"debug/lib/debug.js","options":{},"isModule":true,"requiredModules":["tty"],"mtime":1366121384000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/node_modules/debug/package.json","data":{"name":"debug","version":"0.7.4","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{},"devDependencies":{"mocha":"*"},"main":"lib/debug.js","browser":"./debug.js","engines":{"node":"*"},"files":["lib/debug.js","debug.js","index.js"],"component":{"scripts":{"debug/index.js":"index.js","debug/debug.js":"debug.js"}},"readme":"# debug\n\n  tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n \nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n  , http = require('http')\n  , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n  debug(req.method + ' ' + req.url);\n  res.end('hello\\n');\n}).listen(3000, function(){\n  debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n  debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n  ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n  ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n  When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n  ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n  When stderr is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n  _(NOTE: Debug now uses stderr instead of stdout, so the correct shell command for this example is actually `DEBUG=* node example/worker 2> out &`)_\n  \n  ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n  \n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\". \n\n## Wildcards\n\n  The \"*\" character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n  You can also exclude specific debuggers by prefixing them with a \"-\" character.  For example, `DEBUG=* -connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable('worker:*')` in the console and refresh the page, this will remain until you disable with `debug.disable()`. \n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n  a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n  a('doing some work');\n}, 1200);\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@0.7.4","_shasum":"06e1ea8082c2cb14e39806e22e2f6f757f92af39","_from":"debug@0.7.4","_resolved":"https://registry.npmjs.org/debug/-/debug-0.7.4.tgz","scripts":{}},"mtime":1439487649000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/package.json","data":{"name":"mquery","version":"0.8.0","description":"Expressive query building for MongoDB","main":"lib/mquery.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/mquery.git"},"dependencies":{"sliced":"0.0.5","debug":"0.7.4","regexp-clone":"0.0.1"},"devDependencies":{"mongodb":"1.4.4","mocha":"1.9.x"},"bugs":{"url":"https://github.com/aheckmann/mquery/issues/new"},"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","keywords":["mongodb","query","builder"],"homepage":"https://github.com/aheckmann/mquery/","_id":"mquery@0.8.0","dist":{"shasum":"1e5b8c2a5a52f5583bd08932700b85440ee25f60","tarball":"http://registry.npmjs.org/mquery/-/mquery-0.8.0.tgz"},"_from":"mquery@0.8.0","_npmVersion":"1.4.4","_npmUser":{"name":"aaron","email":"aaron.heckmann@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"ebensing","email":"ebensing38@gmail.com"}],"directories":{},"_shasum":"1e5b8c2a5a52f5583bd08932700b85440ee25f60","_resolved":"https://registry.npmjs.org/mquery/-/mquery-0.8.0.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/test/collection/browser.js","id":"mquery/test/collection/browser.js","options":{},"isModule":true,"mtime":1393090309000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/test/collection/mongo.js","id":"mquery/test/collection/mongo.js","options":{},"isModule":true,"mtime":1393090309000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/test/collection/node.js","id":"mquery/test/collection/node.js","options":{},"isModule":true,"requiredModules":["assert","sliced/index.js","mongodb/lib/mongodb/index.js","mquery/lib/mquery.js"],"mtime":1393090309000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/test/env.js","id":"mquery/test/env.js","options":{},"isModule":true,"requiredModules":["assert","mquery/lib/mquery.js","mquery/test/collection/node.js","mquery/test/collection/mongo.js","mquery/test/collection/browser.js"],"mtime":1393090309000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/test/index.js","id":"mquery/test/index.js","options":{},"isModule":true,"requiredModules":["mquery/lib/mquery.js","assert","mquery/test/env.js","mongodb/lib/mongodb/index.js"],"mtime":1400164199000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/test/utils.js","id":"mquery/test/utils.js","options":{},"isModule":true,"requiredModules":["mquery/lib/utils.js"],"mtime":1366644314000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/mquery/test/utils.test.js","id":"mquery/test/utils.test.js","options":{},"isModule":true,"requiredModules":["mquery/lib/utils.js","assert","mongodb/lib/mongodb/index.js"],"mtime":1400160862000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/ms/ms.js","id":"ms/ms.js","options":{},"isModule":true,"mtime":1324496282000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/ms/package.json","data":{"name":"ms","version":"0.1.0","description":"Tiny ms conversion utility","main":"./ms","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"_npmUser":{"name":"rauchg","email":"rauchg@gmail.com"},"_id":"ms@0.1.0","dependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"f21fac490daf1d7667fd180fe9077389cc9442b2","tarball":"http://registry.npmjs.org/ms/-/ms-0.1.0.tgz"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"}],"directories":{},"_shasum":"f21fac490daf1d7667fd180fe9077389cc9442b2","_resolved":"https://registry.npmjs.org/ms/-/ms-0.1.0.tgz","_from":"ms@0.1.0"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/ms/test/support/jquery.js","id":"ms/test/support/jquery.js","options":{},"isModule":true,"mtime":1324496282000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/ms/test/test.js","id":"ms/test/test.js","options":{},"isModule":true,"requiredModules":["expect.js","ms/ms.js"],"mtime":1324496282000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/muri/index.js","id":"muri/index.js","options":{},"isModule":true,"requiredModules":["muri/lib/index.js"],"mtime":1351777976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/muri/lib/index.js","id":"muri/lib/index.js","options":{},"isModule":true,"requiredModules":["querystring","fs"],"mtime":1361123288000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/muri/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/muri/package.json","data":{"name":"muri","version":"0.3.1","description":"MongoDB URI parser","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/muri.git"},"keywords":["mongodb","uri","parser"],"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","devDependencies":{"mocha":"1.6.0"},"_id":"muri@0.3.1","dist":{"shasum":"861889c5c857f1a43700bee85d50731f61727c9a","tarball":"http://registry.npmjs.org/muri/-/muri-0.3.1.tgz"},"_from":"muri@0.3.1","_npmVersion":"1.2.10","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{},"_shasum":"861889c5c857f1a43700bee85d50731f61727c9a","_resolved":"https://registry.npmjs.org/muri/-/muri-0.3.1.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/muri/test/index.js","id":"muri/test/index.js","options":{},"isModule":true,"requiredModules":["muri/index.js","assert"],"mtime":1361123417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/regexp-clone/index.js","id":"regexp-clone/index.js","options":{},"isModule":true,"mtime":1366231931000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/regexp-clone/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/regexp-clone/package.json","data":{"name":"regexp-clone","version":"0.0.1","description":"Clone RegExps with options","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/regexp-clone.git"},"keywords":["RegExp","clone"],"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","devDependencies":{"mocha":"1.8.1"},"readme":"#regexp-clone\n==============\n\nClones RegExps with flag preservation\n\n```js\nvar regexpClone = require('regexp-clone');\n\nvar a = /somethin/g;\nconsole.log(a.global); // true\n\nvar b = regexpClone(a);\nconsole.log(b.global); // true\n```\n\n## License\n\n[MIT](https://github.com/aheckmann/regexp-clone/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"regexp-clone@0.0.1","dist":{"shasum":"a7c2e09891fdbf38fbb10d376fb73003e68ac589","tarball":"http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz"},"_from":"regexp-clone@0.0.1","_npmVersion":"1.2.14","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{},"_shasum":"a7c2e09891fdbf38fbb10d376fb73003e68ac589","_resolved":"https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/regexp-clone/test/index.js","id":"regexp-clone/test/index.js","options":{},"isModule":true,"requiredModules":["assert","regexp-clone/index.js"],"mtime":1366233061000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/sliced/bench.js","id":"sliced/bench.js","options":{},"isModule":true,"requiredModules":["sliced/index.js","benchmark"],"mtime":1348942369000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/sliced/component.json","id":"sliced/component.json","options":{},"isModule":true,"mtime":1360072477000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/sliced/index.js","id":"sliced/index.js","options":{},"isModule":true,"requiredModules":["sliced/lib/sliced.js"],"mtime":1348899392000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/sliced/lib/sliced.js","id":"sliced/lib/sliced.js","options":{},"isModule":true,"mtime":1360071925000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/sliced/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/sliced/package.json","data":{"name":"sliced","version":"0.0.5","description":"A faster Node.js alternative to Array.prototype.slice.call(arguments)","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/sliced"},"keywords":["arguments","slice","array"],"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","devDependencies":{"mocha":"1.5.0","benchmark":"~1.0.0"},"_id":"sliced@0.0.5","dist":{"shasum":"5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f","tarball":"http://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},"maintainers":[{"name":"aaron","email":"aaron.heckmann+github@gmail.com"}],"directories":{},"_shasum":"5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f","_resolved":"https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz","_from":"sliced@0.0.5"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/node_modules/sliced/test/index.js","id":"sliced/test/index.js","options":{},"isModule":true,"requiredModules":["sliced/index.js","assert"],"mtime":1348941948000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose/package.json","data":{"name":"mongoose","description":"Mongoose MongoDB ODM","version":"3.8.24","author":{"name":"Guillermo Rauch","email":"guillermo@learnboost.com"},"keywords":["mongodb","document","model","schema","database","odm","data","datastore","query","nosql","orm","db"],"dependencies":{"mongodb":"1.4.31","hooks":"0.2.1","ms":"0.1.0","sliced":"0.0.5","muri":"0.3.1","mpromise":"0.4.3","mpath":"0.1.1","regexp-clone":"0.0.1","mquery":"0.8.0"},"devDependencies":{"mocha":"1.12.0","node-static":"0.5.9","dox":"0.3.1","jade":"0.26.3","highlight.js":"7.0.1","markdown":"0.3.1","promises-aplus-tests":"2.0.4","tbd":"0.6.4","benchmark":"1.0.0","open":"0.0.3","async":"0.2.5","underscore":"1.5.2"},"directories":{"lib":"./lib/mongoose"},"scripts":{"test":"make test"},"main":"./index.js","engines":{"node":">=0.6.19"},"bugs":{"url":"https://github.com/learnboost/mongoose/issues/new","email":"mongoose-orm@googlegroups.com"},"repository":{"type":"git","url":"git://github.com/LearnBoost/mongoose.git"},"homepage":"http://mongoosejs.com","gitHead":"ca96eb259d20639c02ea065de16467e80badafe0","_id":"mongoose@3.8.24","_shasum":"b3bb0d98a998a197c6b04572a8a3de9062352798","_from":"mongoose@3.8.24","_npmVersion":"1.4.21","_npmUser":{"name":"vkarpov15","email":"valkar207@gmail.com"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"aaron","email":"aaron.heckmann+github@gmail.com"},{"name":"shtylman","email":"shtylman@gmail.com"},{"name":"vkarpov15","email":"valkar207@gmail.com"}],"dist":{"shasum":"b3bb0d98a998a197c6b04572a8a3de9062352798","tarball":"http://registry.npmjs.org/mongoose/-/mongoose-3.8.24.tgz"},"_resolved":"https://registry.npmjs.org/mongoose/-/mongoose-3.8.24.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/static.js","id":"mongoose/static.js","options":{},"isModule":true,"requiredModules":["node-static","open","http"],"mtime":1424291569000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose/website.js","id":"mongoose/website.js","options":{},"isModule":true,"requiredModules":["fs","jade/index.js","./package","./docs/helpers/highlight","./docs/helpers/linktype","./docs/helpers/href","./docs/helpers/klass","./docs/helpers/filters","./docs/source"],"mtime":1424275804000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/func_names.js","id":"mongoose-q/func_names.js","options":{},"isModule":true,"mtime":1423228955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/Gruntfile.js","id":"mongoose-q/Gruntfile.js","options":{},"isModule":true,"mtime":1411032376000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/index.js","id":"mongoose-q/index.js","options":{},"isModule":true,"requiredModules":["mongoose/index.js","q/q.js","mongoose-q/func_names.js","crypto","mongoose/lib/aggregate.js"],"mtime":1423975254000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/node_modules/q/benchmark/compare-with-callbacks.js","id":"q/benchmark/compare-with-callbacks.js","options":{},"isModule":true,"requiredModules":["q/q.js","fs"],"mtime":1394498603000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/node_modules/q/benchmark/scenarios.js","id":"q/benchmark/scenarios.js","options":{},"isModule":true,"requiredModules":["q/q.js"],"mtime":1394153104000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/node_modules/q/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/node_modules/q/package.json","data":{"name":"q","version":"1.0.1","description":"A library for promises (CommonJS/Promises/A,B,D)","homepage":"https://github.com/kriskowal/q","author":{"name":"Kris Kowal","email":"kris@cixar.com","url":"https://github.com/kriskowal"},"keywords":["q","promise","promises","promises-a","promises-aplus","deferred","future","async","flow control","fluent","browser","node"],"contributors":[{"name":"Kris Kowal","email":"kris@cixar.com","url":"https://github.com/kriskowal"},{"name":"Irakli Gozalishvili","email":"rfobic@gmail.com","url":"http://jeditoolkit.com"},{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"}],"bugs":{"url":"http://github.com/kriskowal/q/issues"},"license":{"type":"MIT","url":"http://github.com/kriskowal/q/raw/master/LICENSE"},"main":"q.js","repository":{"type":"git","url":"git://github.com/kriskowal/q.git"},"engines":{"node":">=0.6.0","teleport":">=0.2.0"},"dependencies":{},"devDependencies":{"jshint":"~2.1.9","cover":"*","jasmine-node":"1.11.0","opener":"*","promises-aplus-tests":"1.x","grunt":"~0.4.1","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","matcha":"~0.2.0"},"scripts":{"test":"jasmine-node spec && promises-aplus-tests spec/aplus-adapter","test-browser":"opener spec/q-spec.html","benchmark":"matcha","lint":"jshint q.js","cover":"cover run node_modules/jasmine-node/bin/jasmine-node spec && cover report html && opener cover_html/index.html","minify":"grunt","prepublish":"grunt"},"overlay":{"teleport":{"dependencies":{"system":">=0.0.4"}}},"directories":{"test":"./spec"},"readme":"[![Build Status](https://secure.travis-ci.org/kriskowal/q.png?branch=master)](http://travis-ci.org/kriskowal/q)\n\n<a href=\"http://promises-aplus.github.com/promises-spec\">\n    <img src=\"http://promises-aplus.github.com/promises-spec/assets/logo-small.png\"\n         align=\"right\" alt=\"Promises/A+ logo\" />\n</a>\n\n*This is Q version 1, from the `v1` branch in Git. This documentation applies to\nthe latest of both the version 1 and version 0.9 release trains. These releases\nare stable. There will be no further releases of 0.9 after 0.9.7 which is nearly\nequivalent to version 1.0.0. All further releases of `q@~1.0` will be backward\ncompatible. The version 2 release train introduces significant but\nbackward-incompatible changes and is experimental at this time.*\n\nIf a function cannot return a value or throw an exception without\nblocking, it can return a promise instead.  A promise is an object\nthat represents the return value or the thrown exception that the\nfunction may eventually provide.  A promise can also be used as a\nproxy for a [remote object][Q-Connection] to overcome latency.\n\n[Q-Connection]: https://github.com/kriskowal/q-connection\n\nOn the first pass, promises can mitigate the “[Pyramid of\nDoom][POD]”: the situation where code marches to the right faster\nthan it marches forward.\n\n[POD]: http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/\n\n```javascript\nstep1(function (value1) {\n    step2(value1, function(value2) {\n        step3(value2, function(value3) {\n            step4(value3, function(value4) {\n                // Do something with value4\n            });\n        });\n    });\n});\n```\n\nWith a promise library, you can flatten the pyramid.\n\n```javascript\nQ.fcall(promisedStep1)\n.then(promisedStep2)\n.then(promisedStep3)\n.then(promisedStep4)\n.then(function (value4) {\n    // Do something with value4\n})\n.catch(function (error) {\n    // Handle any error from all above steps\n})\n.done();\n```\n\nWith this approach, you also get implicit error propagation, just like `try`,\n`catch`, and `finally`.  An error in `promisedStep1` will flow all the way to\nthe `catch` function, where it’s caught and handled.  (Here `promisedStepN` is\na version of `stepN` that returns a promise.)\n\nThe callback approach is called an “inversion of control”.\nA function that accepts a callback instead of a return value\nis saying, “Don’t call me, I’ll call you.”.  Promises\n[un-invert][IOC] the inversion, cleanly separating the input\narguments from control flow arguments.  This simplifies the\nuse and creation of API’s, particularly variadic,\nrest and spread arguments.\n\n[IOC]: http://www.slideshare.net/domenicdenicola/callbacks-promises-and-coroutines-oh-my-the-evolution-of-asynchronicity-in-javascript\n\n\n## Getting Started\n\nThe Q module can be loaded as:\n\n-   A ``<script>`` tag (creating a ``Q`` global variable): ~2.5 KB minified and\n    gzipped.\n-   A Node.js and CommonJS module, available in [npm](https://npmjs.org/) as\n    the [q](https://npmjs.org/package/q) package\n-   An AMD module\n-   A [component](https://github.com/component/component) as ``microjs/q``\n-   Using [bower](http://bower.io/) as ``q``\n-   Using [NuGet](http://nuget.org/) as [Q](https://nuget.org/packages/q)\n\nQ can exchange promises with jQuery, Dojo, When.js, WinJS, and more.\n\n## Resources\n\nOur [wiki][] contains a number of useful resources, including:\n\n- A method-by-method [Q API reference][reference].\n- A growing [examples gallery][examples], showing how Q can be used to make\n  everything better. From XHR to database access to accessing the Flickr API,\n  Q is there for you.\n- There are many libraries that produce and consume Q promises for everything\n  from file system/database access or RPC to templating. For a list of some of\n  the more popular ones, see [Libraries][].\n- If you want materials that introduce the promise concept generally, and the\n  below tutorial isn't doing it for you, check out our collection of\n  [presentations, blog posts, and podcasts][resources].\n- A guide for those [coming from jQuery's `$.Deferred`][jquery].\n\nWe'd also love to have you join the Q-Continuum [mailing list][].\n\n[wiki]: https://github.com/kriskowal/q/wiki\n[reference]: https://github.com/kriskowal/q/wiki/API-Reference\n[examples]: https://github.com/kriskowal/q/wiki/Examples-Gallery\n[Libraries]: https://github.com/kriskowal/q/wiki/Libraries\n[resources]: https://github.com/kriskowal/q/wiki/General-Promise-Resources\n[jquery]: https://github.com/kriskowal/q/wiki/Coming-from-jQuery\n[mailing list]: https://groups.google.com/forum/#!forum/q-continuum\n\n\n## Tutorial\n\nPromises have a ``then`` method, which you can use to get the eventual\nreturn value (fulfillment) or thrown exception (rejection).\n\n```javascript\npromiseMeSomething()\n.then(function (value) {\n}, function (reason) {\n});\n```\n\nIf ``promiseMeSomething`` returns a promise that gets fulfilled later\nwith a return value, the first function (the fulfillment handler) will be\ncalled with the value.  However, if the ``promiseMeSomething`` function\ngets rejected later by a thrown exception, the second function (the\nrejection handler) will be called with the exception.\n\nNote that resolution of a promise is always asynchronous: that is, the\nfulfillment or rejection handler will always be called in the next turn of the\nevent loop (i.e. `process.nextTick` in Node). This gives you a nice\nguarantee when mentally tracing the flow of your code, namely that\n``then`` will always return before either handler is executed.\n\nIn this tutorial, we begin with how to consume and work with promises. We'll\ntalk about how to create them, and thus create functions like\n`promiseMeSomething` that return promises, [below](#the-beginning).\n\n\n### Propagation\n\nThe ``then`` method returns a promise, which in this example, I’m\nassigning to ``outputPromise``.\n\n```javascript\nvar outputPromise = getInputPromise()\n.then(function (input) {\n}, function (reason) {\n});\n```\n\nThe ``outputPromise`` variable becomes a new promise for the return\nvalue of either handler.  Since a function can only either return a\nvalue or throw an exception, only one handler will ever be called and it\nwill be responsible for resolving ``outputPromise``.\n\n-   If you return a value in a handler, ``outputPromise`` will get\n    fulfilled.\n\n-   If you throw an exception in a handler, ``outputPromise`` will get\n    rejected.\n\n-   If you return a **promise** in a handler, ``outputPromise`` will\n    “become” that promise.  Being able to become a new promise is useful\n    for managing delays, combining results, or recovering from errors.\n\nIf the ``getInputPromise()`` promise gets rejected and you omit the\nrejection handler, the **error** will go to ``outputPromise``:\n\n```javascript\nvar outputPromise = getInputPromise()\n.then(function (value) {\n});\n```\n\nIf the input promise gets fulfilled and you omit the fulfillment handler, the\n**value** will go to ``outputPromise``:\n\n```javascript\nvar outputPromise = getInputPromise()\n.then(null, function (error) {\n});\n```\n\nQ promises provide a ``fail`` shorthand for ``then`` when you are only\ninterested in handling the error:\n\n```javascript\nvar outputPromise = getInputPromise()\n.fail(function (error) {\n});\n```\n\nIf you are writing JavaScript for modern engines only or using\nCoffeeScript, you may use `catch` instead of `fail`.\n\nPromises also have a ``fin`` function that is like a ``finally`` clause.\nThe final handler gets called, with no arguments, when the promise\nreturned by ``getInputPromise()`` either returns a value or throws an\nerror.  The value returned or error thrown by ``getInputPromise()``\npasses directly to ``outputPromise`` unless the final handler fails, and\nmay be delayed if the final handler returns a promise.\n\n```javascript\nvar outputPromise = getInputPromise()\n.fin(function () {\n    // close files, database connections, stop servers, conclude tests\n});\n```\n\n-   If the handler returns a value, the value is ignored\n-   If the handler throws an error, the error passes to ``outputPromise``\n-   If the handler returns a promise, ``outputPromise`` gets postponed.  The\n    eventual value or error has the same effect as an immediate return\n    value or thrown error: a value would be ignored, an error would be\n    forwarded.\n\nIf you are writing JavaScript for modern engines only or using\nCoffeeScript, you may use `finally` instead of `fin`.\n\n### Chaining\n\nThere are two ways to chain promises.  You can chain promises either\ninside or outside handlers.  The next two examples are equivalent.\n\n```javascript\nreturn getUsername()\n.then(function (username) {\n    return getUser(username)\n    .then(function (user) {\n        // if we get here without an error,\n        // the value returned here\n        // or the exception thrown here\n        // resolves the promise returned\n        // by the first line\n    })\n});\n```\n\n```javascript\nreturn getUsername()\n.then(function (username) {\n    return getUser(username);\n})\n.then(function (user) {\n    // if we get here without an error,\n    // the value returned here\n    // or the exception thrown here\n    // resolves the promise returned\n    // by the first line\n});\n```\n\nThe only difference is nesting.  It’s useful to nest handlers if you\nneed to capture multiple input values in your closure.\n\n```javascript\nfunction authenticate() {\n    return getUsername()\n    .then(function (username) {\n        return getUser(username);\n    })\n    // chained because we will not need the user name in the next event\n    .then(function (user) {\n        return getPassword()\n        // nested because we need both user and password next\n        .then(function (password) {\n            if (user.passwordHash !== hash(password)) {\n                throw new Error(\"Can't authenticate\");\n            }\n        });\n    });\n}\n```\n\n\n### Combination\n\nYou can turn an array of promises into a promise for the whole,\nfulfilled array using ``all``.\n\n```javascript\nreturn Q.all([\n    eventualAdd(2, 2),\n    eventualAdd(10, 20)\n]);\n```\n\nIf you have a promise for an array, you can use ``spread`` as a\nreplacement for ``then``.  The ``spread`` function “spreads” the\nvalues over the arguments of the fulfillment handler.  The rejection handler\nwill get called at the first sign of failure.  That is, whichever of\nthe recived promises fails first gets handled by the rejection handler.\n\n```javascript\nfunction eventualAdd(a, b) {\n    return Q.spread([a, b], function (a, b) {\n        return a + b;\n    })\n}\n```\n\nBut ``spread`` calls ``all`` initially, so you can skip it in chains.\n\n```javascript\nreturn getUsername()\n.then(function (username) {\n    return [username, getUser(username)];\n})\n.spread(function (username, user) {\n});\n```\n\nThe ``all`` function returns a promise for an array of values.  When this\npromise is fulfilled, the array contains the fulfillment values of the original\npromises, in the same order as those promises.  If one of the given promises\nis rejected, the returned promise is immediately rejected, not waiting for the\nrest of the batch.  If you want to wait for all of the promises to either be\nfulfilled or rejected, you can use ``allSettled``.\n\n```javascript\nQ.allSettled(promises)\n.then(function (results) {\n    results.forEach(function (result) {\n        if (result.state === \"fulfilled\") {\n            var value = result.value;\n        } else {\n            var reason = result.reason;\n        }\n    });\n});\n```\n\n\n### Sequences\n\nIf you have a number of promise-producing functions that need\nto be run sequentially, you can of course do so manually:\n\n```javascript\nreturn foo(initialVal).then(bar).then(baz).then(qux);\n```\n\nHowever, if you want to run a dynamically constructed sequence of\nfunctions, you'll want something like this:\n\n```javascript\nvar funcs = [foo, bar, baz, qux];\n\nvar result = Q(initialVal);\nfuncs.forEach(function (f) {\n    result = result.then(f);\n});\nreturn result;\n```\n\nYou can make this slightly more compact using `reduce`:\n\n```javascript\nreturn funcs.reduce(function (soFar, f) {\n    return soFar.then(f);\n}, Q(initialVal));\n```\n\nOr, you could use th ultra-compact version:\n\n```javascript\nreturn funcs.reduce(Q.when, Q());\n```\n\n### Handling Errors\n\nOne sometimes-unintuive aspect of promises is that if you throw an\nexception in the fulfillment handler, it will not be be caught by the error\nhandler.\n\n```javascript\nreturn foo()\n.then(function (value) {\n    throw new Error(\"Can't bar.\");\n}, function (error) {\n    // We only get here if \"foo\" fails\n});\n```\n\nTo see why this is, consider the parallel between promises and\n``try``/``catch``. We are ``try``-ing to execute ``foo()``: the error\nhandler represents a ``catch`` for ``foo()``, while the fulfillment handler\nrepresents code that happens *after* the ``try``/``catch`` block.\nThat code then needs its own ``try``/``catch`` block.\n\nIn terms of promises, this means chaining your rejection handler:\n\n```javascript\nreturn foo()\n.then(function (value) {\n    throw new Error(\"Can't bar.\");\n})\n.fail(function (error) {\n    // We get here with either foo's error or bar's error\n});\n```\n\n### Progress Notification\n\nIt's possible for promises to report their progress, e.g. for tasks that take a\nlong time like a file upload. Not all promises will implement progress\nnotifications, but for those that do, you can consume the progress values using\na third parameter to ``then``:\n\n```javascript\nreturn uploadFile()\n.then(function () {\n    // Success uploading the file\n}, function (err) {\n    // There was an error, and we get the reason for error\n}, function (progress) {\n    // We get notified of the upload's progress as it is executed\n});\n```\n\nLike `fail`, Q also provides a shorthand for progress callbacks\ncalled `progress`:\n\n```javascript\nreturn uploadFile().progress(function (progress) {\n    // We get notified of the upload's progress\n});\n```\n\n### The End\n\nWhen you get to the end of a chain of promises, you should either\nreturn the last promise or end the chain.  Since handlers catch\nerrors, it’s an unfortunate pattern that the exceptions can go\nunobserved.\n\nSo, either return it,\n\n```javascript\nreturn foo()\n.then(function () {\n    return \"bar\";\n});\n```\n\nOr, end it.\n\n```javascript\nfoo()\n.then(function () {\n    return \"bar\";\n})\n.done();\n```\n\nEnding a promise chain makes sure that, if an error doesn’t get\nhandled before the end, it will get rethrown and reported.\n\nThis is a stopgap. We are exploring ways to make unhandled errors\nvisible without any explicit handling.\n\n\n### The Beginning\n\nEverything above assumes you get a promise from somewhere else.  This\nis the common case.  Every once in a while, you will need to create a\npromise from scratch.\n\n#### Using ``Q.fcall``\n\nYou can create a promise from a value using ``Q.fcall``.  This returns a\npromise for 10.\n\n```javascript\nreturn Q.fcall(function () {\n    return 10;\n});\n```\n\nYou can also use ``fcall`` to get a promise for an exception.\n\n```javascript\nreturn Q.fcall(function () {\n    throw new Error(\"Can't do it\");\n});\n```\n\nAs the name implies, ``fcall`` can call functions, or even promised\nfunctions.  This uses the ``eventualAdd`` function above to add two\nnumbers.\n\n```javascript\nreturn Q.fcall(eventualAdd, 2, 2);\n```\n\n\n#### Using Deferreds\n\nIf you have to interface with asynchronous functions that are callback-based\ninstead of promise-based, Q provides a few shortcuts (like ``Q.nfcall`` and\nfriends). But much of the time, the solution will be to use *deferreds*.\n\n```javascript\nvar deferred = Q.defer();\nFS.readFile(\"foo.txt\", \"utf-8\", function (error, text) {\n    if (error) {\n        deferred.reject(new Error(error));\n    } else {\n        deferred.resolve(text);\n    }\n});\nreturn deferred.promise;\n```\n\nNote that a deferred can be resolved with a value or a promise.  The\n``reject`` function is a shorthand for resolving with a rejected\npromise.\n\n```javascript\n// this:\ndeferred.reject(new Error(\"Can't do it\"));\n\n// is shorthand for:\nvar rejection = Q.fcall(function () {\n    throw new Error(\"Can't do it\");\n});\ndeferred.resolve(rejection);\n```\n\nThis is a simplified implementation of ``Q.delay``.\n\n```javascript\nfunction delay(ms) {\n    var deferred = Q.defer();\n    setTimeout(deferred.resolve, ms);\n    return deferred.promise;\n}\n```\n\nThis is a simplified implementation of ``Q.timeout``\n\n```javascript\nfunction timeout(promise, ms) {\n    var deferred = Q.defer();\n    Q.when(promise, deferred.resolve);\n    delay(ms).then(function () {\n        deferred.reject(new Error(\"Timed out\"));\n    });\n    return deferred.promise;\n}\n```\n\nFinally, you can send a progress notification to the promise with\n``deferred.notify``.\n\nFor illustration, this is a wrapper for XML HTTP requests in the browser. Note\nthat a more [thorough][XHR] implementation would be in order in practice.\n\n[XHR]: https://github.com/montagejs/mr/blob/71e8df99bb4f0584985accd6f2801ef3015b9763/browser.js#L29-L73\n\n```javascript\nfunction requestOkText(url) {\n    var request = new XMLHttpRequest();\n    var deferred = Q.defer();\n\n    request.open(\"GET\", url, true);\n    request.onload = onload;\n    request.onerror = onerror;\n    request.onprogress = onprogress;\n    request.send();\n\n    function onload() {\n        if (request.status === 200) {\n            deferred.resolve(request.responseText);\n        } else {\n            deferred.reject(new Error(\"Status code was \" + request.status));\n        }\n    }\n\n    function onerror() {\n        deferred.reject(new Error(\"Can't XHR \" + JSON.stringify(url)));\n    }\n\n    function onprogress(event) {\n        deferred.notify(event.loaded / event.total);\n    }\n\n    return deferred.promise;\n}\n```\n\nBelow is an example of how to use this ``requestOkText`` function:\n\n```javascript\nrequestOkText(\"http://localhost:3000\")\n.then(function (responseText) {\n    // If the HTTP response returns 200 OK, log the response text.\n    console.log(responseText);\n}, function (error) {\n    // If there's an error or a non-200 status code, log the error.\n    console.error(error);\n}, function (progress) {\n    // Log the progress as it comes in.\n    console.log(\"Request progress: \" + Math.round(progress * 100) + \"%\");\n});\n```\n\n### The Middle\n\nIf you are using a function that may return a promise, but just might\nreturn a value if it doesn’t need to defer, you can use the “static”\nmethods of the Q library.\n\nThe ``when`` function is the static equivalent for ``then``.\n\n```javascript\nreturn Q.when(valueOrPromise, function (value) {\n}, function (error) {\n});\n```\n\nAll of the other methods on a promise have static analogs with the\nsame name.\n\nThe following are equivalent:\n\n```javascript\nreturn Q.all([a, b]);\n```\n\n```javascript\nreturn Q.fcall(function () {\n    return [a, b];\n})\n.all();\n```\n\nWhen working with promises provided by other libraries, you should\nconvert it to a Q promise.  Not all promise libraries make the same\nguarantees as Q and certainly don’t provide all of the same methods.\nMost libraries only provide a partially functional ``then`` method.\nThis thankfully is all we need to turn them into vibrant Q promises.\n\n```javascript\nreturn Q($.ajax(...))\n.then(function () {\n});\n```\n\nIf there is any chance that the promise you receive is not a Q promise\nas provided by your library, you should wrap it using a Q function.\nYou can even use ``Q.invoke`` as a shorthand.\n\n```javascript\nreturn Q.invoke($, 'ajax', ...)\n.then(function () {\n});\n```\n\n\n### Over the Wire\n\nA promise can serve as a proxy for another object, even a remote\nobject.  There are methods that allow you to optimistically manipulate\nproperties or call functions.  All of these interactions return\npromises, so they can be chained.\n\n```\ndirect manipulation         using a promise as a proxy\n--------------------------  -------------------------------\nvalue.foo                   promise.get(\"foo\")\nvalue.foo = value           promise.put(\"foo\", value)\ndelete value.foo            promise.del(\"foo\")\nvalue.foo(...args)          promise.post(\"foo\", [args])\nvalue.foo(...args)          promise.invoke(\"foo\", ...args)\nvalue(...args)              promise.fapply([args])\nvalue(...args)              promise.fcall(...args)\n```\n\nIf the promise is a proxy for a remote object, you can shave\nround-trips by using these functions instead of ``then``.  To take\nadvantage of promises for remote objects, check out [Q-Connection][].\n\n[Q-Connection]: https://github.com/kriskowal/q-connection\n\nEven in the case of non-remote objects, these methods can be used as\nshorthand for particularly-simple fulfillment handlers. For example, you\ncan replace\n\n```javascript\nreturn Q.fcall(function () {\n    return [{ foo: \"bar\" }, { foo: \"baz\" }];\n})\n.then(function (value) {\n    return value[0].foo;\n});\n```\n\nwith\n\n```javascript\nreturn Q.fcall(function () {\n    return [{ foo: \"bar\" }, { foo: \"baz\" }];\n})\n.get(0)\n.get(\"foo\");\n```\n\n\n### Adapting Node\n\nIf you're working with functions that make use of the Node.js callback pattern,\nwhere callbacks are in the form of `function(err, result)`, Q provides a few\nuseful utility functions for converting between them. The most straightforward\nare probably `Q.nfcall` and `Q.nfapply` (\"Node function call/apply\") for calling\nNode.js-style functions and getting back a promise:\n\n```javascript\nreturn Q.nfcall(FS.readFile, \"foo.txt\", \"utf-8\");\nreturn Q.nfapply(FS.readFile, [\"foo.txt\", \"utf-8\"]);\n```\n\nIf you are working with methods, instead of simple functions, you can easily\nrun in to the usual problems where passing a method to another function—like\n`Q.nfcall`—\"un-binds\" the method from its owner. To avoid this, you can either\nuse `Function.prototype.bind` or some nice shortcut methods we provide:\n\n```javascript\nreturn Q.ninvoke(redisClient, \"get\", \"user:1:id\");\nreturn Q.npost(redisClient, \"get\", [\"user:1:id\"]);\n```\n\nYou can also create reusable wrappers with `Q.denodeify` or `Q.nbind`:\n\n```javascript\nvar readFile = Q.denodeify(FS.readFile);\nreturn readFile(\"foo.txt\", \"utf-8\");\n\nvar redisClientGet = Q.nbind(redisClient.get, redisClient);\nreturn redisClientGet(\"user:1:id\");\n```\n\nFinally, if you're working with raw deferred objects, there is a\n`makeNodeResolver` method on deferreds that can be handy:\n\n```javascript\nvar deferred = Q.defer();\nFS.readFile(\"foo.txt\", \"utf-8\", deferred.makeNodeResolver());\nreturn deferred.promise;\n```\n\n### Long Stack Traces\n\nQ comes with optional support for “long stack traces,” wherein the `stack`\nproperty of `Error` rejection reasons is rewritten to be traced along\nasynchronous jumps instead of stopping at the most recent one. As an example:\n\n```js\nfunction theDepthsOfMyProgram() {\n  Q.delay(100).done(function explode() {\n    throw new Error(\"boo!\");\n  });\n}\n\ntheDepthsOfMyProgram();\n```\n\nusually would give a rather unhelpful stack trace looking something like\n\n```\nError: boo!\n    at explode (/path/to/test.js:3:11)\n    at _fulfilled (/path/to/test.js:q:54)\n    at resolvedValue.promiseDispatch.done (/path/to/q.js:823:30)\n    at makePromise.promise.promiseDispatch (/path/to/q.js:496:13)\n    at pending (/path/to/q.js:397:39)\n    at process.startup.processNextTick.process._tickCallback (node.js:244:9)\n```\n\nBut, if you turn this feature on by setting\n\n```js\nQ.longStackSupport = true;\n```\n\nthen the above code gives a nice stack trace to the tune of\n\n```\nError: boo!\n    at explode (/path/to/test.js:3:11)\nFrom previous event:\n    at theDepthsOfMyProgram (/path/to/test.js:2:16)\n    at Object.<anonymous> (/path/to/test.js:7:1)\n```\n\nNote how you can see the the function that triggered the async operation in the\nstack trace! This is very helpful for debugging, as otherwise you end up getting\nonly the first line, plus a bunch of Q internals, with no sign of where the\noperation started.\n\nThis feature does come with somewhat-serious performance and memory overhead,\nhowever. If you're working with lots of promises, or trying to scale a server\nto many users, you should probably keep it off. But in development, go for it!\n\n## Tests\n\nYou can view the results of the Q test suite [in your browser][tests]!\n\n[tests]: https://rawgithub.com/kriskowal/q/v1/spec/q-spec.html\n\n## License\n\nCopyright 2009–2014 Kristopher Michael Kowal\nMIT License (enclosed)\n\n","readmeFilename":"README.md","_id":"q@1.0.1","_shasum":"11872aeedee89268110b10a718448ffb10112a14","_from":"q@>=1.0.1 <1.1.0","_resolved":"https://registry.npmjs.org/q/-/q-1.0.1.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/node_modules/q/q.js","id":"q/q.js","options":{},"isModule":true,"mtime":1394498603000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/node_modules/q/queue.js","id":"q/queue.js","options":{},"isModule":true,"requiredModules":["q/q.js"],"mtime":1394498603000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/package.json","data":{"name":"mongoose-q","version":"0.0.16","description":"kriskowal's Q support for mongoose","author":{"name":"Dongsu Jang","email":"iolothebard@gmail.com"},"repository":{"type":"git","url":"git://git@github.com/iolo/mongoose-q.git"},"license":"MIT","engines":{"node":"~0.10"},"dependencies":{"q":"~1.0.1","mongoose":"~3.8.24"},"devDependencies":{"debug":"latest","mocha":"latest","pow-mongodb-fixtures":"latest","grunt":"latest","grunt-contrib-jshint":"latest","grunt-mocha-test":"latest"},"scripts":{"test":"mocha tests/*_test.js"},"gitHead":"d042c238fdf1f4717e00177b3e680fd4c212d497","bugs":{"url":"https://github.com/iolo/mongoose-q/issues"},"homepage":"https://github.com/iolo/mongoose-q","_id":"mongoose-q@0.0.16","_shasum":"c6b9cbfe3763114dcd3b4002311a6baa67990df6","_from":"mongoose-q@0.0.16","_npmVersion":"2.6.1","_nodeVersion":"0.12.0","_npmUser":{"name":"iolo","email":"iolothebard@gmail.com"},"maintainers":[{"name":"iolo","email":"iolothebard@gmail.com"}],"dist":{"shasum":"c6b9cbfe3763114dcd3b4002311a6baa67990df6","tarball":"http://registry.npmjs.org/mongoose-q/-/mongoose-q-0.0.16.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mongoose-q/-/mongoose-q-0.0.16.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/tests/fixtures.js","id":"mongoose-q/tests/fixtures.js","options":{},"isModule":true,"requiredModules":["pow-mongodb-fixtures"],"mtime":1425276207000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/tests/mongooseq_spread_test.js","id":"mongoose-q/tests/mongooseq_spread_test.js","options":{},"isModule":true,"requiredModules":["assert","mongoose-q/tests/fixtures.js","mongoose-q/index.js","mongoose/index.js","mongoose-q/tests/schemas.js","debug/node.js","pow-mongodb-fixtures"],"mtime":1423230190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/tests/mongooseq_test.js","id":"mongoose-q/tests/mongooseq_test.js","options":{},"isModule":true,"requiredModules":["assert","mongoose-q/tests/fixtures.js","mongoose-q/index.js","mongoose/index.js","mongoose-q/func_names.js","mongoose-q/tests/schemas.js","debug/node.js","pow-mongodb-fixtures"],"mtime":1425276900000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/tests/schemas.js","id":"mongoose-q/tests/schemas.js","options":{},"isModule":true,"requiredModules":["mongoose/index.js","debug/node.js"],"mtime":1425276451000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-q/tests/spread_example_issue18.js","id":"mongoose-q/tests/spread_example_issue18.js","options":{},"isModule":true,"requiredModules":["mongoose-q/index.js","mongoose/index.js"],"mtime":1423975254000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/Gruntfile.js","id":"mongoose-rest-endpoints/Gruntfile.js","options":{},"isModule":true,"requiredModules":["semver","util/util.js","fs","mongoose/index.js"],"mtime":1443817563000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/index.js","id":"mongoose-rest-endpoints/index.js","options":{},"isModule":true,"requiredModules":["coffee-script/register.js","./lib/endpoint","./lib/httperror","./lib/request","./lib/tracker","./lib/log"],"mtime":1443817563000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/index.js","id":"express/index.js","options":{},"isModule":true,"requiredModules":["./lib-cov/express","express/lib/express.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/application.js","id":"express/lib/application.js","options":{},"isModule":true,"requiredModules":["connect/index.js","express/lib/router/index.js","methods/index.js","express/lib/middleware.js","debug/node.js","express/lib/utils.js","express/lib/view.js","http"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/express.js","id":"express/lib/express.js","options":{},"isModule":true,"requiredModules":["connect/index.js","express/lib/application.js","express/lib/router/route.js","express/lib/router/index.js","express/lib/request.js","express/lib/response.js","express/index.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/middleware.js","id":"express/lib/middleware.js","options":{},"isModule":true,"requiredModules":["express/lib/utils.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/request.js","id":"express/lib/request.js","options":{},"isModule":true,"requiredModules":["http","express/lib/utils.js","connect/index.js","fresh/index.js","range-parser/index.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/response.js","id":"express/lib/response.js","options":{},"isModule":true,"requiredModules":["http","path","connect/index.js","cookie-signature/index.js","express/lib/utils.js","cookie/index.js","send/index.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/router/index.js","id":"express/lib/router/index.js","options":{},"isModule":true,"requiredModules":["express/lib/router/route.js","express/lib/utils.js","methods/index.js","debug/node.js","connect/index.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/router/route.js","id":"express/lib/router/route.js","options":{},"isModule":true,"requiredModules":["express/lib/utils.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/utils.js","id":"express/lib/utils.js","options":{},"isModule":true,"requiredModules":["connect/index.js","buffer-crc32/index.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/lib/view.js","id":"express/lib/view.js","options":{},"isModule":true,"requiredModules":["path","fs","express/lib/utils.js"],"mtime":1382552040000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/buffer-crc32/index.js","id":"buffer-crc32/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1357750443000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/buffer-crc32/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/buffer-crc32/package.json","data":{"author":{"name":"Brian J. Brennan","email":"brianloveswords@gmail.com","url":"http://bjb.io"},"name":"buffer-crc32","description":"A pure javascript CRC32 algorithm that plays nice with binary data","version":"0.2.1","contributors":[{"name":"Vladimir Kuznetsov"}],"homepage":"https://github.com/brianloveswords/buffer-crc32","repository":{"type":"git","url":"git://github.com/brianloveswords/buffer-crc32.git"},"main":"index.js","scripts":{"test":"tap tests/*.test.js"},"dependencies":{},"devDependencies":{"tap":"~0.2.5"},"optionalDependencies":{},"engines":{"node":"*"},"_id":"buffer-crc32@0.2.1","dist":{"shasum":"be3e5382fc02b6d6324956ac1af98aa98b08534c","tarball":"http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz"},"_npmVersion":"1.1.65","_npmUser":{"name":"brianloveswords","email":"brian@nyhacker.org"},"maintainers":[{"name":"brianloveswords","email":"brian@nyhacker.org"}],"directories":{},"_shasum":"be3e5382fc02b6d6324956ac1af98aa98b08534c","_resolved":"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz","_from":"buffer-crc32@0.2.1","bugs":{"url":"https://github.com/brianloveswords/buffer-crc32/issues"},"readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/buffer-crc32/tests/crc.test.js","id":"buffer-crc32/tests/crc.test.js","options":{},"isModule":true,"requiredModules":["buffer-crc32/index.js","tap"],"mtime":1357750443000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/commander/index.js","id":"commander/index.js","options":{},"isModule":true,"requiredModules":["events","child_process","keypress/index.js","fs","path","tty"],"mtime":1374164727000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/commander/node_modules/keypress/index.js","id":"keypress/index.js","options":{},"isModule":true,"mtime":1344461291000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/commander/node_modules/keypress/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/commander/node_modules/keypress/package.json","data":{"name":"keypress","version":"0.1.0","description":"Make any Node ReadableStream emit \"keypress\" events","author":{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://tootallnate.net"},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/TooTallNate/keypress.git"},"keywords":["keypress","readline","core"],"license":"MIT","readme":"keypress\n========\n### Make any Node ReadableStream emit \"keypress\" events\n\n\nPrevious to Node `v0.8.x`, there was an undocumented `\"keypress\"` event that\n`process.stdin` would emit when it was a TTY. Some people discovered this hidden\ngem, and started using it in their own code.\n\nNow in Node `v0.8.x`, this `\"keypress\"` event does not get emitted by default,\nbut rather only when it is being used in conjuction with the `readline` (or by\nextension, the `repl`) module.\n\nThis module is the exact logic from the node `v0.8.x` releases ripped out into its\nown module.\n\n__Bonus:__ Now with mouse support!\n\nInstallation\n------------\n\nInstall with `npm`:\n\n``` bash\n$ npm install keypress\n```\n\nOr add it to the `\"dependencies\"` section of your _package.json_ file.\n\n\nExample\n-------\n\n#### Listening for \"keypress\" events\n\n``` js\nvar keypress = require('keypress');\n\n// make `process.stdin` begin emitting \"keypress\" events\nkeypress(process.stdin);\n\n// listen for the \"keypress\" event\nprocess.stdin.on('keypress', function (ch, key) {\n  console.log('got \"keypress\"', key);\n  if (key && key.ctrl && key.name == 'c') {\n    process.stdin.pause();\n  }\n});\n\nprocess.stdin.setRawMode(true);\nprocess.stdin.resume();\n```\n\n#### Listening for \"mousepress\" events\n\n``` js\nvar keypress = require('keypress');\n\n// make `process.stdin` begin emitting \"mousepress\" (and \"keypress\") events\nkeypress(process.stdin);\n\n// you must enable the mouse events before they will begin firing\nkeypress.enableMouse(process.stdout);\n\nprocess.stdin.on('mousepress', function (info) {\n  console.log('got \"mousepress\" event at %d x %d', info.x, info.y);\n});\n\nprocess.on('exit', function () {\n  // disable mouse on exit, so that the state\n  // is back to normal for the terminal\n  keypress.disableMouse(process.stdout);\n});\n```\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"keypress@0.1.0","dist":{"shasum":"4a3188d4291b66b4f65edb99f806aa9ae293592a","tarball":"http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz"},"maintainers":[{"name":"tootallnate","email":"nathan@tootallnate.net"}],"directories":{},"_shasum":"4a3188d4291b66b4f65edb99f806aa9ae293592a","_resolved":"https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz","_from":"keypress@>=0.1.0 <0.2.0","bugs":{"url":"https://github.com/TooTallNate/keypress/issues"},"homepage":"https://github.com/TooTallNate/keypress#readme"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/commander/node_modules/keypress/test.js","id":"keypress/test.js","options":{},"isModule":true,"requiredModules":["keypress/index.js","tty"],"mtime":1344460841000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/commander/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/commander/package.json","data":{"name":"commander","version":"1.3.2","description":"the complete solution for node.js command-line programs","keywords":["command","option","parser","prompt","stdin"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"repository":{"type":"git","url":"git+https://github.com/visionmedia/commander.js.git"},"dependencies":{"keypress":"0.1.x"},"devDependencies":{"should":">= 0.0.1"},"scripts":{"test":"make test"},"main":"index","engines":{"node":">= 0.6.x"},"bugs":{"url":"https://github.com/visionmedia/commander.js/issues"},"_id":"commander@1.3.2","dist":{"shasum":"8a8f30ec670a6fdd64af52f1914b907d79ead5b5","tarball":"http://registry.npmjs.org/commander/-/commander-1.3.2.tgz"},"_from":"commander@1.3.2","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"8a8f30ec670a6fdd64af52f1914b907d79ead5b5","_resolved":"https://registry.npmjs.org/commander/-/commander-1.3.2.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/visionmedia/commander.js#readme"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/index.js","id":"connect/index.js","options":{},"isModule":true,"requiredModules":["./lib-cov/connect","connect/lib/connect.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/cache.js","id":"connect/lib/cache.js","options":{},"isModule":true,"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/connect.js","id":"connect/lib/connect.js","options":{},"isModule":true,"requiredModules":["events","connect/lib/proto.js","connect/lib/utils.js","path","fs","connect/lib/patch.js","connect/lib/middleware/static.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/index.js","id":"connect/lib/index.js","options":{},"isModule":true,"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/basicAuth.js","id":"connect/lib/middleware/basicAuth.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js","id":"connect/lib/middleware/bodyParser.js","options":{},"isModule":true,"requiredModules":["connect/lib/middleware/multipart.js","connect/lib/middleware/urlencoded.js","connect/lib/middleware/json.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/compress.js","id":"connect/lib/middleware/compress.js","options":{},"isModule":true,"requiredModules":["zlib","connect/lib/utils.js","negotiator/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js","id":"connect/lib/middleware/cookieParser.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js","cookie/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/cookieSession.js","id":"connect/lib/middleware/cookieSession.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js","connect/lib/middleware/session/cookie.js","debug/node.js","cookie-signature/index.js","buffer-crc32/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/csrf.js","id":"connect/lib/middleware/csrf.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js","uid2/index.js","crypto"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/directory.js","id":"connect/lib/middleware/directory.js","options":{},"isModule":true,"requiredModules":["fs","url","connect/lib/utils.js","path","negotiator/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/errorHandler.js","id":"connect/lib/middleware/errorHandler.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js","fs"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/favicon.js","id":"connect/lib/middleware/favicon.js","options":{},"isModule":true,"requiredModules":["fs","connect/lib/utils.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/json.js","id":"connect/lib/middleware/json.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js","raw-body/index.js","bytes/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/limit.js","id":"connect/lib/middleware/limit.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/logger.js","id":"connect/lib/middleware/logger.js","options":{},"isModule":true,"requiredModules":["bytes/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js","id":"connect/lib/middleware/methodOverride.js","options":{},"isModule":true,"requiredModules":["methods/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/multipart.js","id":"connect/lib/middleware/multipart.js","options":{},"isModule":true,"requiredModules":["multiparty/index.js","connect/lib/middleware/limit.js","connect/lib/utils.js","qs/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/query.js","id":"connect/lib/middleware/query.js","options":{},"isModule":true,"requiredModules":["qs/index.js","connect/lib/utils.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/responseTime.js","id":"connect/lib/middleware/responseTime.js","options":{},"isModule":true,"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/session/cookie.js","id":"connect/lib/middleware/session/cookie.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js","cookie/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/session/memory.js","id":"connect/lib/middleware/session/memory.js","options":{},"isModule":true,"requiredModules":["connect/lib/middleware/session/store.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/session/session.js","id":"connect/lib/middleware/session/session.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/session/store.js","id":"connect/lib/middleware/session/store.js","options":{},"isModule":true,"requiredModules":["events","connect/lib/middleware/session/session.js","connect/lib/middleware/session/cookie.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/session.js","id":"connect/lib/middleware/session.js","options":{},"isModule":true,"requiredModules":["connect/lib/middleware/session/session.js","debug/node.js","connect/lib/middleware/session/memory.js","cookie-signature/index.js","connect/lib/middleware/session/cookie.js","connect/lib/middleware/session/store.js","connect/lib/utils.js","uid2/index.js","buffer-crc32/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/static.js","id":"connect/lib/middleware/static.js","options":{},"isModule":true,"requiredModules":["send/index.js","connect/lib/utils.js","url"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/staticCache.js","id":"connect/lib/middleware/staticCache.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js","connect/lib/cache.js","fresh/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/timeout.js","id":"connect/lib/middleware/timeout.js","options":{},"isModule":true,"requiredModules":["debug/node.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/urlencoded.js","id":"connect/lib/middleware/urlencoded.js","options":{},"isModule":true,"requiredModules":["connect/lib/utils.js","raw-body/index.js","bytes/index.js","qs/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/middleware/vhost.js","id":"connect/lib/middleware/vhost.js","options":{},"isModule":true,"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/patch.js","id":"connect/lib/patch.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/proto.js","id":"connect/lib/proto.js","options":{},"isModule":true,"requiredModules":["http","connect/lib/utils.js","debug/node.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/lib/utils.js","id":"connect/lib/utils.js","options":{},"isModule":true,"requiredModules":["http","crypto","url","path","cookie-signature/index.js","pause/index.js","bytes/index.js"],"mtime":1382552039000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/bytes/component.json","id":"bytes/component.json","options":{},"isModule":true,"mtime":1351409975000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/bytes/index.js","id":"bytes/index.js","options":{},"isModule":true,"mtime":1351409975000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/bytes/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/bytes/package.json","data":{"name":"bytes","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"description":"byte size string parser / serializer","version":"0.2.0","main":"index.js","dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"_id":"bytes@0.2.0","dist":{"shasum":"aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0","tarball":"http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz"},"_npmVersion":"1.1.64","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0","_resolved":"https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz","_from":"bytes@0.2.0","readme":"ERROR: No README data found!"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/examples/azureblobstorage.js","id":"multiparty/examples/azureblobstorage.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","multiparty/index.js","azure"],"mtime":1381608349000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/examples/s3.js","id":"multiparty/examples/s3.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","multiparty/index.js","knox","batch"],"mtime":1365485148000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/examples/upload.js","id":"multiparty/examples/upload.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","multiparty/index.js"],"mtime":1365153230000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/index.js","id":"multiparty/index.js","options":{},"isModule":true,"requiredModules":["readable-stream/readable.js","util/util.js","fs","crypto","path","os","string_decoder/index.js","stream-counter/index.js"],"mtime":1381864698000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1388359679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["isarray/index.js","buffer","events","stream","core-util-is/lib/util.js","inherits/inherits.js","util/util.js","readable-stream/lib/_stream_duplex.js","string_decoder/index.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["buffer","core-util-is/lib/util.js","inherits/inherits.js","stream","readable-stream/lib/_stream_duplex.js"],"mtime":1408532090000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is.git"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","dist":{"shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","tarball":"http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"},"_from":"core-util-is@>=1.0.0 <1.1.0","_npmVersion":"1.3.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1443817568000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.1 <2.1.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1443817568000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1443817568000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","gitHead":"d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@>=0.10.0 <0.11.0","_npmVersion":"1.4.23","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"substack","email":"mail@substack.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","tarball":"http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz","readme":"ERROR: No README data found!"},"mtime":1443817568000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"1.1.13","description":"Streams3, a user-land copy of the stream library from Node.js v0.11.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","isarray":"0.0.1","string_decoder":"~0.10.x","inherits":"~2.0.1"},"devDependencies":{"tap":"~0.2.6"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/readable-stream.git"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","readme":"# readable-stream\n\n***Node-core streams for userland***\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png&months=6&height=3)](https://nodei.co/npm/readable-stream/)\n\nThis package is a mirror of the Streams2 and Streams3 implementations in Node-core.\n\nIf you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core.\n\n**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12.\n\n**readable-stream** uses proper patch-level versioning so if you pin to `\"~1.0.0\"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `\"~1.1.0\"`\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/readable-stream/issues"},"homepage":"https://github.com/isaacs/readable-stream","_id":"readable-stream@1.1.13","_shasum":"f6eef764f514c89e2b9e23146a75ba106756d23e","_from":"readable-stream@>=1.1.9 <1.2.0","_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz"},"mtime":1443817568000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_readable.js","stream","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1408530520000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/index.js","id":"stream-counter/index.js","options":{},"isModule":true,"requiredModules":["readable-stream/readable.js","util/util.js"],"mtime":1365190154000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json","data":{"name":"stream-counter","version":"0.2.0","description":"keeps track of how many bytes have been written to a stream","main":"index.js","scripts":{"test":"node test/test.js"},"repository":{"type":"git","url":"git://github.com/superjoe30/node-stream-counter.git"},"author":{"name":"Andrew Kelley","email":"superjoe30@gmail.com"},"license":"BSD","engines":{"node":">=0.8.0"},"dependencies":{"readable-stream":"~1.1.8"},"readme":"# stream-counter\n\nKeep track of how many bytes have been written to a stream.\n\n## Usage\n\n```js\nvar StreamCounter = require('stream-counter');\nvar counter = new StreamCounter();\ncounter.on('progress', function() {\n  console.log(\"progress\", counter.bytes);\n});\nfs.createReadStream('foo.txt').pipe(counter);\n```\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/superjoe30/node-stream-counter/issues"},"homepage":"https://github.com/superjoe30/node-stream-counter","_id":"stream-counter@0.2.0","_shasum":"ded266556319c8b0e222812b9cf3b26fa7d947de","_from":"stream-counter@>=0.2.0 <0.3.0","_resolved":"https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz"},"mtime":1443817568000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/test/test.js","id":"stream-counter/test/test.js","options":{},"isModule":true,"requiredModules":["stream-counter/index.js","fs","path","assert"],"mtime":1365190963000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/package.json","data":{"name":"multiparty","version":"2.2.0","description":"multipart/form-data parser which supports streaming","repository":{"type":"git","url":"git+ssh://git@github.com/superjoe30/node-multiparty.git"},"keywords":["file","upload","formidable","stream","s3"],"devDependencies":{"findit":"0.1.1","hashish":"0.0.4","mocha":"~1.8.2","request":"~2.16.6","mkdirp":"~0.3.5","superagent":"~0.14.1"},"scripts":{"test":"ulimit -n 500 && mocha --timeout 4000 --reporter spec --recursive test/test.js"},"engines":{"node":">=0.8.0"},"license":"MIT","dependencies":{"readable-stream":"~1.1.9","stream-counter":"~0.2.0"},"bugs":{"url":"https://github.com/superjoe30/node-multiparty/issues"},"_id":"multiparty@2.2.0","dist":{"shasum":"a567c2af000ad22dc8f2a653d91978ae1f5316f4","tarball":"http://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz"},"_from":"multiparty@2.2.0","_npmVersion":"1.3.11","_npmUser":{"name":"superjoe","email":"superjoe30@gmail.com"},"maintainers":[{"name":"superjoe","email":"superjoe30@gmail.com"}],"directories":{},"_shasum":"a567c2af000ad22dc8f2a653d91978ae1f5316f4","_resolved":"https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/superjoe30/node-multiparty#readme"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/bench-multipart-parser.js","id":"multiparty/test/bench-multipart-parser.js","options":{},"isModule":true,"requiredModules":["assert","multiparty/index.js"],"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/fixture/js/encoding.js","id":"multiparty/test/fixture/js/encoding.js","options":{},"isModule":true,"mtime":1366007209000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/fixture/js/no-filename.js","id":"multiparty/test/fixture/js/no-filename.js","options":{},"isModule":true,"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/fixture/js/preamble.js","id":"multiparty/test/fixture/js/preamble.js","options":{},"isModule":true,"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/fixture/js/special-chars-in-filename.js","id":"multiparty/test/fixture/js/special-chars-in-filename.js","options":{},"isModule":true,"mtime":1366007209000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/fixture/js/workarounds.js","id":"multiparty/test/fixture/js/workarounds.js","options":{},"isModule":true,"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/fixture/multipart.js","id":"multiparty/test/fixture/multipart.js","options":{},"isModule":true,"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/record.js","id":"multiparty/test/record.js","options":{},"isModule":true,"requiredModules":["http","fs"],"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-connection-aborted.js","id":"multiparty/test/standalone/test-connection-aborted.js","options":{},"isModule":true,"requiredModules":["assert","http","net","multiparty/index.js"],"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-content-transfer-encoding.js","id":"multiparty/test/standalone/test-content-transfer-encoding.js","options":{},"isModule":true,"requiredModules":["assert","multiparty/index.js","http","path"],"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-invalid.js","id":"multiparty/test/standalone/test-invalid.js","options":{},"isModule":true,"requiredModules":["superagent/lib/node/index.js","multiparty/index.js","http"],"mtime":1366007209000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-issue-15.js","id":"multiparty/test/standalone/test-issue-15.js","options":{},"isModule":true,"requiredModules":["http","multiparty/index.js","assert","superagent/lib/node/index.js","path"],"mtime":1381094924000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-issue-19.js","id":"multiparty/test/standalone/test-issue-19.js","options":{},"isModule":true,"requiredModules":["assert","http","net","multiparty/index.js"],"mtime":1381864871000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-issue-21.js","id":"multiparty/test/standalone/test-issue-21.js","options":{},"isModule":true,"requiredModules":["assert","http","net","multiparty/index.js"],"mtime":1381764125000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-issue-4.js","id":"multiparty/test/standalone/test-issue-4.js","options":{},"isModule":true,"requiredModules":["http","multiparty/index.js","assert","superagent/lib/node/index.js","path"],"mtime":1366007209000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-issue-46.js","id":"multiparty/test/standalone/test-issue-46.js","options":{},"isModule":true,"requiredModules":["http","multiparty/index.js","request/index.js","assert"],"mtime":1365137097000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/standalone/test-issue-5.js","id":"multiparty/test/standalone/test-issue-5.js","options":{},"isModule":true,"requiredModules":["assert","http","net","multiparty/index.js"],"mtime":1381864452000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/multiparty/test/test.js","id":"multiparty/test/test.js","options":{},"isModule":true,"requiredModules":["child_process","findit","path","hashish","fs","http","net","assert","multiparty/index.js","mkdirp/index.js"],"mtime":1381852130000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/examples/accept.js","id":"negotiator/examples/accept.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/negotiator.js","http"],"mtime":1345470435000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/examples/charset.js","id":"negotiator/examples/charset.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/negotiator.js","http","buffer","iconv"],"mtime":1344703062000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/examples/encoding.js","id":"negotiator/examples/encoding.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/negotiator.js","http","gzip-buffer"],"mtime":1379615428000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/examples/language.js","id":"negotiator/examples/language.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/negotiator.js","http"],"mtime":1345470851000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/lib/charset.js","id":"negotiator/lib/charset.js","options":{},"isModule":true,"mtime":1379615393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/lib/encoding.js","id":"negotiator/lib/encoding.js","options":{},"isModule":true,"mtime":1379615377000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/lib/language.js","id":"negotiator/lib/language.js","options":{},"isModule":true,"mtime":1379615406000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/lib/mediaType.js","id":"negotiator/lib/mediaType.js","options":{},"isModule":true,"mtime":1379615419000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/lib/negotiator.js","id":"negotiator/lib/negotiator.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/charset.js","negotiator/lib/encoding.js","negotiator/lib/language.js","negotiator/lib/mediaType.js"],"mtime":1344704575000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/package.json","data":{"name":"negotiator","description":"HTTP content negotiation","version":"0.2.8","author":{"name":"Federico Romero","email":"federico.romero@outboxlabs.com"},"contributors":[{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"}],"repository":{"type":"git","url":"git://github.com/federomero/negotiator.git"},"keywords":["http","content negotiation","accept","accept-language","accept-encoding","accept-charset"],"engine":"node >= 0.6","license":"MIT","devDependencies":{"nodeunit":"0.6.x"},"scripts":{"test":"nodeunit test"},"optionalDependencies":{},"engines":{"node":"*"},"main":"lib/negotiator.js","_id":"negotiator@0.2.8","dependencies":{},"dist":{"shasum":"adfd207a3875c4d37095729c2e7c283c5ba2ee72","tarball":"http://registry.npmjs.org/negotiator/-/negotiator-0.2.8.tgz"},"maintainers":[{"name":"federomero","email":"federomero@gmail.com"}],"directories":{},"_shasum":"adfd207a3875c4d37095729c2e7c283c5ba2ee72","_resolved":"https://registry.npmjs.org/negotiator/-/negotiator-0.2.8.tgz","_from":"negotiator@0.2.8","bugs":{"url":"https://github.com/federomero/negotiator/issues"},"readme":"ERROR: No README data found!","homepage":"https://github.com/federomero/negotiator#readme"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/test/charset.js","id":"negotiator/test/charset.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/charset.js"],"mtime":1376193556000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/test/encoding.js","id":"negotiator/test/encoding.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/encoding.js"],"mtime":1376193885000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/test/language.js","id":"negotiator/test/language.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/language.js"],"mtime":1376193813000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/negotiator/test/mediaType.js","id":"negotiator/test/mediaType.js","options":{},"isModule":true,"requiredModules":["negotiator/lib/mediaType.js"],"mtime":1376193401000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/pause/index.js","id":"pause/index.js","options":{},"isModule":true,"mtime":1342720822000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/pause/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/pause/package.json","data":{"name":"pause","version":"0.0.1","description":"Pause streams...","keywords":[],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"main":"index","_id":"pause@0.0.1","dist":{"shasum":"1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d","tarball":"http://registry.npmjs.org/pause/-/pause-0.0.1.tgz"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d","_resolved":"https://registry.npmjs.org/pause/-/pause-0.0.1.tgz","_from":"pause@0.0.1","readme":"ERROR: No README data found!"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/qs/index.js","id":"qs/index.js","options":{},"isModule":true,"mtime":1368459125000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/qs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/qs/package.json","data":{"name":"qs","description":"querystring parser","version":"0.6.5","keywords":["query string","parser","component"],"repository":{"type":"git","url":"git://github.com/visionmedia/node-querystring.git"},"devDependencies":{"mocha":"*","expect.js":"*"},"scripts":{"test":"make test"},"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"main":"index","engines":{"node":"*"},"_id":"qs@0.6.5","dist":{"shasum":"294b268e4b0d4250f6dde19b3b8b34935dff14ef","tarball":"http://registry.npmjs.org/qs/-/qs-0.6.5.tgz"},"_from":"qs@0.6.5","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"294b268e4b0d4250f6dde19b3b8b34935dff14ef","_resolved":"https://registry.npmjs.org/qs/-/qs-0.6.5.tgz"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/raw-body/index.js","id":"raw-body/index.js","options":{},"isModule":true,"mtime":1381430965000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/raw-body/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/raw-body/package.json","data":{"name":"raw-body","description":"Get and validate the raw body of a readable stream.","version":"0.0.3","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/stream-utils/raw-body.git"},"bugs":{"url":"https://github.com/stream-utils/raw-body/issues"},"devDependencies":{"mocha":"~1.12"},"scripts":{"test":"make test"},"_id":"raw-body@0.0.3","dist":{"shasum":"0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a","tarball":"http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz"},"_from":"raw-body@0.0.3","_npmVersion":"1.3.11","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"directories":{},"_shasum":"0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a","_resolved":"https://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/stream-utils/raw-body#readme"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/uid2/index.js","id":"uid2/index.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1361312882000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/uid2/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/node_modules/uid2/package.json","data":{"name":"uid2","description":"strong uid","tags":["uid"],"version":"0.0.2","dependencies":{},"_id":"uid2@0.0.2","readme":"ERROR: No README.md file found!","dist":{"shasum":"107fb155c82c1136620797ed4c88cf2b08f6aab8","tarball":"http://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz"},"_from":"uid2@0.0.2","_npmVersion":"1.2.10","_npmUser":{"name":"coreh","email":"thecoreh@gmail.com"},"maintainers":[{"name":"coreh","email":"thecoreh@gmail.com"}],"directories":{},"_shasum":"107fb155c82c1136620797ed4c88cf2b08f6aab8","_resolved":"https://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz"},"mtime":1443817567000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/connect/package.json","data":{"name":"connect","version":"2.10.1","description":"High performance middleware framework","keywords":["framework","web","middleware","connect","rack"],"repository":{"type":"git","url":"git://github.com/senchalabs/connect.git"},"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"dependencies":{"qs":"0.6.5","cookie-signature":"1.0.1","buffer-crc32":"0.2.1","cookie":"0.1.0","send":"0.1.4","bytes":"0.2.0","fresh":"0.2.0","pause":"0.0.1","uid2":"0.0.2","debug":"*","methods":"0.0.1","raw-body":"0.0.3","negotiator":"0.2.8","multiparty":"2.2.0"},"devDependencies":{"should":">= 2.0.0","mocha":"*","jade":"*","dox":"*"},"licenses":[{"type":"MIT","url":"https://raw.github.com/senchalabs/connect/master/LICENSE"}],"main":"index","engines":{"node":">= 0.8.0"},"scripts":{"test":"make"},"bugs":{"url":"https://github.com/senchalabs/connect/issues"},"_id":"connect@2.10.1","dist":{"shasum":"dbc69392527b36935229dc29e372249aebac6448","tarball":"http://registry.npmjs.org/connect/-/connect-2.10.1.tgz"},"_from":"connect@2.10.1","_npmVersion":"1.3.11","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"creationix","email":"tim@creationix.com"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"directories":{},"_shasum":"dbc69392527b36935229dc29e372249aebac6448","_resolved":"https://registry.npmjs.org/connect/-/connect-2.10.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/senchalabs/connect#readme"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/cookie/index.js","id":"cookie/index.js","options":{},"isModule":true,"mtime":1367435852000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/cookie/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/cookie/package.json","data":{"author":{"name":"Roman Shtylman","email":"shtylman@gmail.com"},"name":"cookie","description":"cookie parsing and serialization","version":"0.1.0","repository":{"type":"git","url":"git://github.com/shtylman/node-cookie.git"},"keywords":["cookie","cookies"],"main":"index.js","scripts":{"test":"mocha"},"dependencies":{},"devDependencies":{"mocha":"1.x.x"},"optionalDependencies":{},"engines":{"node":"*"},"_id":"cookie@0.1.0","dist":{"shasum":"90eb469ddce905c866de687efc43131d8801f9d0","tarball":"http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz"},"_from":"cookie@0.1.0","_npmVersion":"1.2.18","_npmUser":{"name":"shtylman","email":"shtylman@gmail.com"},"maintainers":[{"name":"shtylman","email":"shtylman@gmail.com"}],"directories":{},"_shasum":"90eb469ddce905c866de687efc43131d8801f9d0","_resolved":"https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz","bugs":{"url":"https://github.com/shtylman/node-cookie/issues"},"readme":"ERROR: No README data found!","homepage":"https://github.com/shtylman/node-cookie#readme"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/cookie/test/parse.js","id":"cookie/test/parse.js","options":{},"isModule":true,"requiredModules":["assert","cookie/index.js"],"mtime":1367435852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/cookie/test/serialize.js","id":"cookie/test/serialize.js","options":{},"isModule":true,"requiredModules":["assert","cookie/index.js"],"mtime":1367435852000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/cookie-signature/index.js","id":"cookie-signature/index.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1366053954000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/cookie-signature/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/cookie-signature/package.json","data":{"name":"cookie-signature","version":"1.0.1","description":"Sign and unsign cookies","keywords":["cookie","sign","unsign"],"author":{"name":"TJ Holowaychuk","email":"tj@learnboost.com"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"main":"index","_id":"cookie-signature@1.0.1","dist":{"shasum":"44e072148af01e6e8e24afbf12690d68ae698ecb","tarball":"http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz"},"_from":"cookie-signature@1.0.1","_npmVersion":"1.2.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"44e072148af01e6e8e24afbf12690d68ae698ecb","_resolved":"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/bower.json","id":"debug/bower.json","options":{},"isModule":true,"mtime":1431242465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/browser.js","id":"debug/browser.js","options":{},"isModule":true,"requiredModules":["debug/debug.js"],"mtime":1431199632000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/component.json","id":"debug/component.json","options":{},"isModule":true,"mtime":1431242465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"requiredModules":["ms/index.js"],"mtime":1408510177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/node.js","id":"debug/node.js","options":{},"isModule":true,"requiredModules":["tty","util/util.js","debug/debug.js","fs","net"],"mtime":1426272474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1429572968000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/node_modules/ms/package.json","data":{"name":"ms","version":"0.7.1","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"gitHead":"713dcf26d9e6fd9dbc95affe7eff9783b7f1b909","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.7.1","scripts":{},"_shasum":"9cd13c03adbff25b65effde7ce864ee952017098","_from":"ms@0.7.1","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"rauchg","email":"rauchg@gmail.com"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"}],"dist":{"shasum":"9cd13c03adbff25b65effde7ce864ee952017098","tarball":"http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"},"mtime":1443817567000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/debug/package.json","data":{"name":"debug","version":"2.2.0","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io"}],"license":"MIT","dependencies":{"ms":"0.7.1"},"devDependencies":{"browserify":"9.0.3","mocha":"*"},"main":"./node.js","browser":"./browser.js","component":{"scripts":{"debug/index.js":"browser.js","debug/debug.js":"debug.js"}},"readme":"# debug\n\n  tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n  , http = require('http')\n  , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n  debug(req.method + ' ' + req.url);\n  res.end('hello\\n');\n}).listen(3000, function(){\n  debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n  debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n  ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n  ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n#### Windows note\n\n On Windows the environment variable is set using the `set` command.\n\n ```cmd\n set DEBUG=*,-not_this\n ```\n\nThen, run the program to be debugged as usual.\n\n## Millisecond diff\n\n  When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n  ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n  When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n  ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n  The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n  You can also exclude specific debuggers by prefixing them with a \"-\" character.  For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n  Debug works in the browser as well, currently persisted by `localStorage`. Consider the situation shown below where you have `worker:a` and `worker:b`, and wish to debug both. Somewhere in the code on your page, include:\n\n```js\nwindow.myDebug = require(\"debug\");\n```\n\n  (\"debug\" is a global object in the browser so we give this object a different name.) When your page is open in the browser, type the following in the console:\n\n```js\nmyDebug.enable(\"worker:*\")\n```\n\n  Refresh the page. Debug output will continue to be sent to the console until it is disabled by typing `myDebug.disable()` in the console.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n  a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n  b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n  Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n  option. These are WebKit web inspectors, Firefox ([since version\n  31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n  and the Firebug plugin for Firefox (any version).\n\n  Colored output looks something like:\n\n  ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stdout.js_:\n\n```js\nvar debug = require('debug');\nvar error = debug('app:error');\n\n// by default stderr is used\nerror('goes to stderr!');\n\nvar log = debug('app:log');\n// set this namespace to log via console.log\nlog.log = console.log.bind(console); // don't forget to bind to console!\nlog('goes to stdout');\nerror('still goes to stderr!');\n\n// set all output to go via console.info\n// overrides all per-namespace log settings\ndebug.log = console.info.bind(console);\nerror('now goes to stdout via console.info');\nlog('still goes to stdout, but via console.info now');\n```\n\n### Save debug output to a file\n\nYou can save all debug statements to a file by piping them.\n\nExample:\n\n```bash\n$ DEBUG_FD=3 node your-app.js 3> whatever.log\n```\n\n## Authors\n\n - TJ Holowaychuk\n - Nathan Rajlich\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@2.2.0","_shasum":"f87057e995b1a1f6ae6a4960664137bc56f039da","_from":"debug@*","_resolved":"https://registry.npmjs.org/debug/-/debug-2.2.0.tgz","scripts":{}},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/fresh/index.js","id":"fresh/index.js","options":{},"isModule":true,"mtime":1376170994000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/fresh/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/fresh/package.json","data":{"name":"fresh","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"description":"HTTP response freshness testing","version":"0.2.0","main":"index.js","repository":{"type":"git","url":"git+https://github.com/visionmedia/node-fresh.git"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"bugs":{"url":"https://github.com/visionmedia/node-fresh/issues"},"_id":"fresh@0.2.0","dist":{"shasum":"bfd9402cf3df12c4a4c310c79f99a3dde13d34a7","tarball":"http://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz"},"_from":"fresh@0.2.0","_npmVersion":"1.3.4","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"bfd9402cf3df12c4a4c310c79f99a3dde13d34a7","_resolved":"https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/visionmedia/node-fresh#readme"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/methods/index.js","id":"methods/index.js","options":{},"isModule":true,"mtime":1340735657000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/methods/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/methods/package.json","data":{"name":"methods","version":"0.0.1","description":"HTTP methods that node supports","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["http","methods"],"author":{"name":"TJ Holowaychuk"},"license":"MIT","_id":"methods@0.0.1","dist":{"shasum":"277c90f8bef39709645a8371c51c3b6c648e068c","tarball":"http://registry.npmjs.org/methods/-/methods-0.0.1.tgz"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"277c90f8bef39709645a8371c51c3b6c648e068c","_resolved":"https://registry.npmjs.org/methods/-/methods-0.0.1.tgz","_from":"methods@0.0.1","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1345465530000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.3.5","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"./index","keywords":["mkdir","directory"],"repository":{"type":"git","url":"git+ssh://git@github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"devDependencies":{"tap":"~0.4.0"},"license":"MIT","readme":"# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require('mkdirp');\n    \nmkdirp('/tmp/foo/bar/baz', function (err) {\n    if (err) console.error(err)\n    else console.log('pow!')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require('mkdirp');\n```\n\n## mkdirp(dir, mode, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\n## mkdirp.sync(dir, mode)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp","_id":"mkdirp@0.3.5","_shasum":"de3e5f8961c88c787ee1368df849ac4413eca8d7","_from":"mkdirp@0.3.5","_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1338911626000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1337759731000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/range-parser/index.js","id":"range-parser/index.js","options":{},"isModule":true,"mtime":1339980854000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/range-parser/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/range-parser/package.json","data":{"name":"range-parser","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"description":"Range header field string parser","version":"0.0.4","main":"index.js","dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"_id":"range-parser@0.0.4","optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.19","_nodeVersion":"v0.6.16","_defaultsLoaded":true,"dist":{"shasum":"c0427ffef51c10acba0782a46c9602e744ff620b","tarball":"http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"c0427ffef51c10acba0782a46c9602e744ff620b","_resolved":"https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz","_from":"range-parser@0.0.4","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/index.js","id":"send/index.js","options":{},"isModule":true,"requiredModules":["send/lib/send.js"],"mtime":1354920889000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/lib/send.js","id":"send/lib/send.js","options":{},"isModule":true,"requiredModules":["debug/node.js","range-parser/index.js","stream","mime/mime.js","fresh/index.js","path","http","fs","send/lib/utils.js"],"mtime":1373319431000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/lib/utils.js","id":"send/lib/utils.js","options":{},"isModule":true,"mtime":1354920889000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/node_modules/mime/mime.js","id":"mime/mime.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1376588058000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/node_modules/mime/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/node_modules/mime/package.json","data":{"author":{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"},"contributors":[{"name":"Benjamin Thomas","email":"benjamin@benjaminthomas.org","url":"http://github.com/bentomas"}],"dependencies":{},"description":"A comprehensive library for mime-type mapping","devDependencies":{},"keywords":["util","mime"],"main":"mime.js","name":"mime","repository":{"url":"git+https://github.com/broofa/node-mime.git","type":"git"},"version":"1.2.11","bugs":{"url":"https://github.com/broofa/node-mime/issues"},"_id":"mime@1.2.11","dist":{"shasum":"58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10","tarball":"http://registry.npmjs.org/mime/-/mime-1.2.11.tgz"},"_from":"mime@>=1.2.9 <1.3.0","_npmVersion":"1.3.6","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"maintainers":[{"name":"broofa","email":"robert@broofa.com"},{"name":"bentomas","email":"benjamin@benjaminthomas.org"}],"directories":{},"_shasum":"58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10","_resolved":"https://registry.npmjs.org/mime/-/mime-1.2.11.tgz","readme":"# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n    npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.\n\n    var mime = require('mime');\n\n    mime.lookup('/path/to/file.txt');         // => 'text/plain'\n    mime.lookup('file.txt');                  // => 'text/plain'\n    mime.lookup('.TXT');                      // => 'text/plain'\n    mime.lookup('htm');                       // => 'text/html'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n    mime.extension('text/html');                 // => 'html'\n    mime.extension('application/octet-stream');  // => 'bin'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n    mime.charsets.lookup('text/plain');        // => 'UTF-8'\n\n(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project.  If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n    mime.define({\n        'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],\n        'application/x-my-type': ['x-mt', 'x-mtt'],\n        // etc ...\n    });\n\n    mime.lookup('x-sft');                 // => 'text/x-some-format'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n    mime.extension('text/x-some-format'); // => 'x-sf'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache \".types\" format file\n\n    mime.load('./my_project.types');\n\nThe .types file format is simple -  See the `types` dir for examples.\n","readmeFilename":"README.md","homepage":"https://github.com/broofa/node-mime#readme"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/node_modules/mime/test.js","id":"mime/test.js","options":{},"isModule":true,"requiredModules":["mime/mime.js","assert","path"],"mtime":1376588031000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/node_modules/send/package.json","data":{"name":"send","version":"0.1.4","description":"Better streaming static file server with Range and conditional-GET support","keywords":["static","file","server"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{"debug":"*","mime":"~1.2.9","fresh":"0.2.0","range-parser":"0.0.4"},"devDependencies":{"mocha":"*","should":"*","supertest":"0.0.1","connect":"2.x"},"scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/visionmedia/send.git"},"main":"index","bugs":{"url":"https://github.com/visionmedia/send/issues"},"_id":"send@0.1.4","dist":{"shasum":"be70d8d1be01de61821af13780b50345a4f71abd","tarball":"http://registry.npmjs.org/send/-/send-0.1.4.tgz"},"_from":"send@0.1.4","_npmVersion":"1.3.4","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"be70d8d1be01de61821af13780b50345a4f71abd","_resolved":"https://registry.npmjs.org/send/-/send-0.1.4.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/visionmedia/send#readme"},"mtime":1443817566000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/express/package.json","data":{"name":"express","description":"Sinatra inspired web development framework","version":"3.4.3","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"Ciaran Jessup","email":"ciaranj@gmail.com"},{"name":"Guillermo Rauch","email":"rauchg@gmail.com"}],"dependencies":{"connect":"2.10.1","commander":"1.3.2","range-parser":"0.0.4","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.0","methods":"0.0.1","send":"0.1.4","cookie-signature":"1.0.1","debug":"*"},"devDependencies":{"ejs":"*","mocha":"*","jade":"0.30.0","hjs":"*","stylus":"*","should":"2","connect-redis":"*","marked":"*","supertest":"0.6.0"},"keywords":["express","framework","sinatra","web","rest","restful","router","app","api"],"repository":{"type":"git","url":"git://github.com/visionmedia/express"},"main":"index","bin":{"express":"./bin/express"},"scripts":{"prepublish":"npm prune","test":"make test"},"engines":{"node":"*"},"bugs":{"url":"https://github.com/visionmedia/express/issues"},"_id":"express@3.4.3","dist":{"shasum":"d0d237d60cd9c741b50da88379527e2a1d804627","tarball":"http://registry.npmjs.org/express/-/express-3.4.3.tgz"},"_from":"express@3.4.3","_npmVersion":"1.3.11","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"jongleberry","email":"jonathanrichardong@gmail.com"}],"directories":{},"_shasum":"d0d237d60cd9c741b50da88379527e2a1d804627","_resolved":"https://registry.npmjs.org/express/-/express-3.4.3.tgz"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/hooks/hooks.alt.js","id":"hooks/hooks.alt.js","options":{},"isModule":true,"mtime":1330133892000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/hooks/hooks.js","id":"hooks/hooks.js","options":{},"isModule":true,"mtime":1382055492000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/hooks/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/hooks/package.json","data":{"name":"hooks","description":"Adds pre and post hook functionality to your JavaScript methods.","version":"0.3.2","keywords":["node","hooks","middleware","pre","post"],"homepage":"https://github.com/bnoguchi/hooks-js/","repository":{"type":"git","url":"git://github.com/bnoguchi/hooks-js.git"},"author":{"name":"Brian Noguchi","email":"brian.noguchi@gmail.com","url":"https://github.com/bnoguchi/"},"main":"./hooks.js","directories":{"lib":"."},"scripts":{"test":"make test"},"dependencies":{},"devDependencies":{"expresso":">=0.7.6","should":">=0.2.1","underscore":">=1.1.4"},"engines":{"node":">=0.4.0"},"licenses":["MIT"],"optionalDependencies":{},"readme":"hooks\n============\n\nAdd pre and post middleware hooks to your JavaScript methods.\n\n## Installation\n    npm install hooks\n\n## Motivation\nSuppose you have a JavaScript object with a `save` method.\n\nIt would be nice to be able to declare code that runs before `save` and after `save`.\nFor example, you might want to run validation code before every `save`,\nand you might want to dispatch a job to a background job queue after `save`.\n\nOne might have an urge to hard code this all into `save`, but that turns out to\ncouple all these pieces of functionality (validation, save, and job creation) more\ntightly than is necessary. For example, what if someone does not want to do background\njob creation after the logical save?\n\nIt is nicer to tack on functionality using what we call `pre` and `post` hooks. These\nare functions that you define and that you direct to execute before or after particular\nmethods.\n\n## Example\nWe can use `hooks` to add validation and background jobs in the following way:\n\n```javascript\nvar hooks = require('hooks')\n  , Document = require('./path/to/some/document/constructor');\n\n// Add hooks' methods: `hook`, `pre`, and `post`\nfor (var k in hooks) {\n  Document[k] = hooks[k];\n}\n\n// Define a new method that is able to invoke pre and post middleware\nDocument.hook('save', Document.prototype.save);\n\n// Define a middleware function to be invoked before 'save'\nDocument.pre('save', function validate (next) {\n  // The `this` context inside of `pre` and `post` functions\n  // is the Document instance\n  if (this.isValid()) next();      // next() passes control to the next middleware\n                                   // or to the target method itself\n  else next(new Error(\"Invalid\")); // next(error) invokes an error callback\n});\n\n// Define a middleware function to be invoked after 'save'\nDocument.post('save', function createJob (next) {\n  this.sendToBackgroundQueue();\n  next();\n});\n```\n\nIf you already have defined `Document.prototype` methods for which you want pres and posts,\nthen you do not need to explicitly invoke `Document.hook(...)`. Invoking `Document.pre(methodName, fn)`\nor `Document.post(methodName, fn)` will automatically and lazily change `Document.prototype[methodName]`\nso that it plays well with `hooks`. An equivalent way to implement the previous example is:\n\n```javascript\nvar hooks = require('hooks')\n  , Document = require('./path/to/some/document/constructor');\n\n// Add hooks' methods: `hook`, `pre`, and `post`\nfor (var k in hooks) {\n  Document[k] = hooks[k];\n}\n\nDocument.prototype.save = function () {\n  // ...\n};\n\n// Define a middleware function to be invoked before 'save'\nDocument.pre('save', function validate (next) {\n  // The `this` context inside of `pre` and `post` functions\n  // is the Document instance\n  if (this.isValid()) next();      // next() passes control to the next middleware\n                                   // or to the target method itself\n  else next(new Error(\"Invalid\")); // next(error) invokes an error callback\n});\n\n// Define a middleware function to be invoked after 'save'\nDocument.post('save', function createJob (next) {\n  this.sendToBackgroundQueue();\n  next();\n});\n```\n\n## Pres and Posts as Middleware\nWe structure pres and posts as middleware to give you maximum flexibility:\n\n1. You can define **multiple** pres (or posts) for a single method.\n2. These pres (or posts) are then executed as a chain of methods.\n3. Any functions in this middleware chain can choose to halt the chain's execution by `next`ing an Error from that middleware function. If this occurs, then none of the other middleware in the chain will execute, and the main method (e.g., `save`) will not execute. This is nice, for example, when we don't want a document to save if it is invalid.\n\n## Defining multiple pres (or posts)\n`pre` and `post` are chainable, so you can define multiple via:\n```javascript\nDocument.pre('save', function (next) {\n  console.log(\"hello\");\n  next();\n}).pre('save', function (next) {\n  console.log(\"world\");\n  next();\n});\n\nDocument.post('save', function (next) {\n  console.log(\"hello\");\n  next();\n}).post('save', function (next) {\n  console.log(\"world\");\n  next();\n});\n```\n\nAs soon as one pre finishes executing, the next one will be invoked, and so on.\n\n## Error Handling\nYou can define a default error handler by passing a 2nd function as the 3rd argument to `hook`:\n```javascript\nDocument.hook('set', function (path, val) {\n  this[path] = val;\n}, function (err) {\n  // Handler the error here\n  console.error(err);\n});\n```\n\nThen, we can pass errors to this handler from a pre or post middleware function:\n```javascript\nDocument.pre('set', function (next, path, val) {\n  next(new Error());\n});\n```\n\nIf you do not set up a default handler, then `hooks` makes the default handler that just throws the `Error`.\n\nThe default error handler can be over-rided on a per method invocation basis.\n\nIf the main method that you are surrounding with pre and post middleware expects its last argument to be a function\nwith callback signature `function (error, ...)`, then that callback becomes the error handler, over-riding the default\nerror handler you may have set up.\n\n```javascript\nDocument.hook('save', function (callback) {\n  // Save logic goes here\n  ...\n});\n\nvar doc = new Document();\ndoc.save( function (err, saved) {\n  // We can pass err via `next` in any of our pre or post middleware functions\n  if (err) console.error(err);\n\n  // Rest of callback logic follows ...\n});\n```\n\n## Mutating Arguments via Middleware\n`pre` and `post` middleware can also accept the intended arguments for the method\nthey augment. This is useful if you want to mutate the arguments before passing\nthem along to the next middleware and eventually pass a mutated arguments list to\nthe main method itself.\n\nAs a simple example, let's define a method `set` that just sets a key, value pair.\nIf we want to namespace the key, we can do so by adding a `pre` middleware hook\nthat runs before `set`, alters the arguments by namespacing the `key` argument, and passes them onto `set`:\n\n```javascript\nDocument.hook('set', function (key, val) {\n  this[key] = val;\n});\nDocument.pre('set', function (next, key, val) {\n  next('namespace-' + key, val);\n});\nvar doc = new Document();\ndoc.set('hello', 'world');\nconsole.log(doc.hello); // undefined\nconsole.log(doc['namespace-hello']); // 'world'\n```\n\nAs you can see above, we pass arguments via `next`.\n\nIf you are not mutating the arguments, then you can pass zero arguments\nto `next`, and the next middleware function will still have access\nto the arguments.\n\n```javascript\nDocument.hook('set', function (key, val) {\n  this[key] = val;\n});\nDocument.pre('set', function (next, key, val) {\n  // I have access to key and val here\n  next(); // We don't need to pass anything to next\n});\nDocument.pre('set', function (next, key, val) {\n  // And I still have access to the original key and val here\n  next();\n});\n```\n\nFinally, you can add arguments that downstream middleware can also see:\n\n```javascript\n// Note that in the definition of `set`, there is no 3rd argument, options\nDocument.hook('set', function (key, val) {\n  // But...\n  var options = arguments[2]; // ...I have access to an options argument\n                              // because of pre function pre2 (defined below)\n  console.log(options); // '{debug: true}'\n  this[key] = val;\n});\nDocument.pre('set', function pre1 (next, key, val) {\n  // I only have access to key and val arguments\n  console.log(arguments.length); // 3\n  next(key, val, {debug: true});\n});\nDocument.pre('set', function pre2 (next, key, val, options) {\n  console.log(arguments.length); // 4\n  console.log(options); // '{ debug: true}'\n  next();\n});\nDocument.pre('set', function pre3 (next, key, val, options) {\n  // I still have access to key, val, AND the options argument introduced via the preceding middleware\n  console.log(arguments.length); // 4\n  console.log(options); // '{ debug: true}'\n  next();\n});\n\nvar doc = new Document()\ndoc.set('hey', 'there');\n```\n\n## Post middleware\n\nPost middleware intercepts the callback originally sent to the asynchronous function you have hooked to.\n\nThis means that the following chain of execution will occur in a typical `save` operation:\n\n(1) doc.save -> (2) pre --(next)--> (3) save calls back -> (4) post --(next)--> (5) targetFn\n\nIllustrated below:\n\n```\nDocument.pre('save', function (next) {\n  this.key = \"value\";\n  next();\n});\n// Post handler occurs before `set` calls back. This is useful if we need to grab something\n// async before `set` finishes.\nDocument.post('set', function (next) {\n  var me = this;\n  getSomethingAsync(function(value){ // let's assume it returns \"Hello Async\"\n    me.key2 = value;\n    next();\n  });\n});\n\nvar doc = new Document();\ndoc.save(function(err){\n  console.log(this.key);  // \"value\" - this value was saved\n  console.log(this.key2); // \"Hello Async\" - this value was *not* saved\n}\n\n```\n\nPost middleware must call `next()` or execution will stop.\n\n## Parallel `pre` middleware\n\nAll middleware up to this point has been \"serial\" middleware -- i.e., middleware whose logic\nis executed as a serial chain.\n\nSome scenarios call for parallel middleware -- i.e., middleware that can wait for several\nasynchronous services at once to respond.\n\nFor instance, you may only want to save a Document only after you have checked\nthat the Document is valid according to two different remote services.\n\nWe accomplish asynchronous middleware by adding a second kind of flow control callback\n(the only flow control callback so far has been `next`), called `done`.\n\n- `next` passes control to the next middleware in the chain\n- `done` keeps track of how many parallel middleware have invoked `done` and passes\n   control to the target method when ALL parallel middleware have invoked `done`. If\n   you pass an `Error` to `done`, then the error is handled, and the main method that is\n   wrapped by pres and posts will not get invoked.\n\nWe declare pre middleware that is parallel by passing a 3rd boolean argument to our `pre`\ndefinition method.\n\nWe illustrate via the parallel validation example mentioned above:\n\n```javascript\nDocument.hook('save', function targetFn (callback) {\n  // Save logic goes here\n  // ...\n  // This only gets run once the two `done`s are both invoked via preOne and preTwo.\n});\n\n                     // true marks this as parallel middleware\nDocument.pre('save', true, function preOne (next, doneOne, callback) {\n  remoteServiceOne.validate(this.serialize(), function (err, isValid) {\n    // The code in here will probably be run after the `next` below this block\n    // and could possibly be run after the console.log(\"Hola\") in `preTwo\n    if (err) return doneOne(err);\n    if (isValid) doneOne();\n  });\n  next(); // Pass control to the next middleware\n});\n\n// We will suppose that we need 2 different remote services to validate our document\nDocument.pre('save', true, function preTwo (next, doneTwo, callback) {\n  remoteServiceTwo.validate(this.serialize(), function (err, isValid) {\n    if (err) return doneTwo(err);\n    if (isValid) doneTwo();\n  });\n  next();\n});\n\n// While preOne and preTwo are parallel, preThree is a serial pre middleware\nDocument.pre('save', function preThree (next, callback) {\n  next();\n});\n\nvar doc = new Document();\ndoc.save( function (err, doc) {\n  // Do stuff with the saved doc here...\n});\n```\n\nIn the above example, flow control may happen in the following way:\n\n(1) doc.save -> (2) preOne --(next)--> (3) preTwo --(next)--> (4) preThree --(next)--> (wait for dones to invoke) -> (5) doneTwo -> (6) doneOne -> (7) targetFn\n\nSo what's happening is that:\n\n1. You call `doc.save(...)`\n2. First, your preOne middleware gets executed. It makes a remote call to the validation service and `next()`s to the preTwo middleware.\n3. Now, your preTwo middleware gets executed. It makes a remote call to another validation service and `next()`s to the preThree middleware.\n4. Your preThree middleware gets executed. It immediately `next()`s. But nothing else gets executing until both `doneOne` and `doneTwo` are invoked inside the callbacks handling the response from the two valiation services.\n5. We will suppose that validation remoteServiceTwo returns a response to us first. In this case, we call `doneTwo` inside the callback to remoteServiceTwo.\n6. Some fractions of a second later, remoteServiceOne returns a response to us. In this case, we call `doneOne` inside the callback to remoteServiceOne.\n7. `hooks` implementation keeps track of how many parallel middleware has been defined per target function. It detects that both asynchronous pre middlewares (`preOne` and `preTwo`) have finally called their `done` functions (`doneOne` and `doneTwo`), so the implementation finally invokes our `targetFn` (i.e., our core `save` business logic).\n\n## Removing Pres\n\nYou can remove a particular pre associated with a hook:\n\n    Document.pre('set', someFn);\n    Document.removePre('set', someFn);\n\nAnd you can also remove all pres associated with a hook:\n    Document.removePre('set'); // Removes all declared `pre`s on the hook 'set'\n\n## Tests\nTo run the tests:\n    make test\n\n### Contributors\n- [Brian Noguchi](https://github.com/bnoguchi)\n\n### License\nMIT License\n\n---\n### Author\nBrian Noguchi\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/bnoguchi/hooks-js/issues"},"_id":"hooks@0.3.2","dist":{"shasum":"a31f060c2026cea6cf1ca3eb178430e718e1c4a3","tarball":"http://registry.npmjs.org/hooks/-/hooks-0.3.2.tgz"},"_from":"hooks@>=0.3.2 <0.4.0","_npmVersion":"1.3.5","_npmUser":{"name":"bnoguchi","email":"brian.noguchi@gmail.com"},"maintainers":[{"name":"bnoguchi","email":"brian.noguchi@gmail.com"}],"_shasum":"a31f060c2026cea6cf1ca3eb178430e718e1c4a3","_resolved":"https://registry.npmjs.org/hooks/-/hooks-0.3.2.tgz"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/hooks/test.js","id":"hooks/test.js","options":{},"isModule":true,"requiredModules":["hooks/hooks.js","should/lib/should.js","assert","underscore/underscore.js"],"mtime":1341698210000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["lru-cache/lib/lru-cache.js","sigmund/sigmund.js","path"],"mtime":1405121107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js","id":"lru-cache/lib/lru-cache.js","options":{},"isModule":true,"mtime":1441995635000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/lru-cache/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/lru-cache/package.json","data":{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"2.7.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me"},"keywords":["mru","lru","cache"],"scripts":{"test":"tap test --gc"},"main":"lib/lru-cache.js","repository":{"type":"git","url":"git://github.com/isaacs/node-lru-cache.git"},"devDependencies":{"tap":"^1.2.0","weak":""},"license":"ISC","gitHead":"fc6ee93093f4e463e5946736d4c48adc013724d1","bugs":{"url":"https://github.com/isaacs/node-lru-cache/issues"},"homepage":"https://github.com/isaacs/node-lru-cache#readme","_id":"lru-cache@2.7.0","_shasum":"aaa376a4cd970f9cebf5ec1909566ec034f07ee6","_from":"lru-cache@>=2.0.0 <3.0.0","_npmVersion":"3.3.2","_nodeVersion":"4.0.0","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"aaa376a4cd970f9cebf5ec1909566ec034f07ee6","tarball":"http://registry.npmjs.org/lru-cache/-/lru-cache-2.7.0.tgz"},"maintainers":[{"name":"isaacs","email":"isaacs@npmjs.com"},{"name":"othiym23","email":"ogd@aoaioxxysz.net"}],"directories":{},"_resolved":"https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/lru-cache/test/basic.js","id":"lru-cache/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1441995635000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/lru-cache/test/foreach.js","id":"lru-cache/test/foreach.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1433135903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js","id":"lru-cache/test/memory-leak.js","options":{},"isModule":true,"requiredModules":["weak","tap","lru-cache/lib/lru-cache.js"],"mtime":1435688444000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/lru-cache/test/serialize.js","id":"lru-cache/test/serialize.js","options":{},"isModule":true,"requiredModules":["tap","lru-cache/lib/lru-cache.js"],"mtime":1441995564000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/sigmund/bench.js","id":"sigmund/bench.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","sigmund/sigmund.js","bench"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/sigmund/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/sigmund/package.json","data":{"name":"sigmund","version":"1.0.1","description":"Quick and dirty signatures for Objects.","main":"sigmund.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js","bench":"node bench.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sigmund.git"},"keywords":["object","signature","key","data","psychoanalysis"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","gitHead":"527f97aa5bb253d927348698c0cd3bb267d098c6","bugs":{"url":"https://github.com/isaacs/sigmund/issues"},"homepage":"https://github.com/isaacs/sigmund#readme","_id":"sigmund@1.0.1","_shasum":"3ff21f198cad2175f9f3b781853fd94d0d19b590","_from":"sigmund@>=1.0.0 <1.1.0","_npmVersion":"2.10.0","_nodeVersion":"2.0.1","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"3ff21f198cad2175f9f3b781853fd94d0d19b590","tarball":"http://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_resolved":"https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/sigmund/sigmund.js","id":"sigmund/sigmund.js","options":{},"isModule":true,"mtime":1344873467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/node_modules/sigmund/test/basic.js","id":"sigmund/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","sigmund/sigmund.js"],"mtime":1344873467000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"1.0.0","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"test":"tap test/*.js"},"engines":{"node":"*"},"dependencies":{"lru-cache":"2","sigmund":"~1.0.0"},"devDependencies":{"tap":""},"license":{"type":"MIT","url":"http://github.com/isaacs/minimatch/raw/master/LICENSE"},"gitHead":"b374a643976eb55cdc19c60b6dd51ebe9bcc607a","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch","_id":"minimatch@1.0.0","_shasum":"e0dd2120b49e1b724ce8d714c520822a9438576d","_from":"minimatch@>=1.0.0 <2.0.0","_npmVersion":"1.4.21","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"e0dd2120b49e1b724ce8d714c520822a9438576d","tarball":"http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/test/basic.js","id":"minimatch/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387171514000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/test/brace-expand.js","id":"minimatch/test/brace-expand.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1405121099000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/test/caching.js","id":"minimatch/test/caching.js","options":{},"isModule":true,"requiredModules":["minimatch/minimatch.js","tap"],"mtime":1332887728000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/test/defaults.js","id":"minimatch/test/defaults.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1399941975000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/minimatch/test/extglob-ending-with-state-char.js","id":"minimatch/test/extglob-ending-with-state-char.js","options":{},"isModule":true,"requiredModules":["tap","minimatch/minimatch.js"],"mtime":1387223424000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/bower.json","id":"moment/bower.json","options":{},"isModule":true,"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/component.json","id":"moment/component.json","options":{},"isModule":true,"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/composer.json","id":"moment/composer.json","options":{},"isModule":true,"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/ender.js","id":"moment/ender.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1352108833000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/Gruntfile.js","id":"moment/Gruntfile.js","options":{},"isModule":true,"requiredModules":["load-grunt-tasks"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ar-ma.js","id":"moment/lang/ar-ma.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ar.js","id":"moment/lang/ar.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/bg.js","id":"moment/lang/bg.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/br.js","id":"moment/lang/br.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/bs.js","id":"moment/lang/bs.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ca.js","id":"moment/lang/ca.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/cs.js","id":"moment/lang/cs.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/cv.js","id":"moment/lang/cv.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/cy.js","id":"moment/lang/cy.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/da.js","id":"moment/lang/da.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/de.js","id":"moment/lang/de.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/el.js","id":"moment/lang/el.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/en-au.js","id":"moment/lang/en-au.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/en-ca.js","id":"moment/lang/en-ca.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/en-gb.js","id":"moment/lang/en-gb.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/eo.js","id":"moment/lang/eo.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/es.js","id":"moment/lang/es.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/et.js","id":"moment/lang/et.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/eu.js","id":"moment/lang/eu.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/fa.js","id":"moment/lang/fa.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/fi.js","id":"moment/lang/fi.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/fo.js","id":"moment/lang/fo.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/fr-ca.js","id":"moment/lang/fr-ca.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/fr.js","id":"moment/lang/fr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/gl.js","id":"moment/lang/gl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/he.js","id":"moment/lang/he.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/hi.js","id":"moment/lang/hi.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/hr.js","id":"moment/lang/hr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/hu.js","id":"moment/lang/hu.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/hy-am.js","id":"moment/lang/hy-am.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/id.js","id":"moment/lang/id.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/is.js","id":"moment/lang/is.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/it.js","id":"moment/lang/it.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ja.js","id":"moment/lang/ja.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ka.js","id":"moment/lang/ka.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/km.js","id":"moment/lang/km.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ko.js","id":"moment/lang/ko.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/lb.js","id":"moment/lang/lb.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/lt.js","id":"moment/lang/lt.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/lv.js","id":"moment/lang/lv.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/mk.js","id":"moment/lang/mk.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ml.js","id":"moment/lang/ml.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/mr.js","id":"moment/lang/mr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ms-my.js","id":"moment/lang/ms-my.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/nb.js","id":"moment/lang/nb.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ne.js","id":"moment/lang/ne.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/nl.js","id":"moment/lang/nl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/nn.js","id":"moment/lang/nn.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/pl.js","id":"moment/lang/pl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/pt-br.js","id":"moment/lang/pt-br.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/pt.js","id":"moment/lang/pt.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ro.js","id":"moment/lang/ro.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ru.js","id":"moment/lang/ru.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/sk.js","id":"moment/lang/sk.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/sl.js","id":"moment/lang/sl.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/sq.js","id":"moment/lang/sq.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/sr-cyr.js","id":"moment/lang/sr-cyr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/sr.js","id":"moment/lang/sr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/sv.js","id":"moment/lang/sv.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/ta.js","id":"moment/lang/ta.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/th.js","id":"moment/lang/th.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/tl-ph.js","id":"moment/lang/tl-ph.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/tr.js","id":"moment/lang/tr.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/tzm-la.js","id":"moment/lang/tzm-la.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/tzm.js","id":"moment/lang/tzm.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/uk.js","id":"moment/lang/uk.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/uz.js","id":"moment/lang/uz.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113602000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/vi.js","id":"moment/lang/vi.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/zh-cn.js","id":"moment/lang/zh-cn.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113603000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/lang/zh-tw.js","id":"moment/lang/zh-tw.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1396113603000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/min/langs.js","id":"moment/min/langs.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/min/langs.min.js","id":"moment/min/langs.min.js","options":{},"isModule":true,"requiredModules":["moment/moment.js"],"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/min/moment-with-langs.js","id":"moment/min/moment-with-langs.js","options":{},"isModule":true,"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/min/moment-with-langs.min.js","id":"moment/min/moment-with-langs.min.js","options":{},"isModule":true,"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/min/moment.min.js","id":"moment/min/moment.min.js","options":{},"isModule":true,"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/min/tests.js","id":"moment/min/tests.js","options":{},"isModule":true,"requiredModules":["moment/moment.js","../../lang/ar-ma","../../lang/ar","../../lang/bg","../../lang/br","../../lang/bs","../../lang/ca","../../lang/cs","../../lang/cv","../../lang/cy","../../lang/da","../../lang/de","../../lang/el","../../lang/en-au","../../lang/en-ca","../../lang/en-gb","../../lang/eo","../../lang/es","../../lang/et","../../lang/eu","../../lang/fa","../../lang/fi","../../lang/fo","../../lang/fr-ca","../../lang/fr","../../lang/gl","../../lang/he","../../lang/hi","../../lang/hr","../../lang/hu","../../lang/hy-am","../../lang/id","../../lang/is","../../lang/it","../../lang/ja","../../lang/ka","../../lang/km","../../lang/ko","../../lang/lb","../../lang/lt","../../lang/lv","../../lang/mk","../../lang/ml","../../lang/mr","../../lang/ms-my","../../lang/nb","../../lang/ne","../../lang/nl","../../lang/nn","../../lang/pl","../../lang/pt-br","../../lang/pt","../../lang/ro","../../lang/ru","../../lang/sk","../../lang/sl","../../lang/sq","../../lang/sr-cyr","../../lang/sr","../../lang/sv","../../lang/ta","../../lang/th","../../lang/tl-ph","../../lang/tr","../../lang/tzm-la","../../lang/tzm","../../lang/uk","../../lang/uz","../../lang/vi","../../lang/zh-cn","../../lang/zh-tw"],"mtime":1397320633000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/moment.js","id":"moment/moment.js","options":{},"isModule":true,"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/package.js","id":"moment/package.js","options":{},"isModule":true,"mtime":1361697216000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/package.json","data":{"name":"moment","version":"2.6.0","description":"Parse, manipulate, and display dates.","homepage":"http://momentjs.com","author":{"name":"Iskren Ivov Chernev","email":"iskren.chernev@gmail.com","url":"https://github.com/ichernev"},"contributors":[{"name":"Tim Wood","email":"washwithcare@gmail.com","url":"http://timwoodcreates.com/"},{"name":"Rocky Meza","url":"http://rockymeza.com"},{"name":"Matt Johnson","email":"mj1856@hotmail.com","url":"http://codeofmatt.com"},{"name":"Isaac Cambron","email":"isaac@isaaccambron.com","url":"http://isaaccambron.com"}],"keywords":["moment","date","time","parse","format","validate","i18n","l10n","ender"],"main":"./moment.js","engines":{"node":"*"},"repository":{"type":"git","url":"git+https://github.com/moment/moment.git"},"bugs":{"url":"https://github.com/moment/moment/issues"},"licenses":[{"type":"MIT"}],"devDependencies":{"uglify-js":"latest","grunt":"latest","nodeunit":"latest","grunt-contrib-jshint":"latest","grunt-contrib-nodeunit":"latest","grunt-contrib-concat":"latest","grunt-contrib-uglify":"latest","grunt-contrib-watch":"latest","grunt-env":"latest","grunt-karma":"latest","load-grunt-tasks":"latest","karma":"latest","karma-chrome-launcher":"latest","karma-firefox-launcher":"latest","karma-nodeunit":"latest","karma-sauce-launcher":"latest"},"scripts":{"test":"grunt test:node"},"ender":"./ender.js","dojoBuild":"package.js","jspm":{"files":["moment.js","lang"],"map":{"moment":"./moment"},"buildConfig":{"uglify":true}},"_id":"moment@2.6.0","dist":{"shasum":"0765b72b841dd213fa91914c0f6765122719f061","tarball":"http://registry.npmjs.org/moment/-/moment-2.6.0.tgz"},"_from":"moment@>=2.6.0 <2.7.0","_npmVersion":"1.3.21","_npmUser":{"name":"ichernev","email":"iskren.chernev@gmail.com"},"maintainers":[{"name":"timrwood","email":"washwithcare@gmail.com"},{"name":"ichernev","email":"iskren.chernev@gmail.com"}],"directories":{},"_shasum":"0765b72b841dd213fa91914c0f6765122719f061","_resolved":"https://registry.npmjs.org/moment/-/moment-2.6.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443817567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/tasks/check_sauce_creds.js","id":"moment/tasks/check_sauce_creds.js","options":{},"isModule":true,"mtime":1396113603000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/tasks/component.js","id":"moment/tasks/component.js","options":{},"isModule":true,"mtime":1396113603000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/tasks/embed_languages.js","id":"moment/tasks/embed_languages.js","options":{},"isModule":true,"mtime":1397320678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/tasks/history.js","id":"moment/tasks/history.js","options":{},"isModule":true,"requiredModules":["https","zlib","path","fs"],"mtime":1361697216000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/tasks/size.js","id":"moment/tasks/size.js","options":{},"isModule":true,"requiredModules":["https","zlib","path","fs"],"mtime":1361697216000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/moment/tasks/zones.js","id":"moment/tasks/zones.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1396113603000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/mongoose-q/Gruntfile.js","id":"mongoose-q/Gruntfile.js","options":{},"isModule":true,"mtime":1411032376000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/mongoose-q/index.js","id":"mongoose-q/index.js","options":{},"isModule":true,"requiredModules":["q/q.js","mongoose/index.js","crypto","mongoose/lib/aggregate.js"],"mtime":1411037493000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/mongoose-q/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/mongoose-q/package.json","data":{"name":"mongoose-q","version":"0.0.13","description":"kriskowal's Q support for mongoose","author":{"name":"Dongsu Jang","email":"iolothebard@gmail.com"},"repository":{"type":"git","url":"git://git@github.com/iolo/mongoose-q.git"},"license":"MIT","engines":{"node":"~0.10"},"dependencies":{"q":"^1.0.0","mongoose":"^3.8.3"},"devDependencies":{"mocha":"latest","pow-mongodb-fixtures":"latest","grunt":"latest","grunt-contrib-jshint":"latest","grunt-mocha-test":"latest"},"gitHead":"33e48d1f077db637ec25feabc00cee1731594993","bugs":{"url":"https://github.com/iolo/mongoose-q/issues"},"homepage":"https://github.com/iolo/mongoose-q","_id":"mongoose-q@0.0.13","scripts":{},"_shasum":"d3cec32c6c06c7e8f4fe0f19cb25dfb263a91180","_from":"mongoose-q@0.0.13","_npmVersion":"2.0.0-beta.0","_npmUser":{"name":"iolo","email":"iolothebard@gmail.com"},"maintainers":[{"name":"iolo","email":"iolothebard@gmail.com"}],"dist":{"shasum":"d3cec32c6c06c7e8f4fe0f19cb25dfb263a91180","tarball":"http://registry.npmjs.org/mongoose-q/-/mongoose-q-0.0.13.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mongoose-q/-/mongoose-q-0.0.13.tgz","readme":"ERROR: No README data found!"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/mongoose-q/tests/fixtures.js","id":"mongoose-q/tests/fixtures.js","options":{},"isModule":true,"requiredModules":["pow-mongodb-fixtures"],"mtime":1408967579000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/mongoose-q/tests/mongooseq_test.js","id":"mongoose-q/tests/mongooseq_test.js","options":{},"isModule":true,"requiredModules":["assert","mongoose-q/tests/fixtures.js","mongoose-q/index.js","mongoose/index.js","pow-mongodb-fixtures"],"mtime":1411037197000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/underscore/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/underscore/package.json","data":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/jashkenas/underscore.git"},"main":"underscore.js","version":"1.5.2","devDependencies":{"phantomjs":"1.9.0-1"},"scripts":{"test":"phantomjs test/vendor/runner.js test/index.html?noglobals=true"},"licenses":[{"type":"MIT","url":"https://raw.github.com/jashkenas/underscore/master/LICENSE"}],"files":["underscore.js","underscore-min.js","LICENSE"],"readme":"                       __\n                      /\\ \\                                                         __\n     __  __    ___    \\_\\ \\     __   _ __   ____    ___    ___   _ __    __       /\\_\\    ____\n    /\\ \\/\\ \\ /' _ `\\  /'_  \\  /'__`\\/\\  __\\/ ,__\\  / ___\\ / __`\\/\\  __\\/'__`\\     \\/\\ \\  /',__\\\n    \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\  __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\  __/  __  \\ \\ \\/\\__, `\\\n     \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n      \\/___/  \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/  \\/____/\\/___/  \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n                                                                                  \\ \\____/\n                                                                                   \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nUnderscore is an open-sourced component of DocumentCloud:\nhttps://github.com/documentcloud\n\nMany thanks to our contributors:\nhttps://github.com/jashkenas/underscore/contributors\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jashkenas/underscore/issues"},"_id":"underscore@1.5.2","_shasum":"1335c5e4f5e6d33bbb4b006ba8c86a00f556de08","_from":"underscore@>=1.5.2 <1.6.0","_resolved":"https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz"},"mtime":1443817566000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/underscore/underscore-min.js","id":"underscore/underscore-min.js","options":{},"isModule":true,"mtime":1378558789000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/node_modules/underscore/underscore.js","id":"underscore/underscore.js","options":{},"isModule":true,"mtime":1378558789000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mongoose-rest-endpoints/package.json","data":{"name":"mongoose-rest-endpoints","version":"4.0.1","description":"Easy REST endpoint creation for Mongoose documents with Express","main":"index.js","scripts":{"test":"grunt test:all"},"repository":{"type":"git","url":"git+https://jraede@github.com/jraede/mongoose-rest-endpoints.git"},"keywords":["REST","Mongoose","API"],"dependencies":{"coffee-script":"^1.8.0","colors":"^0.6.2","dot-component":"~0.1.0","express":"3.4.3","hooks":"~0.3.2","minimatch":"^1.0.0","moment":"~2.6.0","mongoose-q":"0.0.13","q":"*","underscore":"~1.5.2"},"author":{"name":"Jason Raede","email":"jason@torchedm.com"},"license":"MIT","bugs":{"url":"https://github.com/jraede/mongoose-rest-endpoints/issues"},"homepage":"https://github.com/jraede/mongoose-rest-endpoints","readme":"README.md","devDependencies":{"supertest":"~0.8.2","should":"~2.1.1","grunt":"~0.4.2","grunt-contrib-coffee":"~0.8.0","grunt-contrib-watch":"~0.5.3","grunt-exec":"~0.4.3","grunt-sed":"~0.1.1","semver":"~2.2.1","moment":"~2.5.1"},"gitHead":"dcdc02a423365f625d5db0b80aac2e570fb5d2eb","_id":"mongoose-rest-endpoints@4.0.1","_shasum":"84ab23ae78ce6adb84aee7cff608fe6f6977d306","_from":"git://github.com/enspencer/mongoose-rest-endpoints.git","_resolved":"git://github.com/enspencer/mongoose-rest-endpoints.git#dcdc02a423365f625d5db0b80aac2e570fb5d2eb"},"mtime":1443817564000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/lib/msexcel-builder.js","id":"msexcel-builder-colorfix/lib/msexcel-builder.js","options":{},"isModule":true,"requiredModules":["fs-extra/lib/index.js","path","child_process","xmlbuilder/lib/index.js","easy-zip/easyzip.js","async/lib/async.js"],"mtime":1404898300000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/async/component.json","id":"async/component.json","options":{},"isModule":true,"mtime":1369727354000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1390494106000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./lib/async","author":{"name":"Caolan McMahon"},"version":"0.2.10","repository":{"type":"git","url":"git+https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"https://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"]},"scripts":{"test":"nodeunit test/test-async.js"},"readme":"# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n\nasync.parallel([\n    function(){ ... },\n    function(){ ... }\n], callback);\n\nasync.series([\n    function(){ ... },\n    function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n  squareExponent: 2,\n  square: function(number, callback){ \n    var result = Math.pow(number, this.squareExponent);\n    setTimeout(function(){\n      callback(null, result);\n    }, 200);\n  }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n  // result is [NaN, NaN, NaN]\n  // This fails because the `this.squareExponent` expression in the square\n  // function is not evaluated in the context of AsyncSquaringLibrary, and is\n  // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n  // result is [1, 4, 9]\n  // With the help of bind we can attach a context to the iterator before\n  // passing it to async. Now the square function will be executed in its \n  // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n  // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n    npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type=\"text/javascript\" src=\"async.js\"></script>\n<script type=\"text/javascript\">\n\n    async.map(data, asyncProcess, function(err, results){\n        alert(results);\n    });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [eachSeries](#eachSeries)\n* [eachLimit](#eachLimit)\n* [map](#map)\n* [mapSeries](#mapSeries)\n* [mapLimit](#mapLimit)\n* [filter](#filter)\n* [filterSeries](#filterSeries)\n* [reject](#reject)\n* [rejectSeries](#rejectSeries)\n* [reduce](#reduce)\n* [reduceRight](#reduceRight)\n* [detect](#detect)\n* [detectSeries](#detectSeries)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n* [concatSeries](#concatSeries)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [parallelLimit](#parallellimittasks-limit-callback)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [applyEachSeries](#applyEachSeries)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n<a name=\"each\" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n<a name=\"eachSeries\" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n<a name=\"eachLimit\" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"mapLimit\" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n  functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n  array to produce the next step in the reduction. The iterator is passed a\n  callback(err, reduction) which accepts an optional error as its first \n  argument, and the state of the reduction as the second. If an error is \n  passed to the callback, the reduction is stopped and the main callback is \n  immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n    // pointless async:\n    process.nextTick(function(){\n        callback(null, memo + item)\n    });\n}, function(err, result){\n    // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n    // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, sortValue) which must be called once it\n  has completed with an error (which can be null) and a value to use as the sort\n  criteria.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is the items from\n  the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n    fs.stat(file, function(err, stats){\n        callback(err, stats.mtime);\n    });\n}, function(err, results){\n    // results is now the original array of files sorted by\n    // modified date\n});\n```\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n  functions have finished. Result will be either true or false depending on\n  the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, results) which must be called once it \n  has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array containing\n  the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n    // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n    function(callback){\n        // do some stuff ...\n        callback(null, 'one');\n    },\n    function(callback){\n        // do some more stuff ...\n        callback(null, 'two');\n    }\n],\n// optional callback\nfunction(err, results){\n    // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'one');\n        }, 200);\n    },\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'two');\n        }, 100);\n    }\n],\n// optional callback\nfunction(err, results){\n    // the results array will equal ['one','two'] even though\n    // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n  passed a callback(err) which must be called once it has completed with an \n  optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n  execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n    function () { return count < 5; },\n    function (callback) {\n        count++;\n        setTimeout(callback, 1000);\n    },\n    function (err) {\n        // 5 seconds have passed\n    }\n);\n```\n\n---------------------------------------\n\n<a name=\"doWhilst\" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name=\"doUntil\" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name=\"forever\" />\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n  callback(err, result1, result2, ...) it must call on completion. The first\n  argument is an error (which can be null) and any further arguments will be \n  passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n    function(callback){\n        callback(null, 'one', 'two');\n    },\n    function(arg1, arg2, callback){\n        callback(null, 'three');\n    },\n    function(arg1, callback){\n        // arg1 now equals 'three'\n        callback(null, 'done');\n    }\n], function (err, result) {\n   // result now equals 'done'    \n});\n```\n\n---------------------------------------\n<a name=\"compose\" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n    setTimeout(function () {\n        callback(null, n + 1);\n    }, 10);\n}\n\nfunction mul3(n, callback) {\n    setTimeout(function () {\n        callback(null, n * 3);\n    }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n   // result now equals 15\n});\n```\n\n---------------------------------------\n<a name=\"applyEach\" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n  functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n    buckets,\n    async.applyEach([enableSearch, updateSchema]),\n    callback\n);\n```\n\n---------------------------------------\n\n<a name=\"applyEachSeries\" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n  task, which must call its callback(err) argument when finished, with an \n  optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n  run in parallel. This property can be changed after a queue is created to\n  alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n    console.log('hello ' + task.name);\n    callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n    console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n<a name=\"cargo\" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n  queued tasks, which must call its callback(err) argument when finished, with \n  an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n  processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n  process per round. This property can be changed after a cargo is created to\n  alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n    for(var i=0; i<tasks.length; i++){\n      console.log('hello ' + tasks[i].name);\n    }\n    callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\ncargo.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\ncargo.push({name: 'baz'}, function (err) {\n    console.log('finished processing baz');\n});\n```\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n  readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n  readData: function(cb, results){\n    fs.readFile('data.txt', 'utf-8', cb);\n  }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n  requirements, with the function itself the last item in the array. The key\n  used for each function or array is used when specifying requirements. The \n  function receives two arguments: (1) a callback(err, result) which must be \n  called when finished, passing an error (which can be null) and the result of \n  the function's execution, and (2) a results object, containing the results of\n  the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n  tasks have been completed. The callback will receive an error as an argument\n  if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n  \n\n__Example__\n\n```js\nasync.auto({\n    get_data: function(callback){\n        // async code to get some data\n    },\n    make_folder: function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    },\n    write_file: ['get_data', 'make_folder', function(callback){\n        // once there is some data and the directory exists,\n        // write the data to a file in the directory\n        callback(null, filename);\n    }],\n    email_link: ['write_file', function(callback, results){\n        // once the file is written let's email a link to it...\n        // results.write_file contains the filename returned by write_file.\n    }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n    function(callback){\n        // async code to get some data\n    },\n    function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    }\n],\nfunction(err, results){\n    async.series([\n        function(callback){\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n        },\n        function(callback){\n            // once the file is written let's email a link to it...\n        }\n    ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n    function(){ sys.p('one'); },\n    function(){ sys.p('two'); },\n    function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n    async.apply(fs.writeFile, 'testfile1', 'test1'),\n    async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n    function(callback){\n        fs.writeFile('testfile1', 'test1', callback);\n    },\n    function(callback){\n        fs.writeFile('testfile2', 'test2', callback);\n    }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n    call_order.push('two');\n    // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n<a name=\"times\" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n  callback(null, {\n    id: 'user' + id\n  })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n    createUser(n, function(err, user) {\n      next(err, user)\n    })\n}, function(err, users) {\n  // we should now have 5 users\n});\n```\n\n<a name=\"timesSeries\" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n  results, it has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n    // do something\n    callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n    // callback\n});\n```\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, 'hello ' + name);\n    }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, {hello: name});\n    }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.2.10","_shasum":"b6bbe0b0674b9d719708ca38de8c237cb526c3d1","_from":"async@>=0.2.6 <0.3.0","_resolved":"https://registry.npmjs.org/async/-/async-0.2.10.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/easy-zip/easyzip.js","id":"easy-zip/easyzip.js","options":{},"isModule":true,"requiredModules":["util/util.js","async/lib/async.js","path","buffer","fs","easy-zip/jszip.js"],"mtime":1366192103000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/easy-zip/jszip.js","id":"easy-zip/jszip.js","options":{},"isModule":true,"mtime":1366094210000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/easy-zip/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1439143470000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/easy-zip/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/easy-zip/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"lib/async.js","files":["lib"],"author":{"name":"Caolan McMahon"},"version":"1.4.2","keywords":["async","callback","utility","module"],"repository":{"type":"git","url":"git+https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"license":"MIT","devDependencies":{"benchmark":"github:bestiejs/benchmark.js","bluebird":"^2.9.32","chai":"^3.1.0","coveralls":"^2.11.2","es6-promise":"^2.3.0","jscs":"^1.13.1","jshint":"~2.8.0","karma":"^0.13.2","karma-browserify":"^4.2.1","karma-firefox-launcher":"^0.1.6","karma-mocha":"^0.2.0","karma-mocha-reporter":"^1.0.2","lodash":"^3.9.0","mkdirp":"~0.5.1","mocha":"^2.2.5","native-promise-only":"^0.8.0-a","nodeunit":">0.0.0","nyc":"^2.1.0","rsvp":"^3.0.18","uglify-js":"~2.4.0","xyz":"^0.5.0","yargs":"~3.9.1"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"],"categories":["Utilities"]},"scripts":{"mocha-node-test":"mocha mocha_test/","mocha-browser-test":"karma start","mocha-test":"npm run mocha-node-test && npm run mocha-browser-test","nodeunit-test":"nodeunit test/test-async.js","test":"npm run-script lint && npm run nodeunit-test && npm run mocha-test","lint":"jshint lib/*.js test/*.js perf/*.js && jscs lib/*.js test/*.js perf/*.js","coverage":"nyc npm test && nyc report","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"spm":{"main":"lib/async.js"},"volo":{"main":"lib/async.js","ignore":["**/.*","node_modules","bower_components","test","tests"]},"gitHead":"92f78aebad222d60c13e4299c0e723f2fe2d6611","homepage":"https://github.com/caolan/async#readme","_id":"async@1.4.2","_shasum":"6c9edcb11ced4f0dd2f2d40db0d49a109c088aab","_from":"async@latest","_npmVersion":"2.9.0","_nodeVersion":"2.0.1","_npmUser":{"name":"megawac","email":"megawac@gmail.com"},"dist":{"shasum":"6c9edcb11ced4f0dd2f2d40db0d49a109c088aab","tarball":"http://registry.npmjs.org/async/-/async-1.4.2.tgz"},"maintainers":[{"name":"caolan","email":"caolan.mcmahon@gmail.com"},{"name":"beaugunderson","email":"beau@beaugunderson.com"},{"name":"aearly","email":"alexander.early@gmail.com"},{"name":"megawac","email":"megawac@gmail.com"}],"directories":{},"_resolved":"https://registry.npmjs.org/async/-/async-1.4.2.tgz"},"mtime":1439487646000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/easy-zip/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/easy-zip/package.json","data":{"name":"easy-zip","version":"0.0.4","description":"Easy zip is extend from jszip,run in the nodejs.","author":{"name":"Owen Zhong","email":"zhongxiaoagang888@gmail.com"},"main":"easyzip.js","scripts":{"test":"node test"},"repository":{"type":"git","url":"https://github.com/owenchong/easy-zip"},"keywords":["nodejs","zip","node-zip","easy-zip","jszip"],"dependencies":{"async":"latest"},"license":"BSD","readme":"Easy zip is extend from [jszip](http://stuk.github.io/jszip/),and run in the nodejs.\n\n## Installation\n    $ npm install easy-zip\n\n## Examples\n```js\nvar EasyZip = require('easy-zip').EasyZip;\n\nvar zip = new EasyZip();\n//add text \nzip.file('hello.txt','Hello World！');\nzip.writeToFile('text.zip');//write zip data to disk\n\n//add folder\nvar zip2 = new EasyZip();\nvar jsFolder = zip2.folder('js');\njsFolder.file('hello.js','alert(\"hello world\")');\nzip2.writeToFile('folder.zip');\n\n//add file\nvar zip3 = new EasyZip();\nzip3.addFile('main.js','easyzip.js',function(){\n\tzip3.writeToFile('file.zip');\n});\n\n//batch add files\nvar files = [\n\t{source : 'easyzip.js',target:'easyzip.js'},\n\t{target : 'img'},//if source is null,means make a folder\n\t{source : 'jszip.js',target:'lib/tmp.js'}\n];\nvar zip4 = new EasyZip();\nzip4.batchAdd(files,function(){\n\tzip4.writeToFile('batchadd.zip');\n});\n\n//zip a folder\nvar zip5 = new EasyZip();\nzip5.zipFolder('../easy-zip',function(){\n\tzip5.writeToFile('folderall.zip');\n});\n\n//write data to http.Response\n//zip.writeToResponse(response,'attachment.zip');\n\n//write to file sync \n//zip.writeToFileSycn(filePath);\n```\n## License\nBSD\n","readmeFilename":"README.md","_id":"easy-zip@0.0.4","dist":{"shasum":"b2da37d6750221860aaef0168de912ebfe957d93","tarball":"http://registry.npmjs.org/easy-zip/-/easy-zip-0.0.4.tgz"},"_from":"easy-zip@>=0.0.4 <0.1.0","_npmVersion":"1.2.15","_npmUser":{"name":"owenchong","email":"zxg_msn@hotmail.com"},"maintainers":[{"name":"owenchong","email":"zxg_msn@hotmail.com"}],"directories":{},"_shasum":"b2da37d6750221860aaef0168de912ebfe957d93","_resolved":"https://registry.npmjs.org/easy-zip/-/easy-zip-0.0.4.tgz"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/easy-zip/test.js","id":"easy-zip/test.js","options":{},"isModule":true,"requiredModules":["easy-zip/easyzip.js"],"mtime":1366247692000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/lib/copy.js","id":"fs-extra/lib/copy.js","options":{},"isModule":true,"requiredModules":["fs","ncp/lib/ncp.js"],"mtime":1349980146000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/lib/create.js","id":"fs-extra/lib/create.js","options":{},"isModule":true,"requiredModules":["fs-extra/lib/mkdir.js","path","fs"],"mtime":1359360661000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/lib/index.js","id":"fs-extra/lib/index.js","options":{},"isModule":true,"requiredModules":["fs","path","jsonfile/index.js","fs-extra/lib/copy.js","fs-extra/lib/remove.js","fs-extra/lib/mkdir.js","fs-extra/lib/create.js","fs-extra/lib/output.js"],"mtime":1359881702000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/lib/mkdir.js","id":"fs-extra/lib/mkdir.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1349843577000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/lib/output.js","id":"fs-extra/lib/output.js","options":{},"isModule":true,"requiredModules":["fs-extra/lib/mkdir.js","path","fs"],"mtime":1359360382000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/lib/remove.js","id":"fs-extra/lib/remove.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","fs"],"mtime":1347309777000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/jsonfile/lib/jsonfile.js","id":"jsonfile/lib/jsonfile.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1347303017000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/jsonfile/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/jsonfile/package.json","data":{"name":"jsonfile","version":"0.0.1","description":"Easily read/write JSON files.","homepage":[""],"repository":{"type":"git","url":"git@github.com:jprichardson/node-jsonfile.git"},"keywords":[],"author":{"name":"JP Richardson","email":"jprichardson@gmail.com"},"licenses":[{"type":"MIT","url":""}],"dependencies":{},"devDependencies":{"mkdirp":"~0.3.4","testutil":"~0.2.2","mocha":"~1.4.2"},"main":"./lib/jsonfile.js","scripts":{"test":"mocha test"},"_id":"jsonfile@0.0.1","dist":{"shasum":"b5f9f515121b2844f2cbfe14338b55c79800e1d8","tarball":"http://registry.npmjs.org/jsonfile/-/jsonfile-0.0.1.tgz"},"maintainers":[{"name":"jp","email":"jprichardson@gmail.com"}],"directories":{},"_shasum":"b5f9f515121b2844f2cbfe14338b55c79800e1d8","_resolved":"https://registry.npmjs.org/jsonfile/-/jsonfile-0.0.1.tgz","_from":"jsonfile@>=0.0.0 <0.1.0"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/jsonfile/test/jsonfile.test.js","id":"jsonfile/test/jsonfile.test.js","options":{},"isModule":true,"requiredModules":["testutil","mkdirp/index.js","jsonfile/lib/jsonfile.js","fs","path"],"mtime":1347302922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1345465530000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.3.5","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"./index","keywords":["mkdir","directory"],"repository":{"type":"git","url":"git+ssh://git@github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"devDependencies":{"tap":"~0.4.0"},"license":"MIT","readme":"# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require('mkdirp');\n    \nmkdirp('/tmp/foo/bar/baz', function (err) {\n    if (err) console.error(err)\n    else console.log('pow!')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require('mkdirp');\n```\n\n## mkdirp(dir, mode, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\n## mkdirp.sync(dir, mode)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp","_id":"mkdirp@0.3.5","_shasum":"de3e5f8961c88c787ee1368df849ac4413eca8d7","_from":"mkdirp@>=0.3.0 <0.4.0","_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1315694910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1338911626000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1337759731000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/ncp/lib/ncp.js","id":"ncp/lib/ncp.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1363106886000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/ncp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/ncp/package.json","data":{"name":"ncp","version":"0.2.7","author":{"name":"AvianFlu","email":"charlie@charlieistheman.com"},"description":"Asynchronous recursive file copy utility.","bin":{"ncp":"./bin/ncp"},"devDependencies":{"vows":"0.6.x","rimraf":"1.0.x","read-dir-files":"0.0.x"},"main":"./lib/ncp.js","repository":{"type":"git","url":"https://github.com/AvianFlu/ncp.git"},"keywords":["cli","copy"],"license":"MIT","engine":{"node":">=0.4"},"scripts":{"test":"vows --isolate --spec"},"_id":"ncp@0.2.7","dist":{"shasum":"46fac2b7dda2560a4cb7e628677bd5f64eac5be1","tarball":"http://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz"},"_from":"ncp@>=0.2.0 <0.3.0","_npmVersion":"1.2.2","_npmUser":{"name":"avianflu","email":"charlie@charlieistheman.com"},"maintainers":[{"name":"avianflu","email":"charlie@charlieistheman.com"}],"directories":{},"_shasum":"46fac2b7dda2560a4cb7e628677bd5f64eac5be1","_resolved":"https://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/ncp/test/ncp-test.js","id":"ncp/test/ncp-test.js","options":{},"isModule":true,"requiredModules":["assert","path","rimraf/rimraf.js","vows","read-dir-files","ncp/lib/ncp.js"],"mtime":1363106696000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js","id":"graceful-fs/graceful-fs.js","options":{},"isModule":true,"requiredModules":["fs","constants"],"mtime":1373442338000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/node_modules/graceful-fs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/node_modules/graceful-fs/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"graceful-fs","description":"A drop-in replacement for fs, making various improvements.","version":"1.2.3","repository":{"type":"git","url":"git://github.com/isaacs/node-graceful-fs.git"},"main":"graceful-fs.js","engines":{"node":">=0.4.0"},"directories":{"test":"test"},"scripts":{"test":"tap test/*.js"},"keywords":["fs","module","reading","retry","retries","queue","error","errors","handling","EMFILE","EAGAIN","EINVAL","EPERM","EACCESS"],"license":"BSD","readme":"# graceful-fs\n\ngraceful-fs functions as a drop-in replacement for the fs module,\nmaking various improvements.\n\nThe improvements are meant to normalize behavior across different\nplatforms and environments, and to make filesystem access more\nresilient to errors.\n\n## Improvements over fs module\n\ngraceful-fs:\n\n* keeps track of how many file descriptors are open, and by default\n  limits this to 1024. Any further requests to open a file are put in a\n  queue until new slots become available. If 1024 turns out to be too\n  much, it decreases the limit further.\n* fixes `lchmod` for Node versions prior to 0.6.2.\n* implements `fs.lutimes` if possible. Otherwise it becomes a noop.\n* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or\n  `lchown` if the user isn't root.\n* makes `lchmod` and `lchown` become noops, if not available.\n* retries reading a file if `read` results in EAGAIN error.\n\nOn Windows, it retries renaming a file for up to one second if `EACCESS`\nor `EPERM` error occurs, likely because antivirus software has locked\nthe directory.\n\n## Configuration\n\nThe maximum number of open file descriptors that graceful-fs manages may\nbe adjusted by setting `fs.MAX_OPEN` to a different number. The default\nis 1024.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/node-graceful-fs/issues"},"homepage":"https://github.com/isaacs/node-graceful-fs","_id":"graceful-fs@1.2.3","_shasum":"15a4806a57547cb2d2dbf27f42e89a8c3451b364","_from":"graceful-fs@>=1.0.0 <2.0.0","_resolved":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/node_modules/graceful-fs/test/open.js","id":"graceful-fs/test/open.js","options":{},"isModule":true,"requiredModules":["tap","graceful-fs/graceful-fs.js","fs"],"mtime":1371011144000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/node_modules/graceful-fs/test/ulimit.js","id":"graceful-fs/test/ulimit.js","options":{},"isModule":true,"requiredModules":["tap","fs","graceful-fs/graceful-fs.js"],"mtime":1371058145000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/package.json","data":{"name":"rimraf","version":"2.1.4","main":"rimraf.js","description":"A deep deletion module for node (like `rm -rf`)","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":{"type":"MIT","url":"https://github.com/isaacs/rimraf/raw/master/LICENSE"},"optionalDependencies":{"graceful-fs":"~1"},"repository":{"type":"git","url":"git://github.com/isaacs/rimraf.git"},"scripts":{"test":"cd test && bash run.sh"},"contributors":[{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},{"name":"Wayne Larsen","email":"wayne@larsen.st","url":"http://github.com/wvl"},{"name":"ritch","email":"skawful@gmail.com"},{"name":"Marcel Laverdet"},{"name":"Yosef Dinerstein","email":"yosefd@microsoft.com"}],"_id":"rimraf@2.1.4","dependencies":{"graceful-fs":"~1"},"dist":{"shasum":"5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2","tarball":"http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz"},"_from":"rimraf@>=2.1.2 <2.2.0","_npmVersion":"1.2.7","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2","_resolved":"https://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/rimraf.js","id":"rimraf/rimraf.js","options":{},"isModule":true,"requiredModules":["path","graceful-fs/graceful-fs.js","fs"],"mtime":1360162813000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/test/test-async.js","id":"rimraf/test/test-async.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/node_modules/rimraf/test/test-sync.js","id":"rimraf/test/test-sync.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/package.json","data":{"name":"fs-extra","version":"0.5.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.","homepage":["https://github.com/jprichardson/node-fs-extra"],"repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output"],"author":{"name":"JP Richardson","email":"jprichardson@gmail.com"},"licenses":[{"type":"MIT","url":"http://github.com/jprichardson/node-fs-extra/raw/master/LICENSE"}],"dependencies":{"ncp":"0.2.x","mkdirp":"0.3.x","jsonfile":"0.0.x","rimraf":"~2.1.2"},"devDependencies":{"mocha":"*","path-extra":"0.0.x","testutil":"~0.4.0"},"main":"./lib/index","scripts":{"test":"mocha test"},"_id":"fs-extra@0.5.0","dist":{"shasum":"34646dc62c97fa13b1024946bf4174e8c0f05ca4","tarball":"http://registry.npmjs.org/fs-extra/-/fs-extra-0.5.0.tgz"},"_npmVersion":"1.1.69","_npmUser":{"name":"jp","email":"jprichardson@gmail.com"},"maintainers":[{"name":"jp","email":"jprichardson@gmail.com"}],"directories":{},"_shasum":"34646dc62c97fa13b1024946bf4174e8c0f05ca4","_resolved":"https://registry.npmjs.org/fs-extra/-/fs-extra-0.5.0.tgz","_from":"fs-extra@>=0.5.0 <0.6.0"},"mtime":1439487644000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/test/copy.test.js","id":"fs-extra/test/copy.test.js","options":{},"isModule":true,"requiredModules":["crypto","fs-extra/lib/index.js","path-extra","testutil","mkdirp/index.js"],"mtime":1359360869000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/test/create.test.js","id":"fs-extra/test/create.test.js","options":{},"isModule":true,"requiredModules":["testutil","fs-extra/lib/index.js","path"],"mtime":1359360726000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/test/mkdir.test.js","id":"fs-extra/test/mkdir.test.js","options":{},"isModule":true,"requiredModules":["fs-extra/lib/index.js","path-extra","testutil"],"mtime":1359360958000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/test/output.test.js","id":"fs-extra/test/output.test.js","options":{},"isModule":true,"requiredModules":["testutil","fs-extra/lib/index.js","path"],"mtime":1359360271000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/test/read.test.js","id":"fs-extra/test/read.test.js","options":{},"isModule":true,"requiredModules":["fs-extra/lib/index.js","testutil","path"],"mtime":1359883501000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/fs-extra/test/remove.test.js","id":"fs-extra/test/remove.test.js","options":{},"isModule":true,"requiredModules":["crypto","fs-extra/lib/index.js","path","testutil","mkdirp/index.js"],"mtime":1359361094000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/index.js","id":"xmlbuilder/lib/index.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","xmlbuilder/lib/XMLBuilder.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLAttribute.js","id":"xmlbuilder/lib/XMLAttribute.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLBuilder.js","id":"xmlbuilder/lib/XMLBuilder.js","options":{},"isModule":true,"requiredModules":["xmlbuilder/lib/XMLStringifier.js","xmlbuilder/lib/XMLDeclaration.js","xmlbuilder/lib/XMLDocType.js","xmlbuilder/lib/XMLElement.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLCData.js","id":"xmlbuilder/lib/XMLCData.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLComment.js","id":"xmlbuilder/lib/XMLComment.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLDeclaration.js","id":"xmlbuilder/lib/XMLDeclaration.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isObject.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLDocType.js","id":"xmlbuilder/lib/XMLDocType.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isObject.js","xmlbuilder/lib/XMLCData.js","xmlbuilder/lib/XMLComment.js","xmlbuilder/lib/XMLDTDAttList.js","xmlbuilder/lib/XMLDTDEntity.js","xmlbuilder/lib/XMLDTDElement.js","xmlbuilder/lib/XMLDTDNotation.js","xmlbuilder/lib/XMLProcessingInstruction.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLDTDAttList.js","id":"xmlbuilder/lib/XMLDTDAttList.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLDTDElement.js","id":"xmlbuilder/lib/XMLDTDElement.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isArray.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLDTDEntity.js","id":"xmlbuilder/lib/XMLDTDEntity.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isObject.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLDTDNotation.js","id":"xmlbuilder/lib/XMLDTDNotation.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLElement.js","id":"xmlbuilder/lib/XMLElement.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isObject.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/collection/every.js","xmlbuilder/lib/XMLNode.js","xmlbuilder/lib/XMLAttribute.js","xmlbuilder/lib/XMLProcessingInstruction.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLNode.js","id":"xmlbuilder/lib/XMLNode.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/lang/isEmpty.js","xmlbuilder/lib/XMLElement.js","xmlbuilder/lib/XMLCData.js","xmlbuilder/lib/XMLComment.js","xmlbuilder/lib/XMLDeclaration.js","xmlbuilder/lib/XMLDocType.js","xmlbuilder/lib/XMLRaw.js","xmlbuilder/lib/XMLText.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","id":"xmlbuilder/lib/XMLProcessingInstruction.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLRaw.js","id":"xmlbuilder/lib/XMLRaw.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLStringifier.js","id":"xmlbuilder/lib/XMLStringifier.js","options":{},"isModule":true,"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/lib/XMLText.js","id":"xmlbuilder/lib/XMLText.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/node_modules/xmlbuilder/package.json","data":{"name":"xmlbuilder","version":"2.6.4","keywords":["xml","xmlbuilder"],"homepage":"http://github.com/oozcitak/xmlbuilder-js","description":"An XML builder for node.js","author":{"name":"Ozgur Ozcitak","email":"oozcitak@gmail.com"},"contributors":[],"license":"MIT","repository":{"type":"git","url":"git://github.com/oozcitak/xmlbuilder-js.git"},"bugs":{"url":"http://github.com/oozcitak/xmlbuilder-js/issues"},"main":"./lib/index","engines":{"node":">=0.8.0"},"dependencies":{"lodash":"^3.5.0"},"devDependencies":{"coffee-script":"*","mocha":"*"},"scripts":{"prepublish":"coffee -co lib src","postpublish":"rm -rf lib","test":"mocha --ui tdd --reporter dot --compilers coffee:coffee-script/register --require test/common/common"},"gitHead":"803f50e03f7afdc3a990e259a113f36d5a06f420","_id":"xmlbuilder@2.6.4","_shasum":"8123ac1576d9c66918f410496f1fe9f028b8ca3e","_from":"xmlbuilder@>=2.4.6","_npmVersion":"1.4.28","_npmUser":{"name":"oozcitak","email":"oozcitak@gmail.com"},"maintainers":[{"name":"oozcitak","email":"oozcitak@gmail.com"}],"dist":{"shasum":"8123ac1576d9c66918f410496f1fe9f028b8ca3e","tarball":"http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz"},"mtime":1439487644000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/package.json","data":{"author":{"name":"Charlie Zheng","email":"chuanyi.zheng@gmail.com"},"name":"msexcel-builder-colorfix","description":"A tiny library to create Microsoft Office Excel(2007) files under Nodejs. Color filling fixed by Maxim Romanov","tags":["xlsx","excel"],"version":"0.0.2","repository":{"type":"git","url":"git://github.com/aloteot/msexcel-builder.git"},"bugs":{"url":"https://github.com/aloteot/msexcel-builder/issues"},"main":"./lib/msexcel-builder.js","engines":{"node":"*"},"dependencies":{"xmlbuilder":">=0.4.2","async":"~0.2.6","fs-extra":"~0.5.0","easy-zip":"~0.0.4"},"gitHead":"15621c0cce175771e2fe3f8ce863cb38c7c06111","homepage":"https://github.com/aloteot/msexcel-builder","_id":"msexcel-builder-colorfix@0.0.2","scripts":{},"_shasum":"a21a00da71f3ce87fae37bc23a5062355ae3b257","_from":"msexcel-builder-colorfix@0.0.2","_npmVersion":"1.4.14","_npmUser":{"name":"aloteot","email":"smeushijsa@mail.ru"},"maintainers":[{"name":"aloteot","email":"smeushijsa@mail.ru"}],"dist":{"shasum":"a21a00da71f3ce87fae37bc23a5062355ae3b257","tarball":"http://registry.npmjs.org/msexcel-builder-colorfix/-/msexcel-builder-colorfix-0.0.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/msexcel-builder-colorfix/-/msexcel-builder-colorfix-0.0.2.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/test/i2a.test.js","id":"msexcel-builder-colorfix/test/i2a.test.js","options":{},"isModule":true,"mtime":1404908951000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/msexcel-builder-colorfix/test/test.js","id":"msexcel-builder-colorfix/test/test.js","options":{},"isModule":true,"mtime":1404908951000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/index.js","id":"mv/index.js","options":{},"isModule":true,"requiredModules":["fs","ncp/lib/ncp.js","path","rimraf/rimraf.js","mkdirp/index.js"],"mtime":1404109089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/bin/cmd.js","id":"mkdirp/bin/cmd.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","minimist/index.js","fs"],"mtime":1398205084000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1399342981000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/example/parse.js","id":"minimist/example/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js"],"mtime":1372147306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/index.js","id":"minimist/index.js","options":{},"isModule":true,"mtime":1392957961000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/package.json","data":{"name":"minimist","version":"0.0.8","description":"parse argument options","main":"index.js","devDependencies":{"tape":"~1.0.4","tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/6..latest","ff/5","firefox/latest","chrome/10","chrome/latest","safari/5.1","safari/latest","opera/12"]},"repository":{"type":"git","url":"git://github.com/substack/minimist.git"},"homepage":"https://github.com/substack/minimist","keywords":["argv","getopt","parser","optimist"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","readme":"# minimist\n\nparse argument options\n\nThis module is the guts of optimist's argument parser without all the\nfanciful decoration.\n\n[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist)\n\n[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist)\n\n# example\n\n``` js\nvar argv = require('minimist')(process.argv.slice(2));\nconsole.dir(argv);\n```\n\n```\n$ node example/parse.js -a beep -b boop\n{ _: [], a: 'beep', b: 'boop' }\n```\n\n```\n$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz\n{ _: [ 'foo', 'bar', 'baz' ],\n  x: 3,\n  y: 4,\n  n: 5,\n  a: true,\n  b: true,\n  c: true,\n  beep: 'boop' }\n```\n\n# methods\n\n``` js\nvar parseArgs = require('minimist')\n```\n\n## var argv = parseArgs(args, opts={})\n\nReturn an argument object `argv` populated with the array arguments from `args`.\n\n`argv._` contains all the arguments that didn't have an option associated with\nthem.\n\nNumeric-looking arguments will be returned as numbers unless `opts.string` or\n`opts.boolean` is set for that argument name.\n\nAny arguments after `'--'` will not be parsed and will end up in `argv._`.\n\noptions can be:\n\n* `opts.string` - a string or array of strings argument names to always treat as\nstrings\n* `opts.boolean` - a string or array of strings to always treat as booleans\n* `opts.alias` - an object mapping string names to strings or arrays of string\nargument names to use as aliases\n* `opts.default` - an object mapping string argument names to default values\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install minimist\n```\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/minimist/issues"},"_id":"minimist@0.0.8","_shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","_from":"minimist@0.0.8","_resolved":"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/test/dash.js","id":"minimist/test/dash.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1389378397000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/test/default_bool.js","id":"minimist/test/default_bool.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372147071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/test/dotted.js","id":"minimist/test/dotted.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1377730679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/test/long.js","id":"minimist/test/long.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372143145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/test/parse.js","id":"minimist/test/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1392957961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js","id":"minimist/test/parse_modified.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372145355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/test/short.js","id":"minimist/test/short.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1391917546000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/node_modules/minimist/test/whitespace.js","id":"minimist/test/whitespace.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372148159000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.0","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"./index","keywords":["mkdir","directory"],"repository":{"type":"git","url":"https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"0.0.8"},"devDependencies":{"tap":"~0.4.0","mock-fs":"~2.2.0"},"bin":{"mkdirp":"bin/cmd.js"},"license":"MIT","readme":"# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require('mkdirp');\n    \nmkdirp('/tmp/foo/bar/baz', function (err) {\n    if (err) console.error(err)\n    else console.log('pow!')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require('mkdirp');\n```\n\n## mkdirp(dir, opts, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `opts.mode`. If `opts` is a non-object, it will be treated as\nthe `opts.mode`.\n\nIf `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\nYou can optionally pass in an alternate `fs` implementation by passing in\n`opts.fs`. Your implementation should have `opts.fs.mkdir(path, mode, cb)` and\n`opts.fs.stat(path, cb)`.\n\n## mkdirp.sync(dir, opts)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `opts.mode`. If `opts` is a non-object, it will be\ntreated as the `opts.mode`.\n\nIf `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\nYou can optionally pass in an alternate `fs` implementation by passing in\n`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` and\n`opts.fs.statSync(path)`.\n\n# usage\n\nThis package also ships with a `mkdirp` command.\n\n```\nusage: mkdirp [DIR1,DIR2..] {OPTIONS}\n\n  Create each supplied directory including any necessary parent directories that\n  don't yet exist.\n  \n  If the directory already exists, do nothing.\n\nOPTIONS are:\n\n  -m, --mode   If a directory needs to be created, set the mode as an octal\n               permission string.\n\n```\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\nto get the library, or\n\n```\nnpm install -g mkdirp\n```\n\nto get the command.\n\n# license\n\nMIT\n","readmeFilename":"readme.markdown","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp","_id":"mkdirp@0.5.0","_shasum":"1d73076a6df986cd9344e15e71fcc05a4c9abf12","_from":"mkdirp@~0.5.0","_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333179774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342252000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/opts_fs.js","id":"mkdirp/test/opts_fs.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1399342714000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/opts_fs_sync.js","id":"mkdirp/test/opts_fs_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1399342967000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342384000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342478000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342531000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1333223445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1338911626000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342570000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342613000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1399342663000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/ncp/lib/ncp.js","id":"ncp/lib/ncp.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1404849686000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/ncp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/ncp/package.json","data":{"name":"ncp","version":"0.6.0","author":{"name":"AvianFlu","email":"charlie@charlieistheman.com"},"description":"Asynchronous recursive file copy utility.","bin":{"ncp":"./bin/ncp"},"devDependencies":{"mocha":"1.15.x","rimraf":"1.0.x","read-dir-files":"0.0.x"},"main":"./lib/ncp.js","repository":{"type":"git","url":"https://github.com/AvianFlu/ncp.git"},"keywords":["cli","copy"],"license":"MIT","engine":{"node":">=0.6"},"scripts":{"test":"mocha -R spec"},"readme":"# ncp - Asynchronous recursive file & directory copying\n\n[![Build Status](https://secure.travis-ci.org/AvianFlu/ncp.png)](http://travis-ci.org/AvianFlu/ncp)\n\nThink `cp -r`, but pure node, and asynchronous.  `ncp` can be used both as a CLI tool and programmatically.\n\n## Command Line usage\n\nUsage is simple: `ncp [source] [dest] [--limit=concurrency limit]\n[--filter=filter] --stopOnErr`\n\nThe 'filter' is a Regular Expression - matched files will be copied.\n\nThe 'concurrency limit' is an integer that represents how many pending file system requests `ncp` has at a time.\n\n'stoponerr' is a boolean flag that will tell `ncp` to stop immediately if any\nerrors arise, rather than attempting to continue while logging errors. The default behavior is to complete as many copies as possible, logging errors along the way.\n\nIf there are no errors, `ncp` will output `done.` when complete.  If there are errors, the error messages will be logged to `stdout` and to `./ncp-debug.log`, and the copy operation will attempt to continue.\n\n## Programmatic usage\n\nProgrammatic usage of `ncp` is just as simple.  The only argument to the completion callback is a possible error.  \n\n```javascript\nvar ncp = require('ncp').ncp;\n\nncp.limit = 16;\n\nncp(source, destination, function (err) {\n if (err) {\n   return console.error(err);\n }\n console.log('done!');\n});\n```\n\nYou can also call ncp like `ncp(source, destination, options, callback)`. \n`options` should be a dictionary. Currently, such options are available:\n\n  * `options.filter` - a `RegExp` instance, against which each file name is\n  tested to determine whether to copy it or not, or a function taking single\n  parameter: copied file name, returning `true` or `false`, determining\n  whether to copy file or not.\n\n  * `options.transform` - a function: `function (read, write) { read.pipe(write) }`\n  used to apply streaming transforms while copying.\n\n  * `options.clobber` - boolean=true. if set to false, `ncp` will not overwrite \n  destination files that already exist.\n\n  * `options.dereference` - boolean=false. If set to true, `ncp` will follow symbolic\n  links. For example, a symlink in the source tree pointing to a regular file\n  will become a regular file in the destination tree. Broken symlinks will result in\n  errors.\n\n  * `options.stopOnErr` - boolean=false.  If set to true, `ncp` will behave like `cp -r`,\n  and stop on the first error it encounters. By default, `ncp` continues copying, logging all\n  errors and returning an array.\n\n  * `options.errs` - stream. If `options.stopOnErr` is `false`, a stream can be provided, and errors will be written to this stream.\n\nPlease open an issue if any bugs arise.  As always, I accept (working) pull requests, and refunds are available at `/dev/null`.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/AvianFlu/ncp/issues"},"homepage":"https://github.com/AvianFlu/ncp","_id":"ncp@0.6.0","_shasum":"df8ce021e262be21b52feb3d3e5cfaab12491f0d","_from":"ncp@~0.6.0","_resolved":"https://registry.npmjs.org/ncp/-/ncp-0.6.0.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/ncp/test/ncp.js","id":"ncp/test/ncp.js","options":{},"isModule":true,"requiredModules":["assert","fs","path","rimraf/rimraf.js","read-dir-files","ncp/lib/ncp.js"],"mtime":1404849686000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/rimraf/bin.js","id":"rimraf/bin.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js"],"mtime":1371826156000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/rimraf/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/rimraf/package.json","data":{"name":"rimraf","version":"2.2.8","main":"rimraf.js","description":"A deep deletion module for node (like `rm -rf`)","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":{"type":"MIT","url":"https://github.com/isaacs/rimraf/raw/master/LICENSE"},"repository":{"type":"git","url":"git://github.com/isaacs/rimraf.git"},"scripts":{"test":"cd test && bash run.sh"},"bin":{"rimraf":"./bin.js"},"contributors":[{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},{"name":"Wayne Larsen","email":"wayne@larsen.st","url":"http://github.com/wvl"},{"name":"ritch","email":"skawful@gmail.com"},{"name":"Marcel Laverdet"},{"name":"Yosef Dinerstein","email":"yosefd@microsoft.com"}],"readme":"`rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one.  Certain\nerrors are handled for you:\n\n* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of\n  `opts.maxBusyTries` times before giving up.\n* `ENOENT` - If the file doesn't exist, rimraf will return\n  successfully, since your desired outcome is already the case.\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too.  But that's not so good.  Use\nthe async API.  It's better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n\n## mkdirp\n\nIf you need to create a directory recursively, check out\n[mkdirp](https://github.com/substack/node-mkdirp).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/rimraf/issues"},"homepage":"https://github.com/isaacs/rimraf","_id":"rimraf@2.2.8","_from":"rimraf@~2.2.8"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/rimraf/rimraf.js","id":"rimraf/rimraf.js","options":{},"isModule":true,"requiredModules":["assert","path","fs"],"mtime":1399391937000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/rimraf/test/test-async.js","id":"rimraf/test/test-async.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/node_modules/rimraf/test/test-sync.js","id":"rimraf/test/test-sync.js","options":{},"isModule":true,"requiredModules":["rimraf/rimraf.js","path"],"mtime":1312833666000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/mv/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/mv/package.json","data":{"name":"mv","version":"2.0.3","description":"fs.rename but works across devices. same as the unix utility 'mv'","main":"index.js","scripts":{"test":"mocha test/test.js --reporter spec"},"repository":{"type":"git","url":"git://github.com/andrewrk/node-mv.git"},"keywords":["mv","move","rename","device","recursive","folder"],"author":{"name":"Andrew Kelley"},"license":"MIT","engines":{"node":">=0.8.0"},"devDependencies":{"mocha":"~1.21.0"},"dependencies":{"mkdirp":"~0.5.0","ncp":"~0.6.0","rimraf":"~2.2.8"},"bugs":{"url":"https://github.com/andrewrk/node-mv/issues"},"homepage":"https://github.com/andrewrk/node-mv","directories":{"test":"test"},"readme":"[![Build Status](https://secure.travis-ci.org/andrewrk/node-mv.png)](http://travis-ci.org/andrewrk/node-mv)\n\nUsage:\n------\n\n```js\nvar mv = require('mv');\n\nmv('source/file', 'dest/file', function(err) {\n  // done. it tried fs.rename first, and then falls back to\n  // piping the source file to the dest file and then unlinking\n  // the source file.\n});\n```\n\nAnother example:\n\n```js\nmv('source/dir', 'dest/a/b/c/dir', {mkdirp: true}, function(err) {\n  // done. it first created all the necessary directories, and then\n  // tried fs.rename, then falls back to using ncp to copy the dir\n  // to dest and then rimraf to remove the source dir\n});\n```\n\nAnother example:\n\n```js\nmv('source/file', 'dest/file', {clobber: false}, function(err) {\n  // done. If 'dest/file' exists, an error is returned\n  // with err.code === 'EEXIST'.\n});\n```\n","readmeFilename":"README.md","_id":"mv@2.0.3","_shasum":"e9ab707d71dc38de24edcc637a8e2f5f480c7f32","_from":"mv@^2.0.3","_resolved":"https://registry.npmjs.org/mv/-/mv-2.0.3.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/mv/test/test.js","id":"mv/test/test.js","options":{},"isModule":true,"requiredModules":["assert","fs","rimraf/rimraf.js","mv/index.js"],"mtime":1406406182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/include_dirs.js","id":"nan/include_dirs.js","options":{},"isModule":true,"requiredModules":["path"],"mtime":1415299420000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/package.json","data":{"name":"nan","version":"1.9.0","description":"Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility","main":"include_dirs.js","repository":{"type":"git","url":"git://github.com/nodejs/nan.git"},"scripts":{"test":"tap --gc test/js/*-test.js","rebuild-tests":"pangyp rebuild --msvs_version=2013 --directory test"},"contributors":[{"name":"Rod Vagg","email":"r@va.gg","url":"https://github.com/rvagg"},{"name":"Benjamin Byholm","email":"bbyholm@abo.fi","url":"https://github.com/kkoopa/"},{"name":"Trevor Norris","email":"trev.norris@gmail.com","url":"https://github.com/trevnorris"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"https://github.com/TooTallNate"},{"name":"Brett Lawson","email":"brett19@gmail.com","url":"https://github.com/brett19"},{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"https://github.com/bnoordhuis"},{"name":"David Siegel","email":"david@artcom.de","url":"https://github.com/agnat"}],"devDependencies":{"bindings":"~1.2.1","node-gyp":"~2.0.2","pangyp":"~2.2.0","tap":"~0.7.1","xtend":"~4.0.0"},"license":"MIT","gitHead":"399b3a54ada39a7cf7a11978ea727eae3686666e","bugs":{"url":"https://github.com/nodejs/nan/issues"},"homepage":"https://github.com/nodejs/nan#readme","_id":"nan@1.9.0","_shasum":"1a9cd2755609766f5c291e4194fce39fde286515","_from":"nan@1.9.0","_npmVersion":"2.13.3","_nodeVersion":"0.12.2","_npmUser":{"name":"kkoopa","email":"bbyholm@abo.fi"},"maintainers":[{"name":"rvagg","email":"rod@vagg.org"},{"name":"kkoopa","email":"bbyholm@abo.fi"}],"dist":{"shasum":"1a9cd2755609766f5c291e4194fce39fde286515","tarball":"http://registry.npmjs.org/nan/-/nan-1.9.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/nan/-/nan-1.9.0.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/commander/index.js","id":"commander/index.js","options":{},"isModule":true,"requiredModules":["events","child_process","graceful-readlink/index.js","path","fs"],"mtime":1429711269000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/commander/node_modules/graceful-readlink/index.js","id":"graceful-readlink/index.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1423714095000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/commander/node_modules/graceful-readlink/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/commander/node_modules/graceful-readlink/package.json","data":{"name":"graceful-readlink","version":"1.0.1","description":"graceful fs.readlink","main":"index.js","repository":{"type":"git","url":"git://github.com/zhiyelee/graceful-readlink.git"},"homepage":"https://github.com/zhiyelee/graceful-readlink","bugs":{"url":"https://github.com/zhiyelee/graceful-readlink/issues"},"keywords":["fs.readlink","readlink"],"author":{"name":"zhiyelee"},"license":"MIT","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"gitHead":"f6655275bebef706fb63fd01b5f062a7052419a5","_id":"graceful-readlink@1.0.1","_shasum":"4cafad76bc62f02fa039b2f94e9a3dd3a391a725","_from":"graceful-readlink@>=1.0.0","_npmVersion":"2.1.17","_nodeVersion":"0.11.14","_npmUser":{"name":"zhiyelee","email":"zhiyelee@gmail.com"},"maintainers":[{"name":"zhiyelee","email":"zhiyelee@gmail.com"}],"dist":{"shasum":"4cafad76bc62f02fa039b2f94e9a3dd3a391a725","tarball":"http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1432913550000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/commander/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/commander/package.json","data":{"name":"commander","version":"2.8.1","description":"the complete solution for node.js command-line programs","keywords":["command","option","parser"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"license":"MIT","repository":{"type":"git","url":"https://github.com/tj/commander.js.git"},"devDependencies":{"should":">= 0.0.1","sinon":">= 1.14.1"},"scripts":{"test":"make test"},"main":"index","engines":{"node":">= 0.6.x"},"files":["index.js"],"dependencies":{"graceful-readlink":">= 1.0.0"},"gitHead":"c6c84726050b19c0373de27cd359f3baddff579f","bugs":{"url":"https://github.com/tj/commander.js/issues"},"homepage":"https://github.com/tj/commander.js","_id":"commander@2.8.1","_shasum":"06be367febfda0c330aa1e2a072d3dc9762425d4","_from":"commander@>=2.8.1 <2.9.0","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"zhiyelee","email":"zhiyelee@gmail.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"somekittens","email":"rkoutnik@gmail.com"},{"name":"zhiyelee","email":"zhiyelee@gmail.com"},{"name":"thethomaseffect","email":"thethomaseffect@gmail.com"}],"dist":{"shasum":"06be367febfda0c330aa1e2a072d3dc9762425d4","tarball":"http://registry.npmjs.org/commander/-/commander-2.8.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/commander/-/commander-2.8.1.tgz","readme":"ERROR: No README data found!"},"mtime":1432913550000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/common.js","id":"glob/common.js","options":{},"isModule":true,"requiredModules":["path","minimatch/minimatch.js","path-is-absolute/index.js"],"mtime":1432226679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/glob.js","id":"glob/glob.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","inherits/inherits.js","events","path","assert","path-is-absolute/index.js","glob/sync.js","glob/common.js","inflight/inflight.js","util/util.js","once/once.js"],"mtime":1432226746000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inflight/inflight.js","id":"inflight/inflight.js","options":{},"isModule":true,"requiredModules":["wrappy/wrappy.js","once/once.js"],"mtime":1412318830000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json","data":{"name":"wrappy","version":"1.0.1","description":"Callback wrapping utility","main":"wrappy.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^0.4.12"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/npm/wrappy"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/wrappy/issues"},"homepage":"https://github.com/npm/wrappy","gitHead":"006a8cbac6b99988315834c207896eed71fd069a","_id":"wrappy@1.0.1","_shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","_from":"wrappy@>=1.0.0 <2.0.0","_npmVersion":"2.0.0","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","tarball":"http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"},"_resolved":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1432913551000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js","id":"wrappy/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","wrappy/wrappy.js"],"mtime":1411082093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js","id":"wrappy/wrappy.js","options":{},"isModule":true,"mtime":1411082022000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inflight/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inflight/package.json","data":{"name":"inflight","version":"1.0.4","description":"Add callbacks to requests in flight to avoid async duplication","main":"inflight.js","dependencies":{"once":"^1.3.0","wrappy":"1"},"devDependencies":{"tap":"^0.4.10"},"scripts":{"test":"tap test.js"},"repository":{"type":"git","url":"git://github.com/isaacs/inflight"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/isaacs/inflight/issues"},"homepage":"https://github.com/isaacs/inflight","license":"ISC","gitHead":"c7b5531d572a867064d4a1da9e013e8910b7d1ba","_id":"inflight@1.0.4","_shasum":"6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a","_from":"inflight@>=1.0.4 <2.0.0","_npmVersion":"2.1.3","_nodeVersion":"0.10.32","_npmUser":{"name":"othiym23","email":"ogd@aoaioxxysz.net"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"othiym23","email":"ogd@aoaioxxysz.net"},{"name":"iarna","email":"me@re-becca.org"}],"dist":{"shasum":"6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a","tarball":"http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz","readme":"ERROR: No README data found!"},"mtime":1432913550000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inflight/test.js","id":"inflight/test.js","options":{},"isModule":true,"requiredModules":["tap","inflight/inflight.js"],"mtime":1412318795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits"},"license":"ISC","scripts":{"test":"node test"},"readme":"Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n  superclass\n* new version overwrites current prototype while old one preserves any\n  existing fields on it\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/inherits/issues"},"homepage":"https://github.com/isaacs/inherits","_id":"inherits@2.0.1","_from":"inherits@>=2.0.0 <3.0.0"},"mtime":1432913550000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/browser.js","id":"minimatch/browser.js","options":{},"isModule":true,"requiredModules":["path","brace-expansion/index.js","concat-map/index.js","balanced-match/index.js"],"mtime":1431999474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/minimatch.js","id":"minimatch/minimatch.js","options":{},"isModule":true,"requiredModules":["path","brace-expansion/index.js"],"mtime":1430322211000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js","id":"brace-expansion/example.js","options":{},"isModule":true,"requiredModules":["brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js","id":"brace-expansion/index.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js","balanced-match/index.js"],"mtime":1417452674000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js","id":"balanced-match/example.js","options":{},"isModule":true,"requiredModules":["balanced-match/index.js"],"mtime":1398343162000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js","id":"balanced-match/index.js","options":{},"isModule":true,"mtime":1417340440000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json","data":{"name":"balanced-match","description":"Match balanced character pairs, like \"{\" and \"}\"","version":"0.2.0","repository":{"type":"git","url":"git://github.com/juliangruber/balanced-match.git"},"homepage":"https://github.com/juliangruber/balanced-match","main":"index.js","scripts":{"test":"make test"},"dependencies":{},"devDependencies":{"tape":"~1.1.1"},"keywords":["match","regexp","test","balanced","parse"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/20..latest","firefox/nightly","chrome/25..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"ba40ed78e7114a4a67c51da768a100184dead39c","bugs":{"url":"https://github.com/juliangruber/balanced-match/issues"},"_id":"balanced-match@0.2.0","_shasum":"38f6730c03aab6d5edbb52bd934885e756d71674","_from":"balanced-match@>=0.2.0 <0.3.0","_npmVersion":"2.1.8","_nodeVersion":"0.10.32","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"}],"dist":{"shasum":"38f6730c03aab6d5edbb52bd934885e756d71674","tarball":"http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz","readme":"ERROR: No README data found!"},"mtime":1432913551000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js","id":"balanced-match/test/balanced.js","options":{},"isModule":true,"requiredModules":["tape","balanced-match/index.js"],"mtime":1417340440000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js","id":"concat-map/example/map.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js"],"mtime":1339124034000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js","id":"concat-map/index.js","options":{},"isModule":true,"mtime":1354939769000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json","data":{"name":"concat-map","description":"concatenative mapdashery","version":"0.0.1","repository":{"type":"git","url":"git://github.com/substack/node-concat-map.git"},"main":"index.js","keywords":["concat","concatMap","map","functional","higher-order"],"directories":{"example":"example","test":"test"},"scripts":{"test":"tape test/*.js"},"devDependencies":{"tape":"~2.4.0"},"license":"MIT","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"testling":{"files":"test/*.js","browsers":{"ie":[6,7,8,9],"ff":[3.5,10,15],"chrome":[10,22],"safari":[5.1],"opera":[12]}},"bugs":{"url":"https://github.com/substack/node-concat-map/issues"},"homepage":"https://github.com/substack/node-concat-map","_id":"concat-map@0.0.1","dist":{"shasum":"d8a96bd77fd68df7793a73036a3ba0d5405d477b","tarball":"http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"},"_from":"concat-map@0.0.1","_npmVersion":"1.3.21","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"_shasum":"d8a96bd77fd68df7793a73036a3ba0d5405d477b","_resolved":"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1432913551000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js","id":"concat-map/test/map.js","options":{},"isModule":true,"requiredModules":["concat-map/index.js","tape"],"mtime":1354099176000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json","data":{"name":"brace-expansion","description":"Brace expansion as known from sh/bash","version":"1.1.0","repository":{"type":"git","url":"git://github.com/juliangruber/brace-expansion.git"},"homepage":"https://github.com/juliangruber/brace-expansion","main":"index.js","scripts":{"test":"tape test/*.js","gentest":"bash test/generate.sh"},"dependencies":{"balanced-match":"^0.2.0","concat-map":"0.0.1"},"devDependencies":{"tape":"^3.0.3"},"keywords":[],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","testling":{"files":"test/*.js","browsers":["ie/8..latest","firefox/20..latest","firefox/nightly","chrome/25..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"b5fa3b1c74e5e2dba2d0efa19b28335641bc1164","bugs":{"url":"https://github.com/juliangruber/brace-expansion/issues"},"_id":"brace-expansion@1.1.0","_shasum":"c9b7d03c03f37bc704be100e522b40db8f6cfcd9","_from":"brace-expansion@>=1.0.0 <2.0.0","_npmVersion":"2.1.10","_nodeVersion":"0.10.32","_npmUser":{"name":"juliangruber","email":"julian@juliangruber.com"},"maintainers":[{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"isaacs","email":"isaacs@npmjs.com"}],"dist":{"shasum":"c9b7d03c03f37bc704be100e522b40db8f6cfcd9","tarball":"http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz","readme":"ERROR: No README data found!"},"mtime":1432913551000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js","id":"brace-expansion/test/bash-comparison.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js","fs"],"mtime":1417452674000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js","id":"brace-expansion/test/dollar.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js","id":"brace-expansion/test/empty-option.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js","id":"brace-expansion/test/negative-increment.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js","id":"brace-expansion/test/nested.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js","id":"brace-expansion/test/order.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js","id":"brace-expansion/test/pad.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js","id":"brace-expansion/test/same-type.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js","id":"brace-expansion/test/sequence.js","options":{},"isModule":true,"requiredModules":["tape","brace-expansion/index.js"],"mtime":1417341393000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/minimatch/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"name":"minimatch","description":"a glob matcher in javascript","version":"2.0.8","repository":{"type":"git","url":"git://github.com/isaacs/minimatch.git"},"main":"minimatch.js","scripts":{"pretest":"standard minimatch.js test/*.js","test":"tap test/*.js","prepublish":"browserify -o browser.js -e minimatch.js --bare"},"engines":{"node":"*"},"dependencies":{"brace-expansion":"^1.0.0"},"devDependencies":{"browserify":"^9.0.3","standard":"^3.7.2","tap":""},"license":"ISC","files":["minimatch.js","browser.js"],"gitHead":"0bc7d9c4b2bc816502184862b45bd090de3406a3","bugs":{"url":"https://github.com/isaacs/minimatch/issues"},"homepage":"https://github.com/isaacs/minimatch#readme","_id":"minimatch@2.0.8","_shasum":"0bc20f6bf3570a698ef0ddff902063c6cabda6bf","_from":"minimatch@>=2.0.1 <3.0.0","_npmVersion":"2.10.0","_nodeVersion":"2.0.1","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"0bc20f6bf3570a698ef0ddff902063c6cabda6bf","tarball":"http://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_resolved":"https://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz","readme":"ERROR: No README data found!"},"mtime":1432913550000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/once/node_modules/wrappy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/once/node_modules/wrappy/package.json","data":{"name":"wrappy","version":"1.0.1","description":"Callback wrapping utility","main":"wrappy.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"^0.4.12"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/npm/wrappy"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/wrappy/issues"},"homepage":"https://github.com/npm/wrappy","gitHead":"006a8cbac6b99988315834c207896eed71fd069a","_id":"wrappy@1.0.1","_shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","_from":"wrappy@>=1.0.0 <2.0.0","_npmVersion":"2.0.0","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"1e65969965ccbc2db4548c6b84a6f2c5aedd4739","tarball":"http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"},"_resolved":"https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1432913551000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js","id":"wrappy/test/basic.js","options":{},"isModule":true,"requiredModules":["tap","wrappy/wrappy.js"],"mtime":1411082093000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js","id":"wrappy/wrappy.js","options":{},"isModule":true,"mtime":1411082022000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/once/once.js","id":"once/once.js","options":{},"isModule":true,"requiredModules":["wrappy/wrappy.js"],"mtime":1411081488000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/once/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/once/package.json","data":{"name":"once","version":"1.3.2","description":"Run a function exactly one time","main":"once.js","directories":{"test":"test"},"dependencies":{"wrappy":"1"},"devDependencies":{"tap":"~0.3.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/once.git"},"keywords":["once","function","one","single"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","gitHead":"e35eed5a7867574e2bf2260a1ba23970958b22f2","bugs":{"url":"https://github.com/isaacs/once/issues"},"homepage":"https://github.com/isaacs/once#readme","_id":"once@1.3.2","_shasum":"d8feeca93b039ec1dcdee7741c92bdac5e28081b","_from":"once@>=1.3.0 <2.0.0","_npmVersion":"2.9.1","_nodeVersion":"2.0.0","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"d8feeca93b039ec1dcdee7741c92bdac5e28081b","tarball":"http://registry.npmjs.org/once/-/once-1.3.2.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_resolved":"https://registry.npmjs.org/once/-/once-1.3.2.tgz","readme":"ERROR: No README data found!"},"mtime":1432913550000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/once/test/once.js","id":"once/test/once.js","options":{},"isModule":true,"requiredModules":["tap","once/once.js"],"mtime":1411081564000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/path-is-absolute/index.js","id":"path-is-absolute/index.js","options":{},"isModule":true,"mtime":1424141850000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/path-is-absolute/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/node_modules/path-is-absolute/package.json","data":{"name":"path-is-absolute","version":"1.0.0","description":"Node.js 0.12 path.isAbsolute() ponyfill","license":"MIT","repository":{"type":"git","url":"https://github.com/sindresorhus/path-is-absolute"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["path","paths","file","dir","absolute","isabsolute","is-absolute","built-in","util","utils","core","ponyfill","polyfill","shim","is","detect","check"],"gitHead":"7a76a0c9f2263192beedbe0a820e4d0baee5b7a1","bugs":{"url":"https://github.com/sindresorhus/path-is-absolute/issues"},"homepage":"https://github.com/sindresorhus/path-is-absolute","_id":"path-is-absolute@1.0.0","_shasum":"263dada66ab3f2fb10bf7f9d24dd8f3e570ef912","_from":"path-is-absolute@>=1.0.0 <2.0.0","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"dist":{"shasum":"263dada66ab3f2fb10bf7f9d24dd8f3e570ef912","tarball":"http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1432913550000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/package.json","data":{"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"name":"glob","description":"a little globber","version":"5.0.10","repository":{"type":"git","url":"git://github.com/isaacs/node-glob.git"},"main":"glob.js","files":["glob.js","sync.js","common.js"],"engines":{"node":"*"},"dependencies":{"inflight":"^1.0.4","inherits":"2","minimatch":"^2.0.1","once":"^1.3.0","path-is-absolute":"^1.0.0"},"devDependencies":{"mkdirp":"0","rimraf":"^2.2.8","tap":"^1.1.4","tick":"0.0.6"},"scripts":{"prepublish":"npm run benchclean","profclean":"rm -f v8.log profile.txt","test":"tap test/*.js --cov","test-regen":"npm run profclean && TEST_REGEN=1 node test/00-setup.js","bench":"bash benchmark.sh","prof":"bash prof.sh && cat profile.txt","benchclean":"bash benchclean.sh"},"license":"ISC","gitHead":"e3cdccc0e295c2e1d5f40cf74c73ea17a8319c5c","bugs":{"url":"https://github.com/isaacs/node-glob/issues"},"homepage":"https://github.com/isaacs/node-glob#readme","_id":"glob@5.0.10","_shasum":"3ee350319f31f352cef6899a48f6b6b7834c6899","_from":"glob@>=5.0.10 <5.1.0","_npmVersion":"2.10.1","_nodeVersion":"2.0.1","_npmUser":{"name":"isaacs","email":"isaacs@npmjs.com"},"dist":{"shasum":"3ee350319f31f352cef6899a48f6b6b7834c6899","tarball":"http://registry.npmjs.org/glob/-/glob-5.0.10.tgz"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_resolved":"https://registry.npmjs.org/glob/-/glob-5.0.10.tgz","readme":"ERROR: No README data found!"},"mtime":1432913550000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nan/tools/node_modules/glob/sync.js","id":"glob/sync.js","options":{},"isModule":true,"requiredModules":["fs","minimatch/minimatch.js","glob/glob.js","util/util.js","path","assert","path-is-absolute/index.js","glob/common.js"],"mtime":1432226678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/index.js","id":"nock/index.js","options":{},"isModule":true,"requiredModules":["nock/lib/recorder.js","nock/lib/scope.js","nock/lib/back.js"],"mtime":1420467633000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/back.js","id":"nock/lib/back.js","options":{},"isModule":true,"requiredModules":["nock/lib/scope.js","nock/lib/recorder.js","fs","util/util.js","mkdirp/index.js","path","chai/index.js"],"mtime":1420467633000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/common.js","id":"nock/lib/common.js","options":{},"isModule":true,"requiredModules":["lodash/index.js","debug/node.js","http","https"],"mtime":1415956584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/delayed_body.js","id":"nock/lib/delayed_body.js","options":{},"isModule":true,"requiredModules":["stream","events","util/util.js","timers"],"mtime":1420546136000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/intercept.js","id":"nock/lib/intercept.js","options":{},"isModule":true,"requiredModules":["nock/lib/request_overrider.js","nock/lib/common.js","url","util/util.js","http","lodash/index.js","debug/node.js","timers"],"mtime":1420546215000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/match_body.js","id":"nock/lib/match_body.js","options":{},"isModule":true,"requiredModules":["assert","querystring"],"mtime":1420222864000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/mixin.js","id":"nock/lib/mixin.js","options":{},"isModule":true,"mtime":1413544092000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/recorder.js","id":"nock/lib/recorder.js","options":{},"isModule":true,"requiredModules":["util/util.js","url","nock/lib/common.js","nock/lib/intercept.js","debug/node.js","lodash/index.js"],"mtime":1420662319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/request_overrider.js","id":"nock/lib/request_overrider.js","options":{},"isModule":true,"requiredModules":["events","http","propagate/index.js","nock/lib/delayed_body.js","nock/lib/common.js","nock/lib/socket.js","lodash/index.js","debug/node.js","timers"],"mtime":1420546400000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/scope.js","id":"nock/lib/scope.js","options":{},"isModule":true,"requiredModules":["fs","nock/lib/intercept.js","nock/lib/mixin.js","nock/lib/match_body.js","nock/lib/common.js","assert","url","lodash/index.js","debug/node.js"],"mtime":1418375358000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/lib/socket.js","id":"nock/lib/socket.js","options":{},"isModule":true,"requiredModules":["events"],"mtime":1413544483000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/bower.json","id":"chai/bower.json","options":{},"isModule":true,"mtime":1415626910000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/chai.js","id":"chai/chai.js","options":{},"isModule":true,"requiredModules":["chaijs~type-detect@0.1.1","buffer","chai/lib/chai.js","chaijs~assertion-error@1.0.0","chai/lib/chai/utils/index.js","chai/lib/chai/config.js","chai/lib/chai/assertion.js","chai/lib/chai/core/assertions.js","chai/lib/chai/interface/expect.js","chai/lib/chai/interface/should.js","chai/lib/chai/interface/assert.js","chai/lib/chai/utils/transferFlags.js","chai/lib/chai/utils/flag.js","chai/lib/chai/utils/getActual.js","chai/lib/chai/utils/inspect.js","chai/lib/chai/utils/objDisplay.js","chai/lib/chai/utils/test.js","chai/lib/chai/utils/type.js","chai/lib/chai/utils/getMessage.js","chaijs~deep-eql@0.1.3","chai/lib/chai/utils/getPathValue.js","chai/lib/chai/utils/getName.js","chai/lib/chai/utils/addProperty.js","chai/lib/chai/utils/addMethod.js","chai/lib/chai/utils/overwriteProperty.js","chai/lib/chai/utils/overwriteMethod.js","chai/lib/chai/utils/addChainableMethod.js","chai/lib/chai/utils/overwriteChainableMethod.js","chai/lib/chai/utils/getProperties.js","chai/lib/chai/utils/getEnumerableProperties.js","chai/index.js"],"mtime":1415626933000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/index.js","id":"chai/index.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/karma.conf.js","id":"chai/karma.conf.js","options":{},"isModule":true,"requiredModules":["chai/karma.sauce.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/karma.sauce.js","id":"chai/karma.sauce.js","options":{},"isModule":true,"requiredModules":["/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/package.json","./test/auth/index","chai/sauce.browsers.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/assertion.js","id":"chai/lib/chai/assertion.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai/config.js"],"mtime":1415626742000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/config.js","id":"chai/lib/chai/config.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/core/assertions.js","id":"chai/lib/chai/core/assertions.js","options":{},"isModule":true,"mtime":1415626742000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/interface/assert.js","id":"chai/lib/chai/interface/assert.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/interface/expect.js","id":"chai/lib/chai/interface/expect.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/interface/should.js","id":"chai/lib/chai/interface/should.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/addChainableMethod.js","id":"chai/lib/chai/utils/addChainableMethod.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai/utils/transferFlags.js","chai/lib/chai/utils/flag.js","chai/lib/chai/config.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/addMethod.js","id":"chai/lib/chai/utils/addMethod.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai/config.js","chai/lib/chai/utils/flag.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/addProperty.js","id":"chai/lib/chai/utils/addProperty.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/flag.js","id":"chai/lib/chai/utils/flag.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/getActual.js","id":"chai/lib/chai/utils/getActual.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/getEnumerableProperties.js","id":"chai/lib/chai/utils/getEnumerableProperties.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/getMessage.js","id":"chai/lib/chai/utils/getMessage.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai/utils/flag.js","chai/lib/chai/utils/getActual.js","chai/lib/chai/utils/inspect.js","chai/lib/chai/utils/objDisplay.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/getName.js","id":"chai/lib/chai/utils/getName.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/getPathValue.js","id":"chai/lib/chai/utils/getPathValue.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/getProperties.js","id":"chai/lib/chai/utils/getProperties.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/index.js","id":"chai/lib/chai/utils/index.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai/utils/test.js","chai/lib/chai/utils/type.js","chai/lib/chai/utils/getMessage.js","chai/lib/chai/utils/getActual.js","chai/lib/chai/utils/inspect.js","chai/lib/chai/utils/objDisplay.js","chai/lib/chai/utils/flag.js","chai/lib/chai/utils/transferFlags.js","deep-eql/index.js","chai/lib/chai/utils/getPathValue.js","chai/lib/chai/utils/getName.js","chai/lib/chai/utils/addProperty.js","chai/lib/chai/utils/addMethod.js","chai/lib/chai/utils/overwriteProperty.js","chai/lib/chai/utils/overwriteMethod.js","chai/lib/chai/utils/addChainableMethod.js","chai/lib/chai/utils/overwriteChainableMethod.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/inspect.js","id":"chai/lib/chai/utils/inspect.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai/utils/getName.js","chai/lib/chai/utils/getProperties.js","chai/lib/chai/utils/getEnumerableProperties.js"],"mtime":1415626742000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/objDisplay.js","id":"chai/lib/chai/utils/objDisplay.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai/utils/inspect.js","chai/lib/chai/config.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js","id":"chai/lib/chai/utils/overwriteChainableMethod.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/overwriteMethod.js","id":"chai/lib/chai/utils/overwriteMethod.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/overwriteProperty.js","id":"chai/lib/chai/utils/overwriteProperty.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/test.js","id":"chai/lib/chai/utils/test.js","options":{},"isModule":true,"requiredModules":["chai/lib/chai/utils/flag.js"],"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/transferFlags.js","id":"chai/lib/chai/utils/transferFlags.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai/utils/type.js","id":"chai/lib/chai/utils/type.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/lib/chai.js","id":"chai/lib/chai.js","options":{},"isModule":true,"requiredModules":["assertion-error/index.js","chai/lib/chai/utils/index.js","chai/lib/chai/config.js","chai/lib/chai/assertion.js","chai/lib/chai/core/assertions.js","chai/lib/chai/interface/expect.js","chai/lib/chai/interface/should.js","chai/lib/chai/interface/assert.js"],"mtime":1415626928000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/assertion-error/index.js","id":"assertion-error/index.js","options":{},"isModule":true,"mtime":1370722638000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/assertion-error/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/assertion-error/package.json","data":{"name":"assertion-error","version":"1.0.0","description":"Error constructor for test and validation frameworks that implements standardized AssertionError specification.","author":{"name":"Jake Luer","email":"jake@qualiancy.com","url":"http://qualiancy.com"},"license":"MIT","keywords":["test","assertion","assertion-error"],"repository":{"type":"git","url":"git@github.com:chaijs/assertion-error.git"},"engines":{"node":"*"},"main":"./index","scripts":{"test":"make test"},"dependencies":{},"devDependencies":{"component":"*"},"bugs":{"url":"https://github.com/chaijs/assertion-error/issues"},"_id":"assertion-error@1.0.0","dist":{"shasum":"c7f85438fdd466bc7ca16ab90c81513797a5d23b","tarball":"http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz"},"_from":"assertion-error@1.0.0","_npmVersion":"1.2.23","_npmUser":{"name":"jakeluer","email":"jake@alogicalparadox.com"},"maintainers":[{"name":"jakeluer","email":"jake@alogicalparadox.com"}],"directories":{},"_shasum":"c7f85438fdd466bc7ca16ab90c81513797a5d23b","_resolved":"https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz"},"mtime":1439487650000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/index.js","id":"deep-eql/index.js","options":{},"isModule":true,"requiredModules":["deep-eql/lib/eql.js"],"mtime":1381401417000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/karma.conf.js","id":"deep-eql/karma.conf.js","options":{},"isModule":true,"mtime":1379447601000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/lib/eql.js","id":"deep-eql/lib/eql.js","options":{},"isModule":true,"requiredModules":["type-detect/index.js","buffer"],"mtime":1379520445000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/node_modules/type-detect/index.js","id":"type-detect/index.js","options":{},"isModule":true,"requiredModules":["type-detect/lib/type.js"],"mtime":1381401198000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/node_modules/type-detect/lib/type.js","id":"type-detect/lib/type.js","options":{},"isModule":true,"mtime":1381401198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/node_modules/type-detect/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/node_modules/type-detect/package.json","data":{"name":"type-detect","version":"0.1.1","description":"Improved typeof detection for node.js and the browser.","author":{"name":"Jake Luer","email":"jake@alogicalparadox.com","url":"http://alogicalparadox.com"},"license":"MIT","keywords":[],"repository":{"type":"git","url":"git@github.com:chaijs/type-detect.git"},"engines":{"node":"*"},"main":"./index","scripts":{"test":"make test"},"dependencies":{},"devDependencies":{"component":"*","coveralls":"2.0.16","jscoverage":"0.3.7","mocha":"*","mocha-lcov-reporter":"0.0.1","mocha-phantomjs":"*","simple-assert":"*"},"bugs":{"url":"https://github.com/chaijs/type-detect/issues"},"_id":"type-detect@0.1.1","dist":{"shasum":"0ba5ec2a885640e470ea4e8505971900dac58822","tarball":"http://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz"},"_from":"type-detect@0.1.1","_npmVersion":"1.3.11","_npmUser":{"name":"jakeluer","email":"jake@alogicalparadox.com"},"maintainers":[{"name":"jakeluer","email":"jake@alogicalparadox.com"}],"directories":{},"_shasum":"0ba5ec2a885640e470ea4e8505971900dac58822","_resolved":"https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz"},"mtime":1439487650000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/node_modules/deep-eql/package.json","data":{"name":"deep-eql","version":"0.1.3","description":"Improved deep equality testing for Node.js and the browser.","author":{"name":"Jake Luer","email":"jake@alogicalparadox.com"},"license":"MIT","keywords":["deep equal","object equal","testing","chai util"],"repository":{"type":"git","url":"git@github.com:chaijs/deep-eql.git"},"engines":{"node":"*"},"main":"./index","scripts":{"test":"make test"},"dependencies":{"type-detect":"0.1.1"},"devDependencies":{"component":"*","coveralls":"2.0.16","jscoverage":"0.3.7","karma":"0.10.x","karma-mocha":"*","mocha":"*","mocha-lcov-reporter":"0.0.1","simple-assert":"*"},"bugs":{"url":"https://github.com/chaijs/deep-eql/issues"},"_id":"deep-eql@0.1.3","dist":{"shasum":"ef558acab8de25206cd713906d74e56930eb69f2","tarball":"http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz"},"_from":"deep-eql@0.1.3","_npmVersion":"1.3.11","_npmUser":{"name":"jakeluer","email":"jake@alogicalparadox.com"},"maintainers":[{"name":"jakeluer","email":"jake@alogicalparadox.com"}],"directories":{},"_shasum":"ef558acab8de25206cd713906d74e56930eb69f2","_resolved":"https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz"},"mtime":1439487650000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/package.json","data":{"author":{"name":"Jake Luer","email":"jake@alogicalparadox.com"},"name":"chai","description":"BDD/TDD assertion library for node.js and the browser. Test framework agnostic.","keywords":["test","assertion","assert","testing","chai"],"homepage":"http://chaijs.com","license":"MIT","contributors":[{"name":"Jake Luer","email":"jake@alogicalparadox.com"},{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"},{"name":"Veselin Todorov","email":"hi@vesln.com"},{"name":"John Firebaugh","email":"john.firebaugh@gmail.com"}],"version":"1.10.0","repository":{"type":"git","url":"https://github.com/chaijs/chai"},"bugs":{"url":"https://github.com/chaijs/chai/issues"},"main":"./index","scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"assertion-error":"1.0.0","deep-eql":"0.1.3"},"devDependencies":{"component":"*","karma":"0.12.x","karma-mocha":"*","karma-sauce-launcher":"0.2.x","karma-phantomjs-launcher":"0.1.1","mocha":"1.21.x","istanbul":"0.2.x"},"gitHead":"c8b3208ce4237d4e0b16508174d616f155c984a2","_id":"chai@1.10.0","_shasum":"e4031cc87654461a75943e5a35ab46eaf39c1eb9","_from":"chai@>=1.9.2 <2.0.0","_npmVersion":"2.0.0","_npmUser":{"name":"jakeluer","email":"jake@alogicalparadox.com"},"maintainers":[{"name":"jakeluer","email":"jake.luer@incatern.com"}],"dist":{"shasum":"e4031cc87654461a75943e5a35ab46eaf39c1eb9","tarball":"http://registry.npmjs.org/chai/-/chai-1.10.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/chai/-/chai-1.10.0.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/chai/sauce.browsers.js","id":"chai/sauce.browsers.js","options":{},"isModule":true,"mtime":1412031798000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/browser.js","id":"debug/browser.js","options":{},"isModule":true,"requiredModules":["debug/debug.js"],"mtime":1405464866000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/component.json","id":"debug/component.json","options":{},"isModule":true,"mtime":1405466155000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"requiredModules":["ms/index.js"],"mtime":1405465856000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/node.js","id":"debug/node.js","options":{},"isModule":true,"requiredModules":["tty","util/util.js","debug/debug.js"],"mtime":1402210594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1386259032000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/node_modules/ms/package.json","data":{"name":"ms","version":"0.6.2","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"readme":"# ms.js: miliseconds conversion utility\n\n```js\nms('1d')      // 86400000\nms('10h')     // 36000000\nms('2h')      // 7200000\nms('1m')      // 60000\nms('5s')      // 5000\nms('100')     // 100\n```\n\n```js\nms(60000)             // \"1m\"\nms(2 * 60000)         // \"2m\"\nms(ms('10 hours'))    // \"10h\"\n```\n\n```js\nms(60000, { long: true })             // \"1 minute\"\nms(2 * 60000, { long: true })         // \"2 minutes\"\nms(ms('10 hours', { long: true }))    // \"10 hours\"\n```\n\n- Node/Browser compatible. Published as `ms` in NPM.\n- If a number is supplied to `ms`, a string with a unit is returned.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `'100'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n\n## License\n\nMIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.6.2","_shasum":"d89c2124c6fdc1353d65a8b77bf1aac4b193708c","_from":"ms@0.6.2","_resolved":"https://registry.npmjs.org/ms/-/ms-0.6.2.tgz","scripts":{}},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/debug/package.json","data":{"name":"debug","version":"1.0.4","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io"}],"dependencies":{"ms":"0.6.2"},"devDependencies":{"browserify":"4.1.6","mocha":"*"},"main":"./node.js","browser":"./browser.js","component":{"scripts":{"debug/index.js":"browser.js","debug/debug.js":"debug.js"}},"readme":"# debug\n\n  tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n  , http = require('http')\n  , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n  debug(req.method + ' ' + req.url);\n  res.end('hello\\n');\n}).listen(3000, function(){\n  debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n  debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n  ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n  ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n  When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n  ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n  When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n  ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n  The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n  You can also exclude specific debuggers by prefixing them with a \"-\" character.  For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n  Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable('worker:*')` in the console and refresh the page, this will remain until you disable with `debug.disable()`.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n  a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n  b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n  Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n  option. These are WebKit web inspectors, Firefox ([since version\n  31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n  and the Firebug plugin for Firefox (any version).\n\n  Colored output looks something like:\n\n  ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stderr.js_:\n\n```js\nvar debug = require('../');\nvar log = debug('app:log');\n\n// by default console.log is used\nlog('goes to stdout!');\n\nvar error = debug('app:error');\n// set this namespace to log via console.error\nerror.log = console.error.bind(console); // don't forget to bind to console!\nerror('goes to stderr');\nlog('still goes to stdout!');\n\n// set all output to go via console.warn\n// overrides all per-namespace log settings\ndebug.log = console.warn.bind(console);\nlog('now goes to stderr via console.warn');\nerror('still goes to stderr, but via console.warn now');\n```\n\n## Authors\n\n - TJ Holowaychuk\n - Nathan Rajlich\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@1.0.4","_shasum":"5b9c256bd54b6ec02283176fa8a0ede6d154cbf8","_from":"debug@>=1.0.4 <2.0.0","_resolved":"https://registry.npmjs.org/debug/-/debug-1.0.4.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/dist/lodash.compat.js","id":"lodash/dist/lodash.compat.js","options":{},"isModule":true,"mtime":1386055084000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/dist/lodash.compat.min.js","id":"lodash/dist/lodash.compat.min.js","options":{},"isModule":true,"mtime":1386055092000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/dist/lodash.js","id":"lodash/dist/lodash.js","options":{},"isModule":true,"mtime":1386055096000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/dist/lodash.min.js","id":"lodash/dist/lodash.min.js","options":{},"isModule":true,"mtime":1386055103000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/dist/lodash.underscore.js","id":"lodash/dist/lodash.underscore.js","options":{},"isModule":true,"mtime":1386055106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/dist/lodash.underscore.min.js","id":"lodash/dist/lodash.underscore.min.js","options":{},"isModule":true,"mtime":1386055112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/lodash.js","id":"lodash/lodash.js","options":{},"isModule":true,"mtime":1386054705000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/lodash/package.json","data":{"name":"lodash","version":"2.4.1","description":"A utility library delivering consistency, customization, performance, & extras.","homepage":"http://lodash.com/","license":"MIT","main":"dist/lodash.js","keywords":["amd","browser","client","customize","functional","server","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"http://mathiasbynens.be/"}],"bugs":{"url":"https://github.com/lodash/lodash/issues"},"repository":{"type":"git","url":"https://github.com/lodash/lodash.git"},"engines":["node","rhino"],"files":["LICENSE.txt","lodash.js","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"],"jam":{"main":"dist/lodash.compat.js","include":["LICENSE.txt","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"]},"volo":{"type":"directory","ignore":[".*","*.custom.*","*.min.*","*.template.*","*.map","*.md","lodash.js","index.js","bower.json","component.json","doc","modularize","node_modules","perf","test","vendor"]},"_id":"lodash@2.4.1","dist":{"shasum":"5b7723034dda4d262e5a46fb2c58d7cc22f71420","tarball":"http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"},"_from":"lodash@2.4.1","_npmVersion":"1.3.14","_npmUser":{"name":"jdalton","email":"john.david.dalton@gmail.com"},"maintainers":[{"name":"jdalton","email":"john.david.dalton@gmail.com"},{"name":"mathias","email":"mathias@qiwi.be"},{"name":"phated","email":"blaine@iceddev.com"},{"name":"kitcambridge","email":"github@kitcambridge.be"}],"directories":{},"_shasum":"5b7723034dda4d262e5a46fb2c58d7cc22f71420","_resolved":"https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/bin/cmd.js","id":"mkdirp/bin/cmd.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","minimist/index.js","fs"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1431570694000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/example/parse.js","id":"minimist/example/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js"],"mtime":1372147306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/index.js","id":"minimist/index.js","options":{},"isModule":true,"mtime":1392957961000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/package.json","data":{"name":"minimist","version":"0.0.8","description":"parse argument options","main":"index.js","devDependencies":{"tape":"~1.0.4","tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/6..latest","ff/5","firefox/latest","chrome/10","chrome/latest","safari/5.1","safari/latest","opera/12"]},"repository":{"type":"git","url":"git://github.com/substack/minimist.git"},"homepage":"https://github.com/substack/minimist","keywords":["argv","getopt","parser","optimist"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/minimist/issues"},"_id":"minimist@0.0.8","dist":{"shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","tarball":"http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"},"_from":"minimist@0.0.8","_npmVersion":"1.4.3","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{},"_shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","_resolved":"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/test/dash.js","id":"minimist/test/dash.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1389378397000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/test/default_bool.js","id":"minimist/test/default_bool.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372147071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/test/dotted.js","id":"minimist/test/dotted.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1377730679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/test/long.js","id":"minimist/test/long.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372143145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/test/parse.js","id":"minimist/test/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1392957961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js","id":"minimist/test/parse_modified.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372145355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/test/short.js","id":"minimist/test/short.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1391917546000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/node_modules/minimist/test/whitespace.js","id":"minimist/test/whitespace.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372148159000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.1","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"index.js","keywords":["mkdir","directory"],"repository":{"type":"git","url":"git+https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"0.0.8"},"devDependencies":{"tap":"1","mock-fs":"2 >=2.7.0"},"bin":{"mkdirp":"bin/cmd.js"},"license":"MIT","gitHead":"d4eff0f06093aed4f387e88e9fc301cb76beedc7","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp#readme","_id":"mkdirp@0.5.1","_shasum":"30057438eac6cf7f8c4767f38648d6697d75c903","_from":"mkdirp@>=0.5.0 <0.6.0","_npmVersion":"2.9.0","_nodeVersion":"2.0.0","_npmUser":{"name":"substack","email":"substack@gmail.com"},"dist":{"shasum":"30057438eac6cf7f8c4767f38648d6697d75c903","tarball":"http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{},"_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/opts_fs.js","id":"mkdirp/test/opts_fs.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/opts_fs_sync.js","id":"mkdirp/test/opts_fs_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/propagate/index.js","id":"propagate/index.js","options":{},"isModule":true,"mtime":1422954834000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/propagate/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/propagate/package.json","data":{"name":"propagate","description":"Propagate events","version":"0.3.1","author":{"name":"Pedro Teixeira","email":"pedro.teixeira@gmail.com"},"contributors":[{"name":"Pedro Teixeira"}],"repository":{"type":"git","url":"http://github.com/pgte/propagate.git"},"bugs":{"url":"http://github.com/pgte/propagate/issues"},"engines":["node >= 0.8.1"],"main":"./index.js","dependencies":{},"devDependencies":{"tap":"0.3.x"},"scripts":{"test":"node node_modules/tap/bin/tap.js tests/index.js"},"tags":["event","emitter","propagation"],"license":"MIT","gitHead":"072a306e38856c807406b1507f81e79b54dd238f","homepage":"https://github.com/pgte/propagate","_id":"propagate@0.3.1","_shasum":"e3a84404a7ece820dd6bbea9f6d924e3135ae09c","_from":"propagate@>=0.3.0 <0.4.0","_npmVersion":"1.4.28","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"}],"dist":{"shasum":"e3a84404a7ece820dd6bbea9f6d924e3135ae09c","tarball":"http://registry.npmjs.org/propagate/-/propagate-0.3.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/propagate/-/propagate-0.3.1.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/node_modules/propagate/tests/index.js","id":"propagate/tests/index.js","options":{},"isModule":true,"requiredModules":["tap","events","propagate/index.js"],"mtime":1422954834000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/nock/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/nock/package.json","data":{"name":"nock","description":"HTTP Server mocking for Node.js","tags":["Mock","HTTP","testing","isolation"],"version":"0.56.0","author":{"name":"Pedro Teixeira","email":"pedro.teixeira@gmail.com"},"contributors":[{"name":"Roly Fentanes"},{"name":"Alexander Simmerl"},{"name":"Pedro Teixeira"},{"name":"Nuno Job"},{"name":"Ian Young"},{"name":"nilsbunger"},{"name":"bacchusrx","email":"bacchusrx@eightstar.ca"},{"name":"Fabiano França"},{"name":"Sascha Drews"},{"name":"Mike Swift"},{"name":"James Herdman"},{"name":"David Björklund"},{"name":"Andrew Kramolisch"},{"name":"Balazs Nagy"},{"name":"Brian J Brennan"},{"name":"Attila Incze"},{"name":"Mac Angell"},{"name":"Tom Hosford"},{"name":"Aurélien Thieriot"},{"name":"Alex Zylman"},{"name":"Celestino Gomes","email":"contact@tinogomes.com"},{"name":"David Rousselie"},{"name":"spenceralger"},{"name":"Ivan Erceg","email":"ivan@softwaremarbles.com","url":"https://github.com/ierceg"},{"name":"Keith Laban","email":"kelaban17@gmail.com","url":"https://github.com/kelaban"}],"repository":{"type":"git","url":"http://github.com/pgte/nock.git"},"bugs":{"url":"http://github.com/pgte/nock/issues"},"engines":["node >= 0.10.0"],"main":"./index","dependencies":{"chai":"^1.9.2","debug":"^1.0.4","lodash":"2.4.1","mkdirp":"^0.5.0","propagate":"0.3.x"},"devDependencies":{"aws-sdk":"^2.0.15","hyperquest":"^0.3.0","jshint":"^2.5.6","needle":"^0.7.1","pre-commit":"0.0.9","request":"*","restler":"3.2.2","restify":"^2.8.1","superagent":"~0.15.7","tap":"*"},"scripts":{"test":"node node_modules/tap/bin/tap.js --dd tests","jshint":"jshint lib/*.js"},"pre-commit":["jshint","test"],"license":"MIT","gitHead":"bccc54dd5931a7c8f057ddb23fffa546b7dedbc2","homepage":"https://github.com/pgte/nock","_id":"nock@0.56.0","_shasum":"29dbc1cdcb457d66f0cc7f96c7b294023924f2c3","_from":"nock@>=0.56.0 <0.57.0","_npmVersion":"1.4.28","_npmUser":{"name":"pgte","email":"pedro.teixeira@gmail.com"},"maintainers":[{"name":"pgte","email":"pedro.teixeira@gmail.com"},{"name":"svnlto","email":"me@svenlito.com"}],"dist":{"shasum":"29dbc1cdcb457d66f0cc7f96c7b294023924f2c3","tarball":"http://registry.npmjs.org/nock/-/nock-0.56.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/nock/-/nock-0.56.0.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/fixtures/goodRequest.json","id":"nock/tests/fixtures/goodRequest.json","options":{},"isModule":true,"mtime":1420467633000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/fixtures/wrongUri.json","id":"nock/tests/fixtures/wrongUri.json","options":{},"isModule":true,"mtime":1420467633000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/test_aws_dynamo.js","id":"nock/tests/test_aws_dynamo.js","options":{},"isModule":true,"requiredModules":["nock/index.js","aws-sdk/lib/aws.js","tap"],"mtime":1419105589000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/test_back.js","id":"nock/tests/test_back.js","options":{},"isModule":true,"requiredModules":["nock/index.js","tap","http","fs"],"mtime":1420467633000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/test_common.js","id":"nock/tests/test_common.js","options":{},"isModule":true,"requiredModules":["nock/lib/common.js","tap","nock/lib/match_body.js"],"mtime":1416905675000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/test_intercept.js","id":"nock/tests/test_intercept.js","options":{},"isModule":true,"requiredModules":["fs","nock/index.js","http","https","util/util.js","events","stream","tap","request/index.js","superagent/lib/node/index.js","needle","restify","domain","hyperquest"],"mtime":1420222864000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/test_nock_off.js","id":"nock/tests/test_nock_off.js","options":{},"isModule":true,"requiredModules":["tap","request/index.js","nock/index.js"],"mtime":1414595299000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/test_recorder.js","id":"nock/tests/test_recorder.js","options":{},"isModule":true,"requiredModules":["nock/index.js","tap","http","https","lodash/index.js","debug/node.js","request/index.js","superagent/lib/node/index.js","restler"],"mtime":1420662319000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/nock/tests/test_s3.js","id":"nock/tests/test_s3.js","options":{},"isModule":true,"requiredModules":["nock/index.js","aws-sdk/lib/aws.js","tap"],"mtime":1420546017000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/node-json-minify/json.minify.js","id":"node-json-minify/json.minify.js","options":{},"isModule":true,"mtime":1389629014000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/node-json-minify/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/node-json-minify/package.json","data":{"name":"node-json-minify","description":"minifies blocks of JSON-like content into valid JSON by removing all whitespace *and* comments","keywords":["util","functional","json","minify"],"author":{"name":"Kyle Simpson","email":"getify@gmail.com"},"contributors":[{"name":"Nathan Hanna","email":"semanio@gmail.com"}],"repository":{"type":"git","url":"git://github.com/getify/JSON.minify.git"},"main":"json.minify.js","version":"0.1.3-a","readme":"/*! JSON.minify()\n\tv0.1 (c) Kyle Simpson\n\tMIT License\n*/\n\nJSON.minify() minifies blocks of JSON-like content into valid JSON by removing all \nwhitespace *and* comments.\n\nJSON parsers (like JavaScript's JSON.parse() parser) generally don't consider JSON\nwith comments to be valid and parseable. So, the intended usage is to minify \ndevelopment-friendly JSON (with comments) to valid JSON before parsing, such as:\n\nJSON.parse(JSON.minify(str));\n\nNow you can maintain development-friendly JSON documents, but minify them before\nparsing or before transmitting them over-the-wire.\n\nThough comments are not officially part of the JSON standard, this post from\nDouglas Crockford back in late 2005 helps explain the motivation behind this project.\n\nhttp://tech.groups.yahoo.com/group/json/message/152\n\n\"A JSON encoder MUST NOT output comments. A JSON decoder MAY accept and ignore comments.\"\n\nBasically, comments are not in the JSON *generation* standard, but that doesn't mean\nthat a parser can't be taught to ignore them. Which is exactly what JSON.minify()\nis for.\n\nThe first implementation of JSON.minify() is in JavaScript, but the intent is to\nport the implementation to as many other environments as possible/practical.\n\n----------\nTo use in node via npm:\n\nnpm install node-json-minify\n\nThen in code:\n\nJSON.minify = JSON.minify || require(\"node-json-minify\");\n\nvar myjson = JSON.minify( '{ /* comment */ \"foo\": 42 \\n }' ); // {\"foo\":42}\n----------\n\nNOTE: As transmitting bloated (ie, with comments/whitespace) JSON would be wasteful\nand silly, this JSON.minify() is intended for use in server-side processing\nenvironments where you can strip comments/whitespace from JSON before parsing\na JSON document, or before transmitting such over-the-wire from server to browser.\n","readmeFilename":"README.txt","bugs":{"url":"https://github.com/getify/JSON.minify/issues"},"homepage":"https://github.com/getify/JSON.minify","_id":"node-json-minify@0.1.3-a","_shasum":"923559b01d3a77f39031e13dbd50399cb7b2b297","_from":"node-json-minify@^0.1.3-a","_resolved":"https://registry.npmjs.org/node-json-minify/-/node-json-minify-0.1.3-a.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/lib/authenticator.js","id":"passport/lib/authenticator.js","options":{},"isModule":true,"requiredModules":["passport/lib/strategies/session.js","passport/lib/framework/connect.js"],"mtime":1409415994000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/lib/errors/authenticationerror.js","id":"passport/lib/errors/authenticationerror.js","options":{},"isModule":true,"mtime":1409413821000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/lib/framework/connect.js","id":"passport/lib/framework/connect.js","options":{},"isModule":true,"requiredModules":["passport/lib/middleware/initialize.js","passport/lib/middleware/authenticate.js","passport/lib/http/request.js"],"mtime":1409413821000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/lib/http/request.js","id":"passport/lib/http/request.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1409413821000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/lib/index.js","id":"passport/lib/index.js","options":{},"isModule":true,"requiredModules":["passport/lib/authenticator.js","passport/lib/strategies/session.js","passport-strategy/lib/index.js"],"mtime":1409413821000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/lib/middleware/authenticate.js","id":"passport/lib/middleware/authenticate.js","options":{},"isModule":true,"requiredModules":["http","passport/lib/errors/authenticationerror.js"],"mtime":1409419727000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/lib/middleware/initialize.js","id":"passport/lib/middleware/initialize.js","options":{},"isModule":true,"mtime":1409413821000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/lib/strategies/session.js","id":"passport/lib/strategies/session.js","options":{},"isModule":true,"requiredModules":["pause/index.js","util/util.js","passport-strategy/lib/index.js"],"mtime":1409413821000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/node_modules/passport-strategy/lib/index.js","id":"passport-strategy/lib/index.js","options":{},"isModule":true,"requiredModules":["passport-strategy/lib/strategy.js"],"mtime":1375387413000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/node_modules/passport-strategy/lib/strategy.js","id":"passport-strategy/lib/strategy.js","options":{},"isModule":true,"mtime":1375388335000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/passport/node_modules/passport-strategy/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/passport/node_modules/passport-strategy/package.json","data":{"name":"passport-strategy","version":"1.0.0","description":"An abstract class implementing Passport's strategy API.","keywords":["passport","strategy"],"repository":{"type":"git","url":"git://github.com/jaredhanson/passport-strategy.git"},"bugs":{"url":"http://github.com/jaredhanson/passport-strategy/issues"},"author":{"name":"Jared Hanson","email":"jaredhanson@gmail.com","url":"http://www.jaredhanson.net/"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"main":"./lib","dependencies":{},"devDependencies":{"mocha":"1.x.x","chai":"1.x.x"},"engines":{"node":">= 0.4.0"},"scripts":{"test":"mocha --reporter spec --require test/bootstrap/node test/*.test.js"},"testling":{"browsers":["chrome/latest"],"harness":"mocha","files":["test/bootstrap/testling.js","test/*.test.js"]},"readme":"# passport-strategy\n\n[![Build](https://travis-ci.org/jaredhanson/passport-strategy.png)](http://travis-ci.org/jaredhanson/passport-strategy)\n[![Coverage](https://coveralls.io/repos/jaredhanson/passport-strategy/badge.png)](https://coveralls.io/r/jaredhanson/passport-strategy)\n[![Dependencies](https://david-dm.org/jaredhanson/passport-strategy.png)](http://david-dm.org/jaredhanson/passport-strategy)\n\n\nAn abstract class implementing [Passport](http://passportjs.org/)'s strategy\nAPI.\n\n## Install\n\n    $ npm install passport-strategy\n\n## Usage\n\nThis module exports an abstract `Strategy` class that is intended to be\nsubclassed when implementing concrete authentication strategies.  Once\nimplemented, such strategies can be used by applications that utilize Passport\nmiddleware for authentication.\n\n#### Subclass Strategy\n\nCreate a new `CustomStrategy` constructor which inherits from `Strategy`:\n\n```javascript\nvar util = require('util')\n  , Strategy = require('passport-strategy');\n\nfunction CustomStrategy(...) {\n  Strategy.call(this);\n}\n\nutil.inherits(CustomStrategy, Strategy);\n```\n\n#### Implement Authentication\n\nImplement `autheticate()`, performing the necessary operations required by the\nauthentication scheme or protocol being implemented.\n\n```javascript\nCustomStrategy.prototype.authenticate = function(req, options) {\n  // TODO: authenticate request\n}\n```\n\n## Tests\n\n    $ npm install\n    $ npm test\n\n## Credits\n\n  - [Jared Hanson](http://github.com/jaredhanson)\n\n## License\n\n[The MIT License](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2011-2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>\n","readmeFilename":"README.md","homepage":"https://github.com/jaredhanson/passport-strategy","_id":"passport-strategy@1.0.0","_from":"passport-strategy@1.x.x"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport/node_modules/pause/index.js","id":"pause/index.js","options":{},"isModule":true,"mtime":1342720822000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/passport/node_modules/pause/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/passport/node_modules/pause/package.json","data":{"name":"pause","version":"0.0.1","description":"Pause streams...","keywords":[],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"main":"index","readme":"\n# pause\n\n  Pause streams...\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","readmeFilename":"Readme.md","_id":"pause@0.0.1","_shasum":"1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d","_from":"pause@0.0.1","_resolved":"https://registry.npmjs.org/pause/-/pause-0.0.1.tgz","scripts":{}},"mtime":1415897187000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/passport/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/passport/package.json","data":{"name":"passport","version":"0.2.1","description":"Simple, unobtrusive authentication for Node.js.","keywords":["express","connect","auth","authn","authentication"],"author":{"name":"Jared Hanson","email":"jaredhanson@gmail.com","url":"http://www.jaredhanson.net/"},"homepage":"http://passportjs.org/","repository":{"type":"git","url":"git://github.com/jaredhanson/passport.git"},"bugs":{"url":"http://github.com/jaredhanson/passport/issues"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"main":"./lib","dependencies":{"passport-strategy":"1.x.x","pause":"0.0.1"},"devDependencies":{"mocha":"1.x.x","chai":"1.x.x","chai-connect-middleware":"0.3.x","chai-passport-strategy":"0.2.x","proxyquire":"0.5.x"},"engines":{"node":">= 0.4.0"},"scripts":{"test":"mocha --reporter spec --require test/bootstrap/node test/*.test.js test/**/*.test.js"},"readme":"# Passport\n\n[![Build](https://travis-ci.org/jaredhanson/passport.png)](https://travis-ci.org/jaredhanson/passport)\n[![Coverage](https://coveralls.io/repos/jaredhanson/passport/badge.png)](https://coveralls.io/r/jaredhanson/passport)\n[![Quality](https://codeclimate.com/github/jaredhanson/passport.png)](https://codeclimate.com/github/jaredhanson/passport)\n[![Dependencies](https://david-dm.org/jaredhanson/passport.png)](https://david-dm.org/jaredhanson/passport)\n[![Tips](http://img.shields.io/gittip/jaredhanson.png)](https://www.gittip.com/jaredhanson/)\n\n\nPassport is [Express](http://expressjs.com/)-compatible authentication\nmiddleware for [Node.js](http://nodejs.org/).\n\nPassport's sole purpose is to authenticate requests, which it does through an\nextensible set of plugins known as _strategies_.  Passport does not mount\nroutes or assume any particular database schema, which maximizes flexiblity and\nallows application-level decisions to be made by the developer.  The API is\nsimple: you provide Passport a request to authenticate, and Passport provides\nhooks for controlling what occurs when authentication succeeds or fails.\n\n## Install\n\n    $ npm install passport\n\n## Usage\n\n#### Strategies\n\nPassport uses the concept of strategies to authenticate requests.  Strategies\ncan range from verifying username and password credentials, delegated\nauthentication using [OAuth](http://oauth.net/) (for example, via [Facebook](http://www.facebook.com/)\nor [Twitter](http://twitter.com/)), or federated authentication using [OpenID](http://openid.net/).\n\nBefore authenticating requests, the strategy (or strategies) used by an\napplication must be configured.\n\n    passport.use(new LocalStrategy(\n      function(username, password, done) {\n        User.findOne({ username: username }, function (err, user) {\n          if (err) { return done(err); }\n          if (!user) { return done(null, false); }\n          if (!user.verifyPassword(password)) { return done(null, false); }\n          return done(null, user);\n        });\n      }\n    ));\n\n#### Sessions\n\nPassport will maintain persistent login sessions.  In order for persistent\nsessions to work, the authenticated user must be serialized to the session, and\ndeserialized when subsequent requests are made.\n\nPassport does not impose any restrictions on how your user records are stored.\nInstead, you provide functions to Passport which implements the necessary\nserialization and deserialization logic.  In a typical application, this will be\nas simple as serializing the user ID, and finding the user by ID when\ndeserializing.\n\n    passport.serializeUser(function(user, done) {\n      done(null, user.id);\n    });\n\n    passport.deserializeUser(function(id, done) {\n      User.findById(id, function (err, user) {\n        done(err, user);\n      });\n    });\n\n#### Middleware\n\nTo use Passport in an [Express](http://expressjs.com/) or\n[Connect](http://senchalabs.github.com/connect/)-based application, configure it\nwith the required `passport.initialize()` middleware.  If your application uses\npersistent login sessions (recommended, but not required), `passport.session()`\nmiddleware must also be used.\n\n    app.configure(function() {\n      app.use(express.static(__dirname + '/../../public'));\n      app.use(express.cookieParser());\n      app.use(express.bodyParser());\n      app.use(express.session({ secret: 'keyboard cat' }));\n      app.use(passport.initialize());\n      app.use(passport.session());\n      app.use(app.router);\n    });\n\n#### Authenticate Requests\n\nPassport provides an `authenticate()` function, which is used as route\nmiddleware to authenticate requests.\n\n    app.post('/login', \n      passport.authenticate('local', { failureRedirect: '/login' }),\n      function(req, res) {\n        res.redirect('/');\n      });\n\n## Strategies\n\nPassport has a comprehensive set of **over 140** authentication strategies\ncovering social networking, enterprise integration, API services, and more.\nThe [complete list](https://github.com/jaredhanson/passport/wiki/Strategies) is\navailable on the [wiki](https://github.com/jaredhanson/passport/wiki).\n\nThe following table lists commonly used strategies:\n\n|Strategy                                                       | Protocol                 |Developer                                       |\n|---------------------------------------------------------------|--------------------------|------------------------------------------------|\n|[Local](https://github.com/jaredhanson/passport-local)         | HTML form                |[Jared Hanson](https://github.com/jaredhanson)  |\n|[OpenID](https://github.com/jaredhanson/passport-openid)       | OpenID                   |[Jared Hanson](https://github.com/jaredhanson)  |\n|[BrowserID](https://github.com/jaredhanson/passport-browserid) | BrowserID                |[Jared Hanson](https://github.com/jaredhanson)  |\n|[Facebook](https://github.com/jaredhanson/passport-facebook)   | OAuth 2.0                |[Jared Hanson](https://github.com/jaredhanson)  |\n|[Google](https://github.com/jaredhanson/passport-google)       | OpenID                   |[Jared Hanson](https://github.com/jaredhanson)  |\n|[Google](https://github.com/jaredhanson/passport-google-oauth) | OAuth / OAuth 2.0        |[Jared Hanson](https://github.com/jaredhanson)  |\n|[Twitter](https://github.com/jaredhanson/passport-twitter)     | OAuth                    |[Jared Hanson](https://github.com/jaredhanson)  |\n\n## Examples\n\n- For a complete, working example, refer to the [login example](https://github.com/jaredhanson/passport-local/tree/master/examples/login)\nincluded in [passport-local](https://github.com/jaredhanson/passport-local).\n- **Local Strategy**: Refer to this [tutorial](http://mherman.org/blog/2013/11/11/user-authentication-with-passport-dot-js/) on setting up user authentication via LocalStrategy (`passport-local`), including a working example found on this [repo](https://github.com/mjhea0/passport-local).\n- **Social Authentication**: Refer to this [tutorial](http://mherman.org/blog/2013/11/10/social-authentication-with-passport-dot-js/) for setting up various social authentication strategies, including a working example found on this [repo](https://github.com/mjhea0/passport-examples).\n\n## Related Modules\n\n- [Locomotive](https://github.com/jaredhanson/locomotive) — Powerful MVC web framework\n- [OAuthorize](https://github.com/jaredhanson/oauthorize) — OAuth service provider toolkit\n- [OAuth2orize](https://github.com/jaredhanson/oauth2orize) — OAuth 2.0 authorization server toolkit\n- [connect-ensure-login](https://github.com/jaredhanson/connect-ensure-login)  — middleware to ensure login sessions\n\nThe [modules](https://github.com/jaredhanson/passport/wiki/Modules) page on the\n[wiki](https://github.com/jaredhanson/passport/wiki) lists other useful modules\nthat build upon or integrate with Passport.\n\n## Tests\n\n    $ npm install\n    $ make test\n\n## Credits\n\n  - [Jared Hanson](http://github.com/jaredhanson)\n\n## License\n\n[The MIT License](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2011-2014 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>\n","readmeFilename":"README.md","_id":"passport@0.2.1","_shasum":"a7d34c07b30fb605be885edbc8c93e5142e38574","_from":"passport@^0.2.0","_resolved":"https://registry.npmjs.org/passport/-/passport-0.2.1.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/lib/passport-http/index.js","id":"passport-http/lib/passport-http/index.js","options":{},"isModule":true,"requiredModules":["passport-http/lib/passport-http/strategies/basic.js","passport-http/lib/passport-http/strategies/digest.js","pkginfo/lib/pkginfo.js"],"mtime":1330925712000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/lib/passport-http/strategies/basic.js","id":"passport-http/lib/passport-http/strategies/basic.js","options":{},"isModule":true,"requiredModules":["passport/lib/index.js","util/util.js"],"mtime":1368387888000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/lib/passport-http/strategies/digest.js","id":"passport-http/lib/passport-http/strategies/digest.js","options":{},"isModule":true,"requiredModules":["passport/lib/index.js","crypto","util/util.js"],"mtime":1368385761000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/lib/passport/context/http/actions.js","id":"passport/lib/passport/context/http/actions.js","options":{},"isModule":true,"mtime":1351999867000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/lib/passport/context/http/context.js","id":"passport/lib/passport/context/http/context.js","options":{},"isModule":true,"mtime":1351999169000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/lib/passport/http/request.js","id":"passport/lib/passport/http/request.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1351999169000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/lib/passport/index.js","id":"passport/lib/passport/index.js","options":{},"isModule":true,"requiredModules":["fs","path","util/util.js","passport/lib/passport/strategy.js","passport/lib/passport/strategies/session.js","passport/lib/passport/middleware/initialize.js","passport/lib/passport/middleware/authenticate.js","pkginfo/lib/pkginfo.js","passport/lib/passport/http/request.js"],"mtime":1388765315000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/lib/passport/middleware/authenticate.js","id":"passport/lib/passport/middleware/authenticate.js","options":{},"isModule":true,"requiredModules":["util/util.js","passport/lib/passport/context/http/actions.js","passport/lib/passport/context/http/context.js"],"mtime":1360516781000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/lib/passport/middleware/initialize.js","id":"passport/lib/passport/middleware/initialize.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1351999169000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/lib/passport/strategies/session.js","id":"passport/lib/passport/strategies/session.js","options":{},"isModule":true,"requiredModules":["pause/index.js","util/util.js","passport/lib/passport/strategy.js"],"mtime":1368411220000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/lib/passport/strategy.js","id":"passport/lib/passport/strategy.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1351999169000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/node_modules/pause/index.js","id":"pause/index.js","options":{},"isModule":true,"mtime":1342720822000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/node_modules/pause/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/node_modules/pause/package.json","data":{"name":"pause","version":"0.0.1","description":"Pause streams...","keywords":[],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"main":"index","readme":"\n# pause\n\n  Pause streams...\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2012 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","readmeFilename":"Readme.md","_id":"pause@0.0.1","_shasum":"1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d","_from":"pause@0.0.1","_resolved":"https://registry.npmjs.org/pause/-/pause-0.0.1.tgz","scripts":{}},"mtime":1415897188000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/passport/package.json","data":{"name":"passport","version":"0.1.18","description":"Simple, unobtrusive authentication for Node.js.","keywords":["express","connect","auth","authn","authentication"],"homepage":"http://passportjs.org/","repository":{"type":"git","url":"git://github.com/jaredhanson/passport.git"},"bugs":{"url":"http://github.com/jaredhanson/passport/issues"},"author":{"name":"Jared Hanson","email":"jaredhanson@gmail.com","url":"http://www.jaredhanson.net/"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"main":"./lib/passport","dependencies":{"pkginfo":"0.2.x","pause":"0.0.1"},"devDependencies":{"vows":"~0.7.0"},"scripts":{"test":"NODE_PATH=lib node_modules/.bin/vows test/*-test.js test/**/*-test.js test/context/http/*-test.js"},"engines":{"node":">= 0.4.0"},"readme":"# Passport\n\nPassport is [Express](http://expressjs.com/)-compatible authentication\nmiddleware for [Node.js](http://nodejs.org/).\n\nPassport's sole purpose is to authenticate requests, which it does through an\nextensible set of plugins known as _strategies_.  Passport does not mount\nroutes or assume any particular database schema, which maximizes flexiblity and\nallows application-level decisions to be made by the developer.  The API is\nsimple: you provide Passport a request to authenticate, and Passport provides\nhooks for controlling what occurs when authentication succeeds or fails.\n\n## Install\n\n    $ npm install passport\n\n###### Donate\n\nUsing Passport in your project?  [Donations](https://www.gittip.com/jaredhanson/)\nare greatly appreciated and help support development of this and other quality\nmodules.\n\n## Usage\n\n#### Strategies\n\nPassport uses the concept of strategies to authenticate requests.  Strategies\ncan range from verifying username and password credentials, delegated\nauthentication using [OAuth](http://oauth.net/) (for example, via [Facebook](http://www.facebook.com/)\nor [Twitter](http://twitter.com/)), or federated authentication using [OpenID](http://openid.net/).\n\nBefore authenticating requests, the strategy (or strategies) used by an\napplication must be configured.\n\n    passport.use(new LocalStrategy(\n      function(username, password, done) {\n        User.findOne({ username: username, password: password }, function (err, user) {\n          done(err, user);\n        });\n      }\n    ));\n\n#### Sessions\n\nPassport will maintain persistent login sessions.  In order for persistent\nsessions to work, the authenticated user must be serialized to the session, and\ndeserialized when subsequent requests are made.\n\nPassport does not impose any restrictions on how your user records are stored.\nInstead, you provide functions to Passport which implements the necessary\nserialization and deserialization logic.  In a typical application, this will be\nas simple as serializing the user ID, and finding the user by ID when\ndeserializing.\n\n    passport.serializeUser(function(user, done) {\n      done(null, user.id);\n    });\n\n    passport.deserializeUser(function(id, done) {\n      User.findById(id, function (err, user) {\n        done(err, user);\n      });\n    });\n\n#### Middleware\n\nTo use Passport in an [Express](http://expressjs.com/) or\n[Connect](http://senchalabs.github.com/connect/)-based application, configure it\nwith the required `passport.initialize()` middleware.  If your application uses\npersistent login sessions (recommended, but not required), `passport.session()`\nmiddleware must also be used.\n\n    app.configure(function() {\n      app.use(express.static(__dirname + '/../../public'));\n      app.use(express.cookieParser());\n      app.use(express.bodyParser());\n      app.use(express.session({ secret: 'keyboard cat' }));\n      app.use(passport.initialize());\n      app.use(passport.session());\n      app.use(app.router);\n    });\n\n#### Authenticate Requests\n\nPassport provides an `authenticate()` function, which is used as route\nmiddleware to authenticate requests.\n\n    app.post('/login', \n      passport.authenticate('local', { failureRedirect: '/login' }),\n      function(req, res) {\n        res.redirect('/');\n      });\n\n## Strategies\n\nPassport has a comprehensive set of **over 140** authentication strategies\ncovering social networking, enterprise integration, API services, and more.\nThe [complete list](https://github.com/jaredhanson/passport/wiki/Strategies) is\navailable on the [wiki](https://github.com/jaredhanson/passport/wiki).\n\nThe following table lists commonly used strategies:\n\n|Strategy                                                       | Protocol                 |Developer                                       |\n|---------------------------------------------------------------|--------------------------|------------------------------------------------|\n|[Local](https://github.com/jaredhanson/passport-local)         | HTML form                |[Jared Hanson](https://github.com/jaredhanson)  |\n|[OpenID](https://github.com/jaredhanson/passport-openid)       | OpenID                   |[Jared Hanson](https://github.com/jaredhanson)  |\n|[BrowserID](https://github.com/jaredhanson/passport-browserid) | BrowserID                |[Jared Hanson](https://github.com/jaredhanson)  |\n|[Facebook](https://github.com/jaredhanson/passport-facebook)   | OAuth 2.0                |[Jared Hanson](https://github.com/jaredhanson)  |\n|[Google](https://github.com/jaredhanson/passport-google)       | OpenID                   |[Jared Hanson](https://github.com/jaredhanson)  |\n|[Google](https://github.com/jaredhanson/passport-google-oauth) | OAuth / OAuth 2.0        |[Jared Hanson](https://github.com/jaredhanson)  |\n|[Twitter](https://github.com/jaredhanson/passport-twitter)     | OAuth                    |[Jared Hanson](https://github.com/jaredhanson)  |\n\n## Examples\n\n- For a complete, working example, refer to the [login example](https://github.com/jaredhanson/passport-local/tree/master/examples/login)\nincluded in [passport-local](https://github.com/jaredhanson/passport-local).\n- Please refer to this [tutorial](http://mherman.org/blog/2013/11/10/social-authentication-with-passport-dot-js/) on setting up various social authentication strategies, including a working example found on this [repo](https://github.com/mjhea0/passport-examples).\n\n## Related Modules\n\n- [Locomotive](https://github.com/jaredhanson/locomotive) — Powerful MVC web framework\n- [OAuthorize](https://github.com/jaredhanson/oauthorize) — OAuth service provider toolkit\n- [OAuth2orize](https://github.com/jaredhanson/oauth2orize) — OAuth 2.0 authorization server toolkit\n- [connect-ensure-login](https://github.com/jaredhanson/connect-ensure-login)  — middleware to ensure login sessions\n\nThe [modules](https://github.com/jaredhanson/passport/wiki/Modules) page on the\n[wiki](https://github.com/jaredhanson/passport/wiki) lists other useful modules\nthat build upon or integrate with Passport.\n\n## Tests\n\n    $ npm install --dev\n    $ make test\n\n[![Build Status](https://secure.travis-ci.org/jaredhanson/passport.png)](http://travis-ci.org/jaredhanson/passport)\n\n## Credits\n\n  - [Jared Hanson](http://github.com/jaredhanson)\n\n## License\n\n[The MIT License](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2011-2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>\n","readmeFilename":"README.md","_id":"passport@0.1.18","_from":"passport@~0.1.3"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/examples/all-properties.js","id":"examples/all-properties.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/examples/array-argument.js","id":"examples/array-argument.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/examples/multiple-properties.js","id":"examples/multiple-properties.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/examples/object-argument.js","id":"examples/object-argument.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/examples/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/examples/package.json","data":{"name":"simple-app","description":"A test fixture for pkginfo","version":"0.1.0","author":"Charlie Robbins <charlie.robbins@gmail.com>","keywords":["test","fixture"],"main":"./index.js","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"}},"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/examples/single-property.js","id":"examples/single-property.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/lib/pkginfo.js","id":"pkginfo/lib/pkginfo.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1323388249000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/package.json","data":{"name":"pkginfo","version":"0.2.3","description":"An easy way to expose properties on a module from a package.json","author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"repository":{"type":"git","url":"http://github.com/indexzero/node-pkginfo.git"},"keywords":["info","tools","package.json"],"devDependencies":{"vows":"0.6.x"},"main":"./lib/pkginfo","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"},"readme":"# node-pkginfo\n\nAn easy way to expose properties on a module from a package.json\n\n## Installation\n\n### Installing npm (node package manager)\n```\n  curl http://npmjs.org/install.sh | sh\n```\n\n### Installing pkginfo\n```\n  [sudo] npm install pkginfo\n```\n\n## Motivation\nHow often when writing node.js modules have you written the following line(s) of code? \n\n* Hard code your version string into your code\n\n``` js\n  exports.version = '0.1.0';\n```\n\n* Programmatically expose the version from the package.json\n\n``` js\n  exports.version = JSON.parse(fs.readFileSync('/path/to/package.json', 'utf8')).version;\n```\n\nIn other words, how often have you wanted to expose basic information from your package.json onto your module programmatically? **WELL NOW YOU CAN!**\n\n## Usage\n\nUsing `pkginfo` is idiot-proof, just require and invoke it. \n\n``` js\n  var pkginfo = require('pkginfo')(module);\n  \n  console.dir(module.exports);\n```\n\nBy invoking the `pkginfo` module all of the properties in your `package.json` file will be automatically exposed on the callee module (i.e. the parent module of `pkginfo`). \n\nHere's a sample of the output:\n\n```\n  { name: 'simple-app',\n    description: 'A test fixture for pkginfo',\n    version: '0.1.0',\n    author: 'Charlie Robbins <charlie.robbins@gmail.com>',\n    keywords: [ 'test', 'fixture' ],\n    main: './index.js',\n    scripts: { test: 'vows test/*-test.js --spec' },\n    engines: { node: '>= 0.4.0' } }\n```\n\n### Expose specific properties\nIf you don't want to expose **all** properties on from your `package.json` on your module then simple pass those properties to the `pkginfo` function:\n\n``` js\n  var pkginfo = require('pkginfo')(module, 'version', 'author');\n  \n  console.dir(module.exports);\n```\n\n```\n  { version: '0.1.0',\n    author: 'Charlie Robbins <charlie.robbins@gmail.com>' }\n```\n\nIf you're looking for further usage see the [examples][0] included in this repository. \n\n## Run Tests\nTests are written in [vows][1] and give complete coverage of all APIs.\n\n```\n  vows test/*-test.js --spec\n```\n\n[0]: https://github.com/indexzero/node-pkginfo/tree/master/examples\n[1]: http://vowsjs.org\n\n#### Author: [Charlie Robbins](http://nodejitsu.com)","readmeFilename":"README.md","bugs":{"url":"https://github.com/indexzero/node-pkginfo/issues"},"homepage":"https://github.com/indexzero/node-pkginfo","_id":"pkginfo@0.2.3","_from":"pkginfo@0.2.x"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/node_modules/pkginfo/test/pkginfo-test.js","id":"pkginfo/test/pkginfo-test.js","options":{},"isModule":true,"requiredModules":["assert","child_process","fs","path","vows","pkginfo/lib/pkginfo.js"],"mtime":1323388249000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/passport-http/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/passport-http/package.json","data":{"name":"passport-http","version":"0.2.2","description":"HTTP Basic and Digest authentication strategies for Passport.","keywords":["passport","http","basic","digest","auth","authn","authentication"],"repository":{"type":"git","url":"git://github.com/jaredhanson/passport-http.git"},"bugs":{"url":"http://github.com/jaredhanson/passport-http/issues"},"author":{"name":"Jared Hanson","email":"jaredhanson@gmail.com","url":"http://www.jaredhanson.net/"},"licenses":[{"type":"MIT","url":"http://www.opensource.org/licenses/MIT"}],"main":"./lib/passport-http","dependencies":{"pkginfo":"0.2.x","passport":"~0.1.3"},"devDependencies":{"vows":"0.6.x"},"scripts":{"test":"NODE_PATH=lib node_modules/.bin/vows test/*-test.js test/**/*-test.js"},"engines":{"node":">= 0.4.0"},"readme":"# Passport-HTTP\n\nHTTP Basic and Digest authentication strategies for [Passport](https://github.com/jaredhanson/passport).\n\nThis module lets you authenticate HTTP requests using the standard basic and\ndigest schemes in your Node.js applications.  By plugging into Passport, support\nfor these schemes can be easily and unobtrusively integrated into any\napplication or framework that supports [Connect](http://www.senchalabs.org/connect/)-style\nmiddleware, including [Express](http://expressjs.com/).\n\n## Install\n\n    $ npm install passport-http\n\n## Usage of HTTP Basic\n\n#### Configure Strategy\n\nThe HTTP Basic authentication strategy authenticates users using a userid and\npassword.  The strategy requires a `verify` callback, which accepts these\ncredentials and calls `done` providing a user.\n\n    passport.use(new BasicStrategy(\n      function(userid, password, done) {\n        User.findOne({ username: userid }, function (err, user) {\n          if (err) { return done(err); }\n          if (!user) { return done(null, false); }\n          if (!user.verifyPassword(password)) { return done(null, false); }\n          return done(null, user);\n        });\n      }\n    ));\n\n#### Authenticate Requests\n\nUse `passport.authenticate()`, specifying the `'basic'` strategy, to\nauthenticate requests.  Requests containing an 'Authorization' header do not\nrequire session support, so the `session` option can be set to `false`.\n\nFor example, as route middleware in an [Express](http://expressjs.com/)\napplication:\n\n    app.get('/private', \n      passport.authenticate('basic', { session: false }),\n      function(req, res) {\n        res.json(req.user);\n      });\n\n#### Examples\n\nFor a complete, working example, refer to the [Basic example](https://github.com/jaredhanson/passport-http/tree/master/examples/basic).\n\n## Usage of HTTP Digest\n\n#### Configure Strategy\n\nThe HTTP Digest authentication strategy authenticates users using a username and\npassword (aka shared secret).  The strategy requires a `secret` callback, which\naccepts a `username` and calls `done` providing a user and password known to the\nserver.  The password is used to compute a hash, and authentication fails if it\ndoes not match that contained in the request.\n\nThe strategy also accepts an optional `validate` callback, which receives\nnonce-related `params` that can be further inspected to determine if the request\nis valid.\n\n    passport.use(new DigestStrategy({ qop: 'auth' },\n      function(username, done) {\n        User.findOne({ username: username }, function (err, user) {\n          if (err) { return done(err); }\n          if (!user) { return done(null, false); }\n          return done(null, user, user.password);\n        });\n      },\n      function(params, done) {\n        // validate nonces as necessary\n        done(null, true)\n      }\n    ));\n\n#### Authenticate Requests\n\nUse `passport.authenticate()`, specifying the `'digest'` strategy, to\nauthenticate requests.  Requests containing an 'Authorization' header do not\nrequire session support, so the `session` option can be set to `false`.\n\nFor example, as route middleware in an [Express](http://expressjs.com/)\napplication:\n\n    app.get('/private', \n      passport.authenticate('digest', { session: false }),\n      function(req, res) {\n        res.json(req.user);\n      });\n\n#### Examples\n\nFor a complete, working example, refer to the [Digest example](https://github.com/jaredhanson/passport-http/tree/master/examples/digest).\n\n## Tests\n\n    $ npm install --dev\n    $ make test\n\n[![Build Status](https://secure.travis-ci.org/jaredhanson/passport-http.png)](http://travis-ci.org/jaredhanson/passport-http)\n\n## Credits\n\n  - [Jared Hanson](http://github.com/jaredhanson)\n\n## License\n\n[The MIT License](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2011-2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>\n","readmeFilename":"README.md","homepage":"https://github.com/jaredhanson/passport-http","_id":"passport-http@0.2.2","_shasum":"2501314c0ff4a831e8a51ccfdb1b68f5c7cbc9f6","_from":"passport-http@^0.2.2","_resolved":"https://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz"},"mtime":1415897186000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/package.json","data":{"author":{"name":"Nicolas Chambrier","email":"naholyr@gmail.com","url":"http://naholyr.fr"},"name":"php-unserialize","description":"tool to unserialize data taken from PHP. It can parse \"serialize()\" output, or even serialized sessions data.","version":"0.0.1","repository":{"type":"git","url":"git://github.com/naholyr/js-php-unserialize.git"},"main":"php-unserialize.js","scripts":{"test":"./node_modules/.bin/_mocha -R list -u bdd"},"dependencies":{},"devDependencies":{"chai":"~1.3.0","mocha":"~1.7.0"},"optionalDependencies":{},"engines":{"node":"*"},"_npmUser":{"name":"naholyr","email":"naholyr@gmail.com"},"_id":"php-unserialize@0.0.1","_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.8.10","_defaultsLoaded":true,"dist":{"shasum":"297e8e6964673adc8282201e45ce0245b3856084","tarball":"http://registry.npmjs.org/php-unserialize/-/php-unserialize-0.0.1.tgz"},"maintainers":[{"name":"naholyr","email":"naholyr@gmail.com"}],"directories":{},"_shasum":"297e8e6964673adc8282201e45ce0245b3856084","_resolved":"https://registry.npmjs.org/php-unserialize/-/php-unserialize-0.0.1.tgz","_from":"php-unserialize@0.0.1"},"mtime":1443111112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/php-unserialize.js","id":"php-unserialize/php-unserialize.js","options":{},"isModule":true,"mtime":1352896225000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/test/fixtures/unserialized-data-1.json","id":"php-unserialize/test/fixtures/unserialized-data-1.json","options":{},"isModule":true,"mtime":1352895581000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/test/fixtures/unserialized-data-2.json","id":"php-unserialize/test/fixtures/unserialized-data-2.json","options":{},"isModule":true,"mtime":1352895595000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/test/fixtures/unserialized-data-3.json","id":"php-unserialize/test/fixtures/unserialized-data-3.json","options":{},"isModule":true,"mtime":1352895659000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/test/fixtures/unserialized-data-4.json","id":"php-unserialize/test/fixtures/unserialized-data-4.json","options":{},"isModule":true,"mtime":1352895860000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/test/fixtures/unserialized-session.json","id":"php-unserialize/test/fixtures/unserialized-session.json","options":{},"isModule":true,"mtime":1352896373000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/test/session.js","id":"php-unserialize/test/session.js","options":{},"isModule":true,"requiredModules":["chai/index.js","fs","path","php-unserialize/php-unserialize.js","php-unserialize/test/fixtures/unserialized-session.json"],"mtime":1352896380000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/php-unserialize/test/unserialize.js","id":"php-unserialize/test/unserialize.js","options":{},"isModule":true,"requiredModules":["chai/index.js","fs","path","php-unserialize/php-unserialize.js"],"mtime":1352896036000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/examples/bar-fight.js","id":"plotly/examples/bar-fight.js","options":{},"isModule":true,"requiredModules":["./config.json","plotly/index.js"],"mtime":1417293793000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/examples/get_figure.js","id":"plotly/examples/get_figure.js","options":{},"isModule":true,"requiredModules":["plotly/index.js"],"mtime":1417721986000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/examples/get_figure_and_save.js","id":"plotly/examples/get_figure_and_save.js","options":{},"isModule":true,"requiredModules":["plotly/index.js"],"mtime":1422635407000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/examples/histograms.js","id":"plotly/examples/histograms.js","options":{},"isModule":true,"requiredModules":["./config.json","plotly/index.js"],"mtime":1417293793000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/examples/rest-example.js","id":"plotly/examples/rest-example.js","options":{},"isModule":true,"requiredModules":["plotly/index.js"],"mtime":1423060062000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/examples/saving_image.js","id":"plotly/examples/saving_image.js","options":{},"isModule":true,"requiredModules":["fs","plotly/index.js"],"mtime":1423062834000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/examples/signal-stream.js","id":"plotly/examples/signal-stream.js","options":{},"isModule":true,"requiredModules":["./config.json","plotly/index.js","random-signal"],"mtime":1417293793000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/examples/streaming-example.js","id":"plotly/examples/streaming-example.js","options":{},"isModule":true,"requiredModules":["plotly/index.js"],"mtime":1417716402000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/index.js","id":"plotly/index.js","options":{},"isModule":true,"requiredModules":["https","http","plotly/statusmsgs.json","url"],"mtime":1423062834000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/bin/cmd.js","id":"mkdirp/bin/cmd.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","minimist/index.js","fs"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/examples/pow.js","id":"mkdirp/examples/pow.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/index.js","id":"mkdirp/index.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1431570694000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/example/parse.js","id":"minimist/example/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js"],"mtime":1372147306000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/index.js","id":"minimist/index.js","options":{},"isModule":true,"mtime":1392957961000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/package.json","data":{"name":"minimist","version":"0.0.8","description":"parse argument options","main":"index.js","devDependencies":{"tape":"~1.0.4","tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"testling":{"files":"test/*.js","browsers":["ie/6..latest","ff/5","firefox/latest","chrome/10","chrome/latest","safari/5.1","safari/latest","opera/12"]},"repository":{"type":"git","url":"git://github.com/substack/minimist.git"},"homepage":"https://github.com/substack/minimist","keywords":["argv","getopt","parser","optimist"],"author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"license":"MIT","bugs":{"url":"https://github.com/substack/minimist/issues"},"_id":"minimist@0.0.8","dist":{"shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","tarball":"http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"},"_from":"minimist@0.0.8","_npmVersion":"1.4.3","_npmUser":{"name":"substack","email":"mail@substack.net"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{},"_shasum":"857fcabfc3397d2625b8228262e86aa7a011b05d","_resolved":"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/test/dash.js","id":"minimist/test/dash.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1389378397000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/test/default_bool.js","id":"minimist/test/default_bool.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372147071000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/test/dotted.js","id":"minimist/test/dotted.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1377730679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/test/long.js","id":"minimist/test/long.js","options":{},"isModule":true,"requiredModules":["tape","minimist/index.js"],"mtime":1372143145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/test/parse.js","id":"minimist/test/parse.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1392957961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js","id":"minimist/test/parse_modified.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372145355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/test/short.js","id":"minimist/test/short.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1391917546000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/node_modules/minimist/test/whitespace.js","id":"minimist/test/whitespace.js","options":{},"isModule":true,"requiredModules":["minimist/index.js","tape"],"mtime":1372148159000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/package.json","data":{"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.1","author":{"name":"James Halliday","email":"mail@substack.net","url":"http://substack.net"},"main":"index.js","keywords":["mkdir","directory"],"repository":{"type":"git","url":"git+https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"0.0.8"},"devDependencies":{"tap":"1","mock-fs":"2 >=2.7.0"},"bin":{"mkdirp":"bin/cmd.js"},"license":"MIT","gitHead":"d4eff0f06093aed4f387e88e9fc301cb76beedc7","bugs":{"url":"https://github.com/substack/node-mkdirp/issues"},"homepage":"https://github.com/substack/node-mkdirp#readme","_id":"mkdirp@0.5.1","_shasum":"30057438eac6cf7f8c4767f38648d6697d75c903","_from":"mkdirp@>=0.5.0 <0.6.0","_npmVersion":"2.9.0","_nodeVersion":"2.0.0","_npmUser":{"name":"substack","email":"substack@gmail.com"},"dist":{"shasum":"30057438eac6cf7f8c4767f38648d6697d75c903","tarball":"http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"},"maintainers":[{"name":"substack","email":"mail@substack.net"}],"directories":{},"_resolved":"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz","readme":"ERROR: No README data found!"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/chmod.js","id":"mkdirp/test/chmod.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/clobber.js","id":"mkdirp/test/clobber.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/mkdirp.js","id":"mkdirp/test/mkdirp.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/opts_fs.js","id":"mkdirp/test/opts_fs.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/opts_fs_sync.js","id":"mkdirp/test/opts_fs_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","tap","mock-fs"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/perm.js","id":"mkdirp/test/perm.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/perm_sync.js","id":"mkdirp/test/perm_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/race.js","id":"mkdirp/test/race.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/rel.js","id":"mkdirp/test/rel.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/return.js","id":"mkdirp/test/return.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/return_sync.js","id":"mkdirp/test/return_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1419626841000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/root.js","id":"mkdirp/test/root.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/sync.js","id":"mkdirp/test/sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/umask.js","id":"mkdirp/test/umask.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/node_modules/mkdirp/test/umask_sync.js","id":"mkdirp/test/umask_sync.js","options":{},"isModule":true,"requiredModules":["mkdirp/index.js","path","fs","tap"],"mtime":1431568795000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/plotly/package.json","data":{"name":"plotly","version":"1.0.2","description":"Simple node.js wrapper for the plot.ly API","main":"index.js","devDependencies":{"random-signal":"0.0.2","tap":"^0.4.13","tape":"^3.0.3"},"scripts":{"test":"tap test"},"repository":{"type":"git","url":"https://github.com/alexander-daniel/plotly-nodejs.git"},"keywords":["plotting","graphs","interactive","data","visualization"],"author":{"name":"Alexander Daniel","email":"alex@lesinstruments.com","url":"http://lesinstruments.com/"},"license":"MIT","dependencies":{"mkdirp":"~0.5.0"},"gitHead":"28243e794fb4c85c9a67b60dd079cb32915bdba1","bugs":{"url":"https://github.com/alexander-daniel/plotly-nodejs/issues"},"homepage":"https://github.com/alexander-daniel/plotly-nodejs","_id":"plotly@1.0.2","_shasum":"623efd6d21a222fdebe55ec3f2da4950f8018872","_from":"plotly@>=1.0.2 <2.0.0","_npmVersion":"2.3.0","_nodeVersion":"1.0.4","_npmUser":{"name":"alexander-daniel","email":"alex.vados@gmail.com"},"maintainers":[{"name":"alexander-daniel","email":"alex@lesinstruments.com"}],"dist":{"shasum":"623efd6d21a222fdebe55ec3f2da4950f8018872","tarball":"http://registry.npmjs.org/plotly/-/plotly-1.0.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/plotly/-/plotly-1.0.2.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/statusmsgs.json","id":"plotly/statusmsgs.json","options":{},"isModule":true,"mtime":1417293793000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/plotly/test/test.js","id":"plotly/test/test.js","options":{},"isModule":true,"requiredModules":["tape","plotly/index.js"],"mtime":1422980580000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/index.js","id":"ps-node/index.js","options":{},"isModule":true,"requiredModules":["ps-node/lib/index.js"],"mtime":1356656843000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/lib/index.js","id":"ps-node/lib/index.js","options":{},"isModule":true,"requiredModules":["child_process","table-parser/index.js"],"mtime":1364208196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/node_modules/table-parser/index.js","id":"table-parser/index.js","options":{},"isModule":true,"requiredModules":["table-parser/lib/index.js"],"mtime":1359357678000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/node_modules/table-parser/lib/index.js","id":"table-parser/lib/index.js","options":{},"isModule":true,"mtime":1359386391000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/node_modules/table-parser/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ps-node/node_modules/table-parser/package.json","data":{"name":"table-parser","description":"Simple parser for shell-style data output","version":"0.0.3","author":{"name":"Neekey ni184775761@gmail.com"},"keywords":["table parser shell"],"main":"index.js","repository":{"type":"git","url":"git@github.com:Neekey/table-parser.git"},"readme":"shellTableParser\n================\n\nA parser to parse table style output from shell\n\n## Install\n\n```\nnpm install table-parser\n```\n\n## Usage\n\nWe have some kind of log below as `test/ps.log`:\n\n```bash\n  PID TTY           TIME CMD\n49692 ttys000    0:00.06 login -pfl neekey /bin/bash -c exec -la bash /bin/bash\n49693 ttys000    0:00.06 -bash\n54195 ttys000    0:00.09 node run\n\n...\n\n56266 ttys005    0:00.06 login -pfl neekey /bin/bash -c exec -la bash /bin/bash\n56269 ttys005    0:00.04 -bash\n56463 ttys005    0:00.09 node test.js\n56464 ttys005    0:00.01 ps -a\n```\n\nUse table-parser to parse it into object:\n\n```\nvar FS = require( 'fs' );\nvar Parser = require( '../lib/index' );\n\nvar linux_ps = './ps.log';\n\ndata = FS.readFileSync( linux_ps ).toString();\nvar parsedData = Parser.parse( data );\n\nconsole.log( parsedData );\n\n```\n\nWhich will output:\n\n```bash\n[ { PID: [ '49692' ],\n    TTY: [ 'ttys000' ],\n    TIME: [ '0:00.06' ],\n    CMD:\n     [ 'login',\n       '-pfl',\n       'neekey',\n       '/bin/bash',\n       '-c',\n       'exec',\n       '-la',\n       'bash',\n       '/bin/bash' ] },\n  ...\n\n  { PID: [ '56464' ],\n    TTY: [ 'ttys005' ],\n    TIME: [ '0:00.01' ],\n    CMD: [ 'ps', '-a' ] } ]\n```\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/Neekey/table-parser/issues"},"homepage":"https://github.com/Neekey/table-parser","_id":"table-parser@0.0.3","_shasum":"35640443edc327f9b763d31af9b2ac7ddb5fb6bd","_from":"table-parser@*","_resolved":"https://registry.npmjs.org/table-parser/-/table-parser-0.0.3.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/node_modules/table-parser/test/test.js","id":"table-parser/test/test.js","options":{},"isModule":true,"requiredModules":["fs","table-parser/lib/index.js"],"mtime":1359357678000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/ps-node/package.json","data":{"name":"ps-node","version":"0.0.3","description":"A process lookup utility","main":"index.js","repository":{"type":"git","url":"git://github.com/neekey/ps.git"},"keywords":["ps","process","lookup","pid"],"dependencies":{"table-parser":"*"},"readme":"# ps\n\nA Node.js module for looking up running processes.\n\n## Install\n\n```bash\n$ npm install ps-node\n```\n\n## Usage\n\nLookup process with spicified `pid`:\n\n```javascript\nvar ps = require('ps-node');\n\n// A simple pid lookup\nps.lookup({ pid: 12345 }, function(err, resultList ) {\n    if (err) {\n        throw new Error( err );\n    }\n\n    var process = resultList[ 0 ];\n\n    if( process ){\n\n        console.log( 'PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments );\n    }\n    else {\n        console.log( 'No such process found!' );\n    }\n});\n\n```\n\nOr use RegExp to filter `command` and `arguments`:\n\n```javascript\nvar ps = require('ps-node');\n\n// A simple pid lookup\nps.lookup({\n    command: 'node',\n    arguments: '--debug',\n    }, function(err, resultList ) {\n    if (err) {\n        throw new Error( err );\n    }\n\n    resultList.forEach(function( process ){\n        if( process ){\n\n            console.log( 'PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments );\n        }\n    });\n});\n\n```\n\nAlso, you can use `kill` to kill process by `pid`:\n\n```javascript\nvar ps = require('ps-node');\n\n// A simple pid lookup\nps.kill( '12345', function( err ) {\n    if (err) {\n        throw new Error( err );\n    }\n    else {\n        console.log( 'Process %s has been killed!', pid );\n    }\n});\n```\n\nYou can also pass arguments to `lookup` with `psargs` as arguments for `ps` command（Note that `psargs` is not available in windows):\n\n```javascript\nvar ps = require('ps-node');\n\n// A simple pid lookup\nps.lookup({\n    command: 'node',\n    psargs: 'ux'\n    }, function(err, resultList ) {\n    if (err) {\n        throw new Error( err );\n    }\n\n    resultList.forEach(function( process ){\n        if( process ){\n            console.log( 'PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments );\n        }\n    });\n});\n\n```\n","readmeFilename":"readme.md","bugs":{"url":"https://github.com/neekey/ps/issues"},"homepage":"https://github.com/neekey/ps","_id":"ps-node@0.0.3","_shasum":"d608843cfd693dc16604fbd90a8b804827508fee","_from":"ps-node@0.0.3","_resolved":"https://registry.npmjs.org/ps-node/-/ps-node-0.0.3.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/test/server_for_test.js","id":"ps-node/test/server_for_test.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1359385796000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/ps-node/test/test.js","id":"ps-node/test/test.js","options":{},"isModule":true,"requiredModules":["ps-node/index.js","child_process","assert"],"mtime":1359386906000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/q/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/q/package.json","data":{"name":"q","version":"1.2.0","description":"A library for promises (CommonJS/Promises/A,B,D)","homepage":"https://github.com/kriskowal/q","author":{"name":"Kris Kowal","email":"kris@cixar.com","url":"https://github.com/kriskowal"},"keywords":["q","promise","promises","promises-a","promises-aplus","deferred","future","async","flow control","fluent","browser","node"],"contributors":[{"name":"Kris Kowal","email":"kris@cixar.com","url":"https://github.com/kriskowal"},{"name":"Irakli Gozalishvili","email":"rfobic@gmail.com","url":"http://jeditoolkit.com"},{"name":"Domenic Denicola","email":"domenic@domenicdenicola.com","url":"http://domenicdenicola.com"}],"bugs":{"url":"http://github.com/kriskowal/q/issues"},"license":{"type":"MIT","url":"http://github.com/kriskowal/q/raw/master/LICENSE"},"main":"q.js","files":["LICENSE","q.js","queue.js"],"repository":{"type":"git","url":"git://github.com/kriskowal/q.git"},"engines":{"node":">=0.6.0","teleport":">=0.2.0"},"dependencies":{},"devDependencies":{"jshint":"~2.1.9","cover":"*","jasmine-node":"1.11.0","opener":"*","promises-aplus-tests":"1.x","grunt":"~0.4.1","grunt-cli":"~0.1.9","grunt-contrib-uglify":"~0.2.2","matcha":"~0.2.0"},"scripts":{"test":"jasmine-node spec && promises-aplus-tests spec/aplus-adapter","test-browser":"opener spec/q-spec.html","benchmark":"matcha","lint":"jshint q.js","cover":"cover run node_modules/jasmine-node/bin/jasmine-node spec && cover report html && opener cover_html/index.html","minify":"grunt","prepublish":"grunt"},"overlay":{"teleport":{"dependencies":{"system":">=0.0.4"}}},"directories":{"test":"./spec"},"gitHead":"2d9b6ab155ec8229516d34628b9aeeda90f6b6b8","_id":"q@1.2.0","_shasum":"811705ce4a9802adff811ab0fcdbd01946e1fe22","_from":"q@1.2.0","_npmVersion":"1.4.21","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"kriskowal","email":"kris.kowal@cixar.com"},{"name":"domenic","email":"domenic@domenicdenicola.com"}],"dist":{"shasum":"811705ce4a9802adff811ab0fcdbd01946e1fe22","tarball":"http://registry.npmjs.org/q/-/q-1.2.0.tgz"},"_resolved":"https://registry.npmjs.org/q/-/q-1.2.0.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/q/q.js","id":"q/q.js","options":{},"isModule":true,"mtime":1424564004000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/q/queue.js","id":"q/queue.js","options":{},"isModule":true,"requiredModules":["q/q.js"],"mtime":1424563548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/random-string/Gruntfile.js","id":"random-string/Gruntfile.js","options":{},"isModule":true,"mtime":1418122369000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/random-string/lib/random-string.js","id":"random-string/lib/random-string.js","options":{},"isModule":true,"mtime":1418122422000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/random-string/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/random-string/package.json","data":{"name":"random-string","description":"Simple Module for generating Random Strings","version":"0.1.2","homepage":"https://github.com/valiton/node-random-string","author":{"name":"Valiton GmbH, Bastian 'hereandnow' Behrens","email":"bastian.behrens@valiton.com"},"repository":{"type":"git","url":"git://github.com/valiton/node-random-string.git"},"bugs":{"url":"https://github.com/valiton/node-random-string/issues"},"licenses":[{"type":"MIT","url":"https://github.com/valiton/node-random-string/blob/master/LICENSE-MIT"}],"main":"lib/random-string","engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt nodeunit"},"devDependencies":{"grunt-contrib-jshint":"~0.4.3","grunt-contrib-nodeunit":"~0.1.2","grunt-contrib-watch":"~0.4.3","grunt":"~0.4.1"},"keywords":["random","string"],"gitHead":"917b7fb8811984f6bc341bfa0d2372b5959d5dd2","_id":"random-string@0.1.2","_shasum":"2d6afb6076651316ac5b8a62d63106db31eb8d44","_from":"random-string@0.1.2","_npmVersion":"1.4.21","_npmUser":{"name":"hereandnow","email":"hereandnow78@googlemail.com"},"maintainers":[{"name":"hereandnow","email":"hereandnow78@googlemail.com"},{"name":"mom","email":"m.omay@mgok.de"},{"name":"weiner","email":"benediktweiner@gmail.com"},{"name":"sebakotiv","email":"gleb@catforce.de"},{"name":"mcpomm","email":"prima34@gmx.net"}],"dist":{"shasum":"2d6afb6076651316ac5b8a62d63106db31eb8d44","tarball":"http://registry.npmjs.org/random-string/-/random-string-0.1.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/random-string/-/random-string-0.1.2.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/random-string/test/random-string_test.js","id":"random-string/test/random-string_test.js","options":{},"isModule":true,"requiredModules":["random-string/lib/random-string.js"],"mtime":1418122369000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/index.js","id":"request/index.js","options":{},"isModule":true,"requiredModules":["extend/index.js","request/lib/cookies.js","request/lib/helpers.js","request/request.js"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/auth.js","id":"request/lib/auth.js","options":{},"isModule":true,"requiredModules":["caseless/index.js","node-uuid/uuid.js","request/lib/helpers.js"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/cookies.js","id":"request/lib/cookies.js","options":{},"isModule":true,"requiredModules":["tough-cookie/lib/cookie.js"],"mtime":1425842414000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/getProxyFromURI.js","id":"request/lib/getProxyFromURI.js","options":{},"isModule":true,"mtime":1427034126000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/har.js","id":"request/lib/har.js","options":{},"isModule":true,"requiredModules":["fs","querystring","har-validator/lib/index.js","util/util.js"],"mtime":1427231931000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/helpers.js","id":"request/lib/helpers.js","options":{},"isModule":true,"requiredModules":["json-stringify-safe/stringify.js","crypto"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/multipart.js","id":"request/lib/multipart.js","options":{},"isModule":true,"requiredModules":["node-uuid/uuid.js","combined-stream/lib/combined_stream.js","isstream/isstream.js"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/oauth.js","id":"request/lib/oauth.js","options":{},"isModule":true,"requiredModules":["url","qs/index.js","caseless/index.js","node-uuid/uuid.js","oauth-sign/index.js","crypto"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/querystring.js","id":"request/lib/querystring.js","options":{},"isModule":true,"requiredModules":["qs/index.js","querystring"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/redirect.js","id":"request/lib/redirect.js","options":{},"isModule":true,"requiredModules":["url"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/lib/tunnel.js","id":"request/lib/tunnel.js","options":{},"isModule":true,"requiredModules":["url","tunnel-agent/index.js"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/aws-sign2/index.js","id":"aws-sign2/index.js","options":{},"isModule":true,"requiredModules":["crypto","url"],"mtime":1386182365000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/aws-sign2/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/aws-sign2/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"aws-sign2","description":"AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.","version":"0.5.0","repository":{"url":"git+https://github.com/mikeal/aws-sign.git"},"main":"index.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"aws-sign\n========\n\nAWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/aws-sign/issues"},"homepage":"https://github.com/mikeal/aws-sign","_id":"aws-sign2@0.5.0","_shasum":"c57103f7a17fc037f02d7c2e64b602ea223f7d63","_from":"aws-sign2@>=0.5.0 <0.6.0","_resolved":"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz","scripts":{}},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/bl.js","id":"bl/bl.js","options":{},"isModule":true,"requiredModules":["readable-stream/duplex.js","util/util.js"],"mtime":1421711388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1388359679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["isarray/index.js","buffer","events","stream","core-util-is/lib/util.js","inherits/inherits.js","string_decoder/index.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["buffer","core-util-is/lib/util.js","inherits/inherits.js","stream","readable-stream/lib/_stream_duplex.js"],"mtime":1414231759000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is.git"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","dist":{"shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","tarball":"http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"},"_from":"core-util-is@>=1.0.0 <1.1.0","_npmVersion":"1.3.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.1 <2.1.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","gitHead":"d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@>=0.10.0 <0.11.0","_npmVersion":"1.4.23","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"substack","email":"mail@substack.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","tarball":"http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"1.0.33","description":"Streams2, a user-land copy of the stream library from Node.js v0.10.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","isarray":"0.0.1","string_decoder":"~0.10.x","inherits":"~2.0.1"},"devDependencies":{"tap":"~0.2.6"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/readable-stream.git"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","gitHead":"0bf97a117c5646556548966409ebc57a6dda2638","bugs":{"url":"https://github.com/isaacs/readable-stream/issues"},"homepage":"https://github.com/isaacs/readable-stream","_id":"readable-stream@1.0.33","_shasum":"3a360dd66c1b1d7fd4705389860eda1d0f61126c","_from":"readable-stream@>=1.0.26 <1.1.0","_npmVersion":"1.4.28","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"tootallnate","email":"nathan@tootallnate.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"3a360dd66c1b1d7fd4705389860eda1d0f61126c","tarball":"http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["stream","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1414231442000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1388359680000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/package.json","data":{"name":"bl","version":"0.9.4","description":"Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!","main":"bl.js","scripts":{"test":"node test/test.js | faucet","test-local":"brtapsauce-local test/basic-test.js"},"repository":{"type":"git","url":"git+https://github.com/rvagg/bl.git"},"homepage":"https://github.com/rvagg/bl","authors":["Rod Vagg <rod@vagg.org> (https://github.com/rvagg)","Matteo Collina <matteo.collina@gmail.com> (https://github.com/mcollina)","Jarett Cruger <jcrugzz@gmail.com> (https://github.com/jcrugzz)"],"keywords":["buffer","buffers","stream","awesomesauce"],"license":"MIT","dependencies":{"readable-stream":"~1.0.26"},"devDependencies":{"tape":"~2.12.3","hash_file":"~0.1.1","faucet":"~0.0.1","brtapsauce":"~0.3.0"},"readme":"# bl *(BufferList)*\n\n**A Node.js Buffer list collector, reader and streamer thingy.**\n\n[![NPM](https://nodei.co/npm/bl.png?downloads=true&downloadRank=true)](https://nodei.co/npm/bl/)\n[![NPM](https://nodei.co/npm-dl/bl.png?months=6&height=3)](https://nodei.co/npm/bl/)\n\n**bl** is a storage object for collections of Node Buffers, exposing them with the main Buffer readable API. Also works as a duplex stream so you can collect buffers from a stream that emits them and emit buffers to a stream that consumes them!\n\nThe original buffers are kept intact and copies are only done as necessary. Any reads that require the use of a single original buffer will return a slice of that buffer only (which references the same memory as the original buffer). Reads that span buffers perform concatenation as required and return the results transparently.\n\n```js\nconst BufferList = require('bl')\n\nvar bl = new BufferList()\nbl.append(new Buffer('abcd'))\nbl.append(new Buffer('efg'))\nbl.append('hi')                     // bl will also accept & convert Strings\nbl.append(new Buffer('j'))\nbl.append(new Buffer([ 0x3, 0x4 ]))\n\nconsole.log(bl.length) // 12\n\nconsole.log(bl.slice(0, 10).toString('ascii')) // 'abcdefghij'\nconsole.log(bl.slice(3, 10).toString('ascii')) // 'defghij'\nconsole.log(bl.slice(3, 6).toString('ascii'))  // 'def'\nconsole.log(bl.slice(3, 8).toString('ascii'))  // 'defgh'\nconsole.log(bl.slice(5, 10).toString('ascii')) // 'fghij'\n\n// or just use toString!\nconsole.log(bl.toString())               // 'abcdefghij\\u0003\\u0004'\nconsole.log(bl.toString('ascii', 3, 8))  // 'defgh'\nconsole.log(bl.toString('ascii', 5, 10)) // 'fghij'\n\n// other standard Buffer readables\nconsole.log(bl.readUInt16BE(10)) // 0x0304\nconsole.log(bl.readUInt16LE(10)) // 0x0403\n```\n\nGive it a callback in the constructor and use it just like **[concat-stream](https://github.com/maxogden/node-concat-stream)**:\n\n```js\nconst bl = require('bl')\n    , fs = require('fs')\n\nfs.createReadStream('README.md')\n  .pipe(bl(function (err, data) { // note 'new' isn't strictly required\n    // `data` is a complete Buffer object containing the full data\n    console.log(data.toString())\n  }))\n```\n\nNote that when you use the *callback* method like this, the resulting `data` parameter is a concatenation of all `Buffer` objects in the list. If you want to avoid the overhead of this concatenation (in cases of extreme performance consciousness), then avoid the *callback* method and just listen to `'end'` instead, like a standard Stream.\n\nOr to fetch a URL using [hyperquest](https://github.com/substack/hyperquest) (should work with [request](http://github.com/mikeal/request) and even plain Node http too!):\n```js\nconst hyperquest = require('hyperquest')\n    , bl         = require('bl')\n    , url        = 'https://raw.github.com/rvagg/bl/master/README.md'\n\nhyperquest(url).pipe(bl(function (err, data) {\n  console.log(data.toString())\n}))\n```\n\nOr, use it as a readable stream to recompose a list of Buffers to an output source:\n\n```js\nconst BufferList = require('bl')\n    , fs         = require('fs')\n\nvar bl = new BufferList()\nbl.append(new Buffer('abcd'))\nbl.append(new Buffer('efg'))\nbl.append(new Buffer('hi'))\nbl.append(new Buffer('j'))\n\nbl.pipe(fs.createWriteStream('gibberish.txt'))\n```\n\n## API\n\n  * <a href=\"#ctor\"><code><b>new BufferList([ callback ])</b></code></a>\n  * <a href=\"#length\"><code>bl.<b>length</b></code></a>\n  * <a href=\"#append\"><code>bl.<b>append(buffer)</b></code></a>\n  * <a href=\"#get\"><code>bl.<b>get(index)</b></code></a>\n  * <a href=\"#slice\"><code>bl.<b>slice([ start[, end ] ])</b></code></a>\n  * <a href=\"#copy\"><code>bl.<b>copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ])</b></code></a>\n  * <a href=\"#duplicate\"><code>bl.<b>duplicate()</b></code></a>\n  * <a href=\"#consume\"><code>bl.<b>consume(bytes)</b></code></a>\n  * <a href=\"#toString\"><code>bl.<b>toString([encoding, [ start, [ end ]]])</b></code></a>\n  * <a href=\"#readXX\"><code>bl.<b>readDoubleBE()</b></code>, <code>bl.<b>readDoubleLE()</b></code>, <code>bl.<b>readFloatBE()</b></code>, <code>bl.<b>readFloatLE()</b></code>, <code>bl.<b>readInt32BE()</b></code>, <code>bl.<b>readInt32LE()</b></code>, <code>bl.<b>readUInt32BE()</b></code>, <code>bl.<b>readUInt32LE()</b></code>, <code>bl.<b>readInt16BE()</b></code>, <code>bl.<b>readInt16LE()</b></code>, <code>bl.<b>readUInt16BE()</b></code>, <code>bl.<b>readUInt16LE()</b></code>, <code>bl.<b>readInt8()</b></code>, <code>bl.<b>readUInt8()</b></code></a>\n  * <a href=\"#streams\">Streams</a>\n\n--------------------------------------------------------\n<a name=\"ctor\"></a>\n### new BufferList([ callback | buffer | buffer array ])\nThe constructor takes an optional callback, if supplied, the callback will be called with an error argument followed by a reference to the **bl** instance, when `bl.end()` is called (i.e. from a piped stream). This is a convenient method of collecting the entire contents of a stream, particularly when the stream is *chunky*, such as a network stream.\n\nNormally, no arguments are required for the constructor, but you can initialise the list by passing in a single `Buffer` object or an array of `Buffer` object.\n\n`new` is not strictly required, if you don't instantiate a new object, it will be done automatically for you so you can create a new instance simply with:\n\n```js\nvar bl = require('bl')\nvar myinstance = bl()\n\n// equivilant to:\n\nvar BufferList = require('bl')\nvar myinstance = new BufferList()\n```\n\n--------------------------------------------------------\n<a name=\"length\"></a>\n### bl.length\nGet the length of the list in bytes. This is the sum of the lengths of all of the buffers contained in the list, minus any initial offset for a semi-consumed buffer at the beginning. Should accurately represent the total number of bytes that can be read from the list.\n\n--------------------------------------------------------\n<a name=\"append\"></a>\n### bl.append(buffer)\n`append(buffer)` adds an additional buffer or BufferList to the internal list.\n\n--------------------------------------------------------\n<a name=\"get\"></a>\n### bl.get(index)\n`get()` will return the byte at the specified index.\n\n--------------------------------------------------------\n<a name=\"slice\"></a>\n### bl.slice([ start, [ end ] ])\n`slice()` returns a new `Buffer` object containing the bytes within the range specified. Both `start` and `end` are optional and will default to the beginning and end of the list respectively.\n\nIf the requested range spans a single internal buffer then a slice of that buffer will be returned which shares the original memory range of that Buffer. If the range spans multiple buffers then copy operations will likely occur to give you a uniform Buffer.\n\n--------------------------------------------------------\n<a name=\"copy\"></a>\n### bl.copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ])\n`copy()` copies the content of the list in the `dest` buffer, starting from `destStart` and containing the bytes within the range specified with `srcStart` to `srcEnd`. `destStart`, `start` and `end` are optional and will default to the beginning of the `dest` buffer, and the beginning and end of the list respectively.\n\n--------------------------------------------------------\n<a name=\"duplicate\"></a>\n### bl.duplicate()\n`duplicate()` performs a **shallow-copy** of the list. The internal Buffers remains the same, so if you change the underlying Buffers, the change will be reflected in both the original and the duplicate. This method is needed if you want to call `consume()` or `pipe()` and still keep the original list.Example:\n\n```js\nvar bl = new BufferList()\n\nbl.append('hello')\nbl.append(' world')\nbl.append('\\n')\n\nbl.duplicate().pipe(process.stdout, { end: false })\n\nconsole.log(bl.toString())\n```\n\n--------------------------------------------------------\n<a name=\"consume\"></a>\n### bl.consume(bytes)\n`consume()` will shift bytes *off the start of the list*. The number of bytes consumed don't need to line up with the sizes of the internal Buffers&mdash;initial offsets will be calculated accordingly in order to give you a consistent view of the data.\n\n--------------------------------------------------------\n<a name=\"toString\"></a>\n### bl.toString([encoding, [ start, [ end ]]])\n`toString()` will return a string representation of the buffer. The optional `start` and `end` arguments are passed on to `slice()`, while the `encoding` is passed on to `toString()` of the resulting Buffer. See the [Buffer#toString()](http://nodejs.org/docs/latest/api/buffer.html#buffer_buf_tostring_encoding_start_end) documentation for more information.\n\n--------------------------------------------------------\n<a name=\"readXX\"></a>\n### bl.readDoubleBE(), bl.readDoubleLE(), bl.readFloatBE(), bl.readFloatLE(), bl.readInt32BE(), bl.readInt32LE(), bl.readUInt32BE(), bl.readUInt32LE(), bl.readInt16BE(), bl.readInt16LE(), bl.readUInt16BE(), bl.readUInt16LE(), bl.readInt8(), bl.readUInt8()\n\nAll of the standard byte-reading methods of the `Buffer` interface are implemented and will operate across internal Buffer boundaries transparently.\n\nSee the <b><code>[Buffer](http://nodejs.org/docs/latest/api/buffer.html)</code></b> documentation for how these work.\n\n--------------------------------------------------------\n<a name=\"streams\"></a>\n### Streams\n**bl** is a Node **[Duplex Stream](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_duplex)**, so it can be read from and written to like a standard Node stream. You can also `pipe()` to and from a **bl** instance.\n\n--------------------------------------------------------\n\n## Contributors\n\n**bl** is brought to you by the following hackers:\n\n * [Rod Vagg](https://github.com/rvagg)\n * [Matteo Collina](https://github.com/mcollina)\n * [Jarett Cruger](https://github.com/jcrugzz)\n\n=======\n\n<a name=\"license\"></a>\n## License &amp; copyright\n\nCopyright (c) 2013-2014 bl contributors (listed above).\n\nbl is licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/bl/issues"},"_id":"bl@0.9.4","_shasum":"4702ddf72fbe0ecd82787c00c113aea1935ad0e7","_from":"bl@>=0.9.0 <0.10.0","_resolved":"https://registry.npmjs.org/bl/-/bl-0.9.4.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/test/basic-test.js","id":"bl/test/basic-test.js","options":{},"isModule":true,"requiredModules":["tape","crypto","fs","hash_file","bl/bl.js"],"mtime":1406032064000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/test/sauce.js","id":"bl/test/sauce.js","options":{},"isModule":true,"requiredModules":["path","brtapsauce"],"mtime":1389099203000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/bl/test/test.js","id":"bl/test/test.js","options":{},"isModule":true,"requiredModules":["bl/test/basic-test.js","bl/test/sauce.js"],"mtime":1389099197000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/caseless/index.js","id":"caseless/index.js","options":{},"isModule":true,"mtime":1421068414000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/caseless/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/caseless/package.json","data":{"name":"caseless","version":"0.10.0","description":"Caseless object set/get/has, very useful when working with HTTP headers.","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"https://github.com/mikeal/caseless"},"keywords":["headers","http","caseless"],"test":"node test.js","author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com"},"license":"BSD","bugs":{"url":"https://github.com/mikeal/caseless/issues"},"devDependencies":{"tape":"^2.10.2"},"gitHead":"9c85efef6c37d48923b79f3f282441414dd691c9","homepage":"https://github.com/mikeal/caseless","_id":"caseless@0.10.0","_shasum":"ed6b2719adcd1fd18f58dc081c0f1a5b43963909","_from":"caseless@>=0.10.0 <0.11.0","_npmVersion":"1.4.14","_npmUser":{"name":"nylen","email":"jnylen@gmail.com"},"maintainers":[{"name":"mikeal","email":"mikeal.rogers@gmail.com"},{"name":"nylen","email":"jnylen@gmail.com"}],"dist":{"shasum":"ed6b2719adcd1fd18f58dc081c0f1a5b43963909","tarball":"http://registry.npmjs.org/caseless/-/caseless-0.10.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/caseless/-/caseless-0.10.0.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/caseless/test.js","id":"caseless/test.js","options":{},"isModule":true,"requiredModules":["tape","caseless/index.js"],"mtime":1421068414000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/combined-stream/lib/combined_stream.js","id":"combined-stream/lib/combined_stream.js","options":{},"isModule":true,"requiredModules":["util/util.js","stream","delayed-stream/lib/delayed_stream.js"],"mtime":1434294512000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js","id":"delayed-stream/lib/delayed_stream.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js"],"mtime":1430160544000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"contributors":[{"name":"Mike Atkins","email":"apeherder@gmail.com"}],"name":"delayed-stream","description":"Buffers events from a stream until you are ready to handle them.","license":"MIT","version":"1.0.0","homepage":"https://github.com/felixge/node-delayed-stream","repository":{"type":"git","url":"git://github.com/felixge/node-delayed-stream.git"},"main":"./lib/delayed_stream","engines":{"node":">=0.4.0"},"scripts":{"test":"make test"},"dependencies":{},"devDependencies":{"fake":"0.2.0","far":"0.0.1"},"readme":"# delayed-stream\n\nBuffers events from a stream until you are ready to handle them.\n\n## Installation\n\n``` bash\nnpm install delayed-stream\n```\n\n## Usage\n\nThe following example shows how to write a http echo server that delays its\nresponse by 1000 ms.\n\n``` javascript\nvar DelayedStream = require('delayed-stream');\nvar http = require('http');\n\nhttp.createServer(function(req, res) {\n  var delayed = DelayedStream.create(req);\n\n  setTimeout(function() {\n    res.writeHead(200);\n    delayed.pipe(res);\n  }, 1000);\n});\n```\n\nIf you are not using `Stream#pipe`, you can also manually release the buffered\nevents by calling `delayedStream.resume()`:\n\n``` javascript\nvar delayed = DelayedStream.create(req);\n\nsetTimeout(function() {\n  // Emit all buffered events and resume underlaying source\n  delayed.resume();\n}, 1000);\n```\n\n## Implementation\n\nIn order to use this meta stream properly, here are a few things you should\nknow about the implementation.\n\n### Event Buffering / Proxying\n\nAll events of the `source` stream are hijacked by overwriting the `source.emit`\nmethod. Until node implements a catch-all event listener, this is the only way.\n\nHowever, delayed-stream still continues to emit all events it captures on the\n`source`, regardless of whether you have released the delayed stream yet or\nnot.\n\nUpon creation, delayed-stream captures all `source` events and stores them in\nan internal event buffer. Once `delayedStream.release()` is called, all\nbuffered events are emitted on the `delayedStream`, and the event buffer is\ncleared. After that, delayed-stream merely acts as a proxy for the underlaying\nsource.\n\n### Error handling\n\nError events on `source` are buffered / proxied just like any other events.\nHowever, `delayedStream.create` attaches a no-op `'error'` listener to the\n`source`. This way you only have to handle errors on the `delayedStream`\nobject, rather than in two places.\n\n### Buffer limits\n\ndelayed-stream provides a `maxDataSize` property that can be used to limit\nthe amount of data being buffered. In order to protect you from bad `source`\nstreams that don't react to `source.pause()`, this feature is enabled by\ndefault.\n\n## API\n\n### DelayedStream.create(source, [options])\n\nReturns a new `delayedStream`. Available options are:\n\n* `pauseStream`\n* `maxDataSize`\n\nThe description for those properties can be found below.\n\n### delayedStream.source\n\nThe `source` stream managed by this object. This is useful if you are\npassing your `delayedStream` around, and you still want to access properties\non the `source` object.\n\n### delayedStream.pauseStream = true\n\nWhether to pause the underlaying `source` when calling\n`DelayedStream.create()`. Modifying this property afterwards has no effect.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature. You can also modify this property during runtime.\n\n### delayedStream.dataSize = 0\n\nThe amount of data buffered so far.\n\n### delayedStream.readable\n\nAn ECMA5 getter that returns the value of `source.readable`.\n\n### delayedStream.resume()\n\nIf the `delayedStream` has not been released so far, `delayedStream.release()`\nis called.\n\nIn either case, `source.resume()` is called.\n\n### delayedStream.pause()\n\nCalls `source.pause()`.\n\n### delayedStream.pipe(dest)\n\nCalls `delayedStream.resume()` and then proxies the arguments to `source.pipe`.\n\n### delayedStream.release()\n\nEmits and clears all events that have been buffered up so far. This does not\nresume the underlaying source, use `delayedStream.resume()` instead.\n\n## License\n\ndelayed-stream is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-delayed-stream/issues"},"_id":"delayed-stream@1.0.0","_shasum":"df3ae199acadfb7d440aaae0b29e2272b24ec619","_from":"delayed-stream@>=1.0.0 <1.1.0","_resolved":"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/combined-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/combined-stream/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"combined-stream","description":"A stream that emits multiple other streams one after another.","version":"1.0.5","homepage":"https://github.com/felixge/node-combined-stream","repository":{"type":"git","url":"git://github.com/felixge/node-combined-stream.git"},"main":"./lib/combined_stream","scripts":{"test":"node test/run.js"},"engines":{"node":">= 0.8"},"dependencies":{"delayed-stream":"~1.0.0"},"devDependencies":{"far":"~0.0.7"},"license":"MIT","readme":"# combined-stream\n\nA stream that emits multiple other streams one after another.\n\n**NB** Currently `combined-stream` works with streams vesrion 1 only. There is ongoing effort to switch this library to streams version 2. Any help is welcome. :) Meanwhile you can explore other libraries that provide streams2 support with more or less compatability with `combined-stream`.\n\n- [combined-stream2](https://www.npmjs.com/package/combined-stream2): A drop-in streams2-compatible replacement for the combined-stream module.\n\n- [multistream](https://www.npmjs.com/package/multistream): A stream that emits multiple other streams one after another.\n\n## Installation\n\n``` bash\nnpm install combined-stream\n```\n\n## Usage\n\nHere is a simple example that shows how you can use combined-stream to combine\ntwo files into one:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(fs.createReadStream('file1.txt'));\ncombinedStream.append(fs.createReadStream('file2.txt'));\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\nWhile the example above works great, it will pause all source streams until\nthey are needed. If you don't want that to happen, you can set `pauseStreams`\nto `false`:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create({pauseStreams: false});\ncombinedStream.append(fs.createReadStream('file1.txt'));\ncombinedStream.append(fs.createReadStream('file2.txt'));\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\nHowever, what if you don't have all the source streams yet, or you don't want\nto allocate the resources (file descriptors, memory, etc.) for them right away?\nWell, in that case you can simply provide a callback that supplies the stream\nby calling a `next()` function:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(function(next) {\n  next(fs.createReadStream('file1.txt'));\n});\ncombinedStream.append(function(next) {\n  next(fs.createReadStream('file2.txt'));\n});\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\n## API\n\n### CombinedStream.create([options])\n\nReturns a new combined stream object. Available options are:\n\n* `maxDataSize`\n* `pauseStreams`\n\nThe effect of those options is described below.\n\n### combinedStream.pauseStreams = `true`\n\nWhether to apply back pressure to the underlaying streams. If set to `false`,\nthe underlaying streams will never be paused. If set to `true`, the\nunderlaying streams will be paused right after being appended, as well as when\n`delayedStream.pipe()` wants to throttle.\n\n### combinedStream.maxDataSize = `2 * 1024 * 1024`\n\nThe maximum amount of bytes (or characters) to buffer for all source streams.\nIf this value is exceeded, `combinedStream` emits an `'error'` event.\n\n### combinedStream.dataSize = `0`\n\nThe amount of bytes (or characters) currently buffered by `combinedStream`.\n\n### combinedStream.append(stream)\n\nAppends the given `stream` to the combinedStream object. If `pauseStreams` is\nset to `true, this stream will also be paused right away.\n\n`streams` can also be a function that takes one parameter called `next`. `next`\nis a function that must be invoked in order to provide the `next` stream, see\nexample above.\n\nRegardless of how the `stream` is appended, combined-stream always attaches an\n`'error'` listener to it, so you don't have to do that manually.\n\nSpecial case: `stream` can also be a String or Buffer.\n\n### combinedStream.write(data)\n\nYou should not call this, `combinedStream` takes care of piping the appended\nstreams into itself for you.\n\n### combinedStream.resume()\n\nCauses `combinedStream` to start drain the streams it manages. The function is\nidempotent, and also emits a `'resume'` event each time which usually goes to\nthe stream that is currently being drained.\n\n### combinedStream.pause();\n\nIf `combinedStream.pauseStreams` is set to `false`, this does nothing.\nOtherwise a `'pause'` event is emitted, this goes to the stream that is\ncurrently being drained, so you can use it to apply back pressure.\n\n### combinedStream.end();\n\nSets `combinedStream.writable` to false, emits an `'end'` event, and removes\nall streams from the queue.\n\n### combinedStream.destroy();\n\nSame as `combinedStream.end()`, except it emits a `'close'` event instead of\n`'end'`.\n\n## License\n\ncombined-stream is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-combined-stream/issues"},"_id":"combined-stream@1.0.5","_shasum":"938370a57b4a51dea2c77c15d5c5fdf895164009","_from":"combined-stream@>=1.0.1 <1.1.0","_resolved":"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/extend/.jscs.json","id":"extend/.jscs.json","options":{},"isModule":true,"mtime":1428996559000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/extend/component.json","id":"extend/component.json","options":{},"isModule":true,"mtime":1429985983000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/extend/index.js","id":"extend/index.js","options":{},"isModule":true,"mtime":1429985472000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/extend/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/extend/package.json","data":{"name":"extend","author":{"name":"Stefan Thomas","email":"justmoon@members.fsf.org","url":"http://www.justmoon.net"},"version":"2.0.1","description":"Port of jQuery.extend for node.js and the browser","main":"index","scripts":{"test":"npm run lint && node test/index.js && npm run coverage-quiet","coverage":"covert test/index.js","coverage-quiet":"covert test/index.js --quiet","lint":"jscs *.js */*.js"},"contributors":[{"name":"Jordan Harband","url":"https://github.com/ljharb"}],"keywords":["extend","clone","merge"],"repository":{"type":"git","url":"git+https://github.com/justmoon/node-extend.git"},"dependencies":{},"devDependencies":{"tape":"^4.0.0","covert":"^1.0.1","jscs":"^1.11.3"},"license":"MIT","readme":"[![Build Status][travis-svg]][travis-url]\n[![dependency status][deps-svg]][deps-url]\n[![dev dependency status][dev-deps-svg]][dev-deps-url]\n\n# extend() for Node.js <sup>[![Version Badge][npm-version-png]][npm-url]</sup>\n\n`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true.\n\n## Installation\n\nThis package is available on [npm][npm-url] as: `extend`\n\n``` sh\nnpm install extend\n```\n\n## Usage\n\n**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)**\n\n*Extend one object with one or more others, returning the modified object.*\n\nKeep in mind that the target object will be modified, and will be returned from extend().\n\nIf a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s).\nUndefined properties are not copied. However, properties inherited from the object's prototype will be copied over.\nWarning: passing `false` as the first argument is not supported.\n\n### Arguments\n\n* `deep` *Boolean* (optional)\nIf set, the merge becomes recursive (i.e. deep copy).\n* `target`\t*Object*\nThe object to extend.\n* `object1`\t*Object*\nThe object that will be merged into the first.\n* `objectN` *Object* (Optional)\nMore objects to merge into the first.\n\n## License\n\n`node-extend` is licensed under the [MIT License][mit-license-url].\n\n## Acknowledgements\n\nAll credit to the jQuery authors for perfecting this amazing utility.\n\nPorted to Node.js by [Stefan Thomas][github-justmoon] with contributions by [Jonathan Buchanan][github-insin] and [Jordan Harband][github-ljharb].\n\n[travis-svg]: https://travis-ci.org/justmoon/node-extend.svg\n[travis-url]: https://travis-ci.org/justmoon/node-extend\n[npm-url]: https://npmjs.org/package/extend\n[mit-license-url]: http://opensource.org/licenses/MIT\n[github-justmoon]: https://github.com/justmoon\n[github-insin]: https://github.com/insin\n[github-ljharb]: https://github.com/ljharb\n[npm-version-png]: http://vb.teelaun.ch/justmoon/node-extend.svg\n[deps-svg]: https://david-dm.org/justmoon/node-extend.svg\n[deps-url]: https://david-dm.org/justmoon/node-extend\n[dev-deps-svg]: https://david-dm.org/justmoon/node-extend/dev-status.svg\n[dev-deps-url]: https://david-dm.org/justmoon/node-extend#info=devDependencies\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/justmoon/node-extend/issues"},"homepage":"https://github.com/justmoon/node-extend","_id":"extend@2.0.1","_shasum":"1ee8010689e7395ff9448241c98652bc759a8260","_from":"extend@>=2.0.1 <2.1.0","_resolved":"https://registry.npmjs.org/extend/-/extend-2.0.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/forever-agent/index.js","id":"forever-agent/index.js","options":{},"isModule":true,"requiredModules":["util/util.js","http","net","tls","https"],"mtime":1428426146000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/forever-agent/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/forever-agent/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"forever-agent","description":"HTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.","version":"0.6.1","license":"Apache-2.0","repository":{"url":"git+https://github.com/mikeal/forever-agent.git"},"main":"index.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"forever-agent\n=============\n\nHTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/forever-agent/issues"},"homepage":"https://github.com/mikeal/forever-agent","_id":"forever-agent@0.6.1","_shasum":"fbc71f0c41adeb37f96c577ad1ed42d8fdacca91","_from":"forever-agent@>=0.6.0 <0.7.0","_resolved":"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/lib/browser.js","id":"form-data/lib/browser.js","options":{},"isModule":true,"mtime":1438228280000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/lib/form_data.js","id":"form-data/lib/form_data.js","options":{},"isModule":true,"requiredModules":["combined-stream/lib/combined_stream.js","util/util.js","path","http","https","url","fs","mime-types/index.js","async/lib/async.js"],"mtime":1438228280000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1439143470000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"lib/async.js","files":["lib"],"author":{"name":"Caolan McMahon"},"version":"1.4.2","keywords":["async","callback","utility","module"],"repository":{"type":"git","url":"git+https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"license":"MIT","devDependencies":{"benchmark":"github:bestiejs/benchmark.js","bluebird":"^2.9.32","chai":"^3.1.0","coveralls":"^2.11.2","es6-promise":"^2.3.0","jscs":"^1.13.1","jshint":"~2.8.0","karma":"^0.13.2","karma-browserify":"^4.2.1","karma-firefox-launcher":"^0.1.6","karma-mocha":"^0.2.0","karma-mocha-reporter":"^1.0.2","lodash":"^3.9.0","mkdirp":"~0.5.1","mocha":"^2.2.5","native-promise-only":"^0.8.0-a","nodeunit":">0.0.0","nyc":"^2.1.0","rsvp":"^3.0.18","uglify-js":"~2.4.0","xyz":"^0.5.0","yargs":"~3.9.1"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"],"categories":["Utilities"]},"scripts":{"mocha-node-test":"mocha mocha_test/","mocha-browser-test":"karma start","mocha-test":"npm run mocha-node-test && npm run mocha-browser-test","nodeunit-test":"nodeunit test/test-async.js","test":"npm run-script lint && npm run nodeunit-test && npm run mocha-test","lint":"jshint lib/*.js test/*.js perf/*.js && jscs lib/*.js test/*.js perf/*.js","coverage":"nyc npm test && nyc report","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"spm":{"main":"lib/async.js"},"volo":{"main":"lib/async.js","ignore":["**/.*","node_modules","bower_components","test","tests"]},"gitHead":"92f78aebad222d60c13e4299c0e723f2fe2d6611","homepage":"https://github.com/caolan/async#readme","_id":"async@1.4.2","_shasum":"6c9edcb11ced4f0dd2f2d40db0d49a109c088aab","_from":"async@>=1.4.0 <2.0.0","_npmVersion":"2.9.0","_nodeVersion":"2.0.1","_npmUser":{"name":"megawac","email":"megawac@gmail.com"},"dist":{"shasum":"6c9edcb11ced4f0dd2f2d40db0d49a109c088aab","tarball":"http://registry.npmjs.org/async/-/async-1.4.2.tgz"},"maintainers":[{"name":"caolan","email":"caolan.mcmahon@gmail.com"},{"name":"beaugunderson","email":"beau@beaugunderson.com"},{"name":"aearly","email":"alexander.early@gmail.com"},{"name":"megawac","email":"megawac@gmail.com"}],"directories":{},"_resolved":"https://registry.npmjs.org/async/-/async-1.4.2.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/mime-types/index.js","id":"mime-types/index.js","options":{},"isModule":true,"requiredModules":["mime-db/index.js","path"],"mtime":1433741529000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/db.json","id":"mime-db/db.json","options":{},"isModule":true,"mtime":1438186182000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/index.js","id":"mime-db/index.js","options":{},"isModule":true,"requiredModules":["mime-db/db.json"],"mtime":1423439849000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/package.json","data":{"name":"mime-db","description":"Media Type Database","version":"1.16.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"}],"license":"MIT","keywords":["mime","db","type","types","database","charset","charsets"],"repository":{"type":"git","url":"git+https://github.com/jshttp/mime-db.git"},"devDependencies":{"bluebird":"2.9.34","co":"4.6.0","cogent":"1.0.1","csv-parse":"0.1.4","gnode":"0.1.1","istanbul":"0.3.17","mocha":"1.21.5","raw-body":"2.1.2","stream-to-array":"2"},"files":["HISTORY.md","LICENSE","README.md","db.json","index.js"],"engines":{"node":">= 0.6"},"scripts":{"build":"node scripts/build","fetch":"gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx","test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","update":"npm run fetch && npm run build"},"gitHead":"81c7d528a1e9711084f64adbb99b70c24e8fb8c9","bugs":{"url":"https://github.com/jshttp/mime-db/issues"},"homepage":"https://github.com/jshttp/mime-db","_id":"mime-db@1.16.0","_shasum":"e83dce4f81ca5455d29048e6c3422e9de3154f70","_from":"mime-db@>=1.16.0 <1.17.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"e83dce4f81ca5455d29048e6c3422e9de3154f70","tarball":"http://registry.npmjs.org/mime-db/-/mime-db-1.16.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mime-db/-/mime-db-1.16.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/mime-types/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/node_modules/mime-types/package.json","data":{"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"2.1.4","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jeremiah Senkpiel","email":"fishrock123@rocketmail.com","url":"https://searchbeam.jit.su"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","keywords":["mime","types"],"repository":{"type":"git","url":"git+https://github.com/jshttp/mime-types.git"},"dependencies":{"mime-db":"~1.16.0"},"devDependencies":{"istanbul":"0.3.17","mocha":"~1.21.5"},"files":["HISTORY.md","LICENSE","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec test/test.js","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js"},"gitHead":"0d801665a7374c71d905d14bc3afc2b0624bb896","bugs":{"url":"https://github.com/jshttp/mime-types/issues"},"homepage":"https://github.com/jshttp/mime-types","_id":"mime-types@2.1.4","_shasum":"6562b328e341245cb63b14473b1d12b40dec5884","_from":"mime-types@>=2.1.3 <3.0.0","_npmVersion":"1.4.28","_npmUser":{"name":"dougwilson","email":"doug@somethingdoug.com"},"maintainers":[{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},{"name":"fishrock123","email":"fishrock123@rocketmail.com"},{"name":"dougwilson","email":"doug@somethingdoug.com"}],"dist":{"shasum":"6562b328e341245cb63b14473b1d12b40dec5884","tarball":"http://registry.npmjs.org/mime-types/-/mime-types-2.1.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/mime-types/-/mime-types-2.1.4.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/form-data/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"form-data","description":"A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.","version":"1.0.0-rc3","repository":{"type":"git","url":"git://github.com/form-data/form-data.git"},"main":"./lib/form_data","browser":"./lib/browser","scripts":{"test":"./test/run.js"},"pre-commit":["test"],"engines":{"node":">= 0.10"},"dependencies":{"async":"^1.4.0","combined-stream":"^1.0.5","mime-types":"^2.1.3"},"license":"MIT","devDependencies":{"fake":"^0.2.2","far":"^0.0.7","formidable":"^1.0.17","pre-commit":"^1.0.10","request":"^2.60.0"},"gitHead":"c174f1b7f3a78a00ec5af0360469280445e37804","bugs":{"url":"https://github.com/form-data/form-data/issues"},"homepage":"https://github.com/form-data/form-data#readme","_id":"form-data@1.0.0-rc3","_shasum":"d35bc62e7fbc2937ae78f948aaa0d38d90607577","_from":"form-data@>=1.0.0-rc1 <1.1.0","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"dylanpiercey","email":"pierceydylan@gmail.com"},"dist":{"shasum":"d35bc62e7fbc2937ae78f948aaa0d38d90607577","tarball":"http://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz"},"maintainers":[{"name":"felixge","email":"felix@debuggable.com"},{"name":"idralyuk","email":"igor@buran.us"},{"name":"alexindigo","email":"iam@alexindigo.com"},{"name":"mikeal","email":"mikeal.rogers@gmail.com"},{"name":"celer","email":"dtyree77@gmail.com"},{"name":"dylanpiercey","email":"pierceydylan@gmail.com"}],"directories":{},"_resolved":"https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz","readme":"ERROR: No README data found!"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/error.js","id":"har-validator/lib/error.js","options":{},"isModule":true,"mtime":1427957976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/index.js","id":"har-validator/lib/index.js","options":{},"isModule":true,"requiredModules":["har-validator/lib/schemas/index.js","har-validator/lib/error.js","is-my-json-valid/index.js"],"mtime":1433997254000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/cache.json","id":"har-validator/lib/schemas/cache.json","options":{},"isModule":true,"mtime":1430366224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/cacheEntry.json","id":"har-validator/lib/schemas/cacheEntry.json","options":{},"isModule":true,"mtime":1430366989000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/content.json","id":"har-validator/lib/schemas/content.json","options":{},"isModule":true,"mtime":1427956230000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/cookie.json","id":"har-validator/lib/schemas/cookie.json","options":{},"isModule":true,"mtime":1427956234000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/creator.json","id":"har-validator/lib/schemas/creator.json","options":{},"isModule":true,"mtime":1427956234000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/entry.json","id":"har-validator/lib/schemas/entry.json","options":{},"isModule":true,"mtime":1434981223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/har.json","id":"har-validator/lib/schemas/har.json","options":{},"isModule":true,"mtime":1427956237000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/index.js","id":"har-validator/lib/schemas/index.js","options":{},"isModule":true,"requiredModules":["har-validator/lib/schemas/cache.json","har-validator/lib/schemas/cacheEntry.json","har-validator/lib/schemas/content.json","har-validator/lib/schemas/cookie.json","har-validator/lib/schemas/creator.json","har-validator/lib/schemas/entry.json","har-validator/lib/schemas/har.json","har-validator/lib/schemas/log.json","har-validator/lib/schemas/page.json","har-validator/lib/schemas/pageTimings.json","har-validator/lib/schemas/postData.json","har-validator/lib/schemas/record.json","har-validator/lib/schemas/request.json","har-validator/lib/schemas/response.json","har-validator/lib/schemas/timings.json"],"mtime":1427958054000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/log.json","id":"har-validator/lib/schemas/log.json","options":{},"isModule":true,"mtime":1427956238000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/page.json","id":"har-validator/lib/schemas/page.json","options":{},"isModule":true,"mtime":1430286002000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/pageTimings.json","id":"har-validator/lib/schemas/pageTimings.json","options":{},"isModule":true,"mtime":1427956239000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/postData.json","id":"har-validator/lib/schemas/postData.json","options":{},"isModule":true,"mtime":1427956240000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/record.json","id":"har-validator/lib/schemas/record.json","options":{},"isModule":true,"mtime":1427956241000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/request.json","id":"har-validator/lib/schemas/request.json","options":{},"isModule":true,"mtime":1427956242000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/response.json","id":"har-validator/lib/schemas/response.json","options":{},"isModule":true,"mtime":1427956242000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/lib/schemas/timings.json","id":"har-validator/lib/schemas/timings.json","options":{},"isModule":true,"mtime":1427956243000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/browser/bluebird.js","id":"bluebird/js/browser/bluebird.js","options":{},"isModule":true,"mtime":1436957145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/browser/bluebird.min.js","id":"bluebird/js/browser/bluebird.min.js","options":{},"isModule":true,"mtime":1436957145000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/any.js","id":"bluebird/js/main/any.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/assert.js","id":"bluebird/js/main/assert.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/async.js","id":"bluebird/js/main/async.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/schedule.js","bluebird/js/main/queue.js","bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/bind.js","id":"bluebird/js/main/bind.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/bluebird.js","id":"bluebird/js/main/bluebird.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/promise.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/call_get.js","id":"bluebird/js/main/call_get.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/cancel.js","id":"bluebird/js/main/cancel.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/errors.js","bluebird/js/main/async.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/captured_trace.js","id":"bluebird/js/main/captured_trace.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/async.js","bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/catch_filter.js","id":"bluebird/js/main/catch_filter.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/errors.js","bluebird/js/main/es5.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/context.js","id":"bluebird/js/main/context.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/debuggability.js","id":"bluebird/js/main/debuggability.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/async.js","bluebird/js/main/errors.js","bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/direct_resolve.js","id":"bluebird/js/main/direct_resolve.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/each.js","id":"bluebird/js/main/each.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/errors.js","id":"bluebird/js/main/errors.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/es5.js","bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/es5.js","id":"bluebird/js/main/es5.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/filter.js","id":"bluebird/js/main/filter.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/finally.js","id":"bluebird/js/main/finally.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/generators.js","id":"bluebird/js/main/generators.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/errors.js","bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/join.js","id":"bluebird/js/main/join.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/map.js","id":"bluebird/js/main/map.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/async.js","bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/method.js","id":"bluebird/js/main/method.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/nodeify.js","id":"bluebird/js/main/nodeify.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/async.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/progress.js","id":"bluebird/js/main/progress.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/async.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise.js","id":"bluebird/js/main/promise.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/async.js","bluebird/js/main/errors.js","bluebird/js/main/thenables.js","bluebird/js/main/promise_array.js","bluebird/js/main/captured_trace.js","bluebird/js/main/debuggability.js","bluebird/js/main/context.js","bluebird/js/main/catch_filter.js","bluebird/js/main/promise_resolver.js","bluebird/js/main/progress.js","bluebird/js/main/method.js","bluebird/js/main/bind.js","bluebird/js/main/finally.js","bluebird/js/main/direct_resolve.js","bluebird/js/main/synchronous_inspection.js","bluebird/js/main/join.js","bluebird/js/main/map.js","bluebird/js/main/cancel.js","bluebird/js/main/using.js","bluebird/js/main/generators.js","bluebird/js/main/nodeify.js","bluebird/js/main/call_get.js","bluebird/js/main/props.js","bluebird/js/main/race.js","bluebird/js/main/reduce.js","bluebird/js/main/settle.js","bluebird/js/main/some.js","bluebird/js/main/promisify.js","bluebird/js/main/any.js","bluebird/js/main/each.js","bluebird/js/main/timers.js","bluebird/js/main/filter.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise_array.js","id":"bluebird/js/main/promise_array.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise_resolver.js","id":"bluebird/js/main/promise_resolver.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/errors.js","bluebird/js/main/es5.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promisify.js","id":"bluebird/js/main/promisify.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/promise_resolver.js","bluebird/js/main/errors.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/props.js","id":"bluebird/js/main/props.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/es5.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/queue.js","id":"bluebird/js/main/queue.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/race.js","id":"bluebird/js/main/race.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/reduce.js","id":"bluebird/js/main/reduce.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/async.js","bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/schedule.js","id":"bluebird/js/main/schedule.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/settle.js","id":"bluebird/js/main/settle.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/some.js","id":"bluebird/js/main/some.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js","bluebird/js/main/errors.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/synchronous_inspection.js","id":"bluebird/js/main/synchronous_inspection.js","options":{},"isModule":true,"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/thenables.js","id":"bluebird/js/main/thenables.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/timers.js","id":"bluebird/js/main/timers.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/using.js","id":"bluebird/js/main/using.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/errors.js","bluebird/js/main/util.js"],"mtime":1436957141000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/util.js","id":"bluebird/js/main/util.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/es5.js"],"mtime":1436957141000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/bluebird/package.json","data":{"name":"bluebird","description":"Full featured Promises/A+ implementation with exceptionally good performance","version":"2.9.34","keywords":["promise","performance","promises","promises-a","promises-aplus","async","await","deferred","deferreds","future","flow control","dsl","fluent interface","parallel","thread","concurrency"],"scripts":{"lint":"node scripts/jshint.js","test":"node tools/test.js","istanbul":"istanbul","prepublish":"node tools/build.js --no-debug --main --zalgo --browser --minify"},"homepage":"https://github.com/petkaantonov/bluebird","repository":{"type":"git","url":"git://github.com/petkaantonov/bluebird.git"},"bugs":{"url":"http://github.com/petkaantonov/bluebird/issues"},"license":"MIT","author":{"name":"Petka Antonov","email":"petka_antonov@hotmail.com","url":"http://github.com/petkaantonov/"},"devDependencies":{"acorn":"~0.6.0","baconjs":"^0.7.43","bluebird":"^2.9.2","body-parser":"^1.10.2","browserify":"^8.1.1","cli-table":"~0.3.1","co":"^4.2.0","cross-spawn":"^0.2.3","glob":"^4.3.2","grunt-saucelabs":"~8.4.1","highland":"^2.3.0","istanbul":"^0.3.5","jshint":"^2.6.0","jshint-stylish":"~0.2.0","mkdirp":"~0.5.0","mocha":"~2.1","open":"~0.0.5","optimist":"~0.6.1","rimraf":"~2.2.6","rx":"^2.3.25","serve-static":"^1.7.1","sinon":"~1.7.3","uglify-js":"~2.4.16","kefir":"^2.4.1"},"main":"./js/main/bluebird.js","browser":"./js/browser/bluebird.js","files":["js/browser","js/main","js/zalgo","zalgo.js"],"gitHead":"386ba4f7d588693e5d675290a6b7fade08e0d626","_id":"bluebird@2.9.34","_shasum":"2f7b4ec80216328a9fddebdf69c8d4942feff7d8","_from":"bluebird@>=2.9.30 <3.0.0","_npmVersion":"2.11.1","_nodeVersion":"2.3.0","_npmUser":{"name":"esailija","email":"petka_antonov@hotmail.com"},"maintainers":[{"name":"esailija","email":"petka_antonov@hotmail.com"}],"dist":{"shasum":"2f7b4ec80216328a9fddebdf69c8d4942feff7d8","tarball":"http://registry.npmjs.org/bluebird/-/bluebird-2.9.34.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/bluebird/-/bluebird-2.9.34.tgz","readme":"ERROR: No README data found!"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/index.js","id":"chalk/index.js","options":{},"isModule":true,"requiredModules":["escape-string-regexp/index.js","ansi-styles/index.js","strip-ansi/index.js","has-ansi/index.js","supports-color/index.js"],"mtime":1435756801000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/index.js","id":"ansi-styles/index.js","options":{},"isModule":true,"mtime":1435756896000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/package.json","data":{"name":"ansi-styles","version":"2.1.0","description":"ANSI escape codes for styling strings in the terminal","license":"MIT","repository":{"type":"git","url":"git+https://github.com/chalk/ansi-styles.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"files":["index.js"],"keywords":["ansi","styles","color","colour","colors","terminal","console","cli","string","tty","escape","formatting","rgb","256","shell","xterm","log","logging","command-line","text"],"devDependencies":{"mocha":"*"},"gitHead":"18421cbe4a2d93359ec2599a894f704be126d066","bugs":{"url":"https://github.com/chalk/ansi-styles/issues"},"homepage":"https://github.com/chalk/ansi-styles","_id":"ansi-styles@2.1.0","_shasum":"990f747146927b559a932bf92959163d60c0d0e2","_from":"ansi-styles@>=2.1.0 <3.0.0","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"jbnicolai","email":"jappelman@xebia.com"},"dist":{"shasum":"990f747146927b559a932bf92959163d60c0d0e2","tarball":"http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/index.js","id":"escape-string-regexp/index.js","options":{},"isModule":true,"mtime":1410623244000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/package.json","data":{"name":"escape-string-regexp","version":"1.0.3","description":"Escape RegExp special characters","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/escape-string-regexp.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.8.0"},"scripts":{"test":"mocha"},"files":["index.js"],"keywords":["regex","regexp","re","regular","expression","escape","string","str","special","characters"],"devDependencies":{"mocha":"*"},"gitHead":"1e446e6b4449b5f1f8868cd31bf8fd25ee37fb4b","bugs":{"url":"https://github.com/sindresorhus/escape-string-regexp/issues"},"homepage":"https://github.com/sindresorhus/escape-string-regexp","_id":"escape-string-regexp@1.0.3","_shasum":"9e2d8b25bc2555c3336723750e03f099c2735bb5","_from":"escape-string-regexp@>=1.0.2 <2.0.0","_npmVersion":"2.1.16","_nodeVersion":"0.10.35","_npmUser":{"name":"jbnicolai","email":"jappelman@xebia.com"},"dist":{"shasum":"9e2d8b25bc2555c3336723750e03f099c2735bb5","tarball":"http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/index.js","id":"has-ansi/index.js","options":{},"isModule":true,"requiredModules":["ansi-regex/index.js"],"mtime":1402774137000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js","id":"ansi-regex/index.js","options":{},"isModule":true,"mtime":1435679868000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json","data":{"name":"ansi-regex","version":"2.0.0","description":"Regular expression for matching ANSI escape codes","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/ansi-regex.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha test/test.js","view-supported":"node test/viewCodes.js"},"files":["index.js"],"keywords":["ansi","styles","color","colour","colors","terminal","console","cli","string","tty","escape","formatting","rgb","256","shell","xterm","command-line","text","regex","regexp","re","match","test","find","pattern"],"devDependencies":{"mocha":"*"},"gitHead":"57c3f2941a73079fa8b081e02a522e3d29913e2f","bugs":{"url":"https://github.com/sindresorhus/ansi-regex/issues"},"homepage":"https://github.com/sindresorhus/ansi-regex","_id":"ansi-regex@2.0.0","_shasum":"c5061b6e0ef8a81775e50f5d66151bf6bf371107","_from":"ansi-regex@>=2.0.0 <3.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"c5061b6e0ef8a81775e50f5d66151bf6bf371107","tarball":"http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487649000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/package.json","data":{"name":"has-ansi","version":"2.0.0","description":"Check if a string has ANSI escape codes","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/has-ansi.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["ansi","styles","color","colour","colors","terminal","console","string","tty","escape","shell","xterm","command-line","text","regex","regexp","re","match","test","find","pattern","has"],"dependencies":{"ansi-regex":"^2.0.0"},"devDependencies":{"ava":"0.0.4"},"gitHead":"0722275e1bef139fcd09137da6e5550c3cd368b9","bugs":{"url":"https://github.com/sindresorhus/has-ansi/issues"},"homepage":"https://github.com/sindresorhus/has-ansi","_id":"has-ansi@2.0.0","_shasum":"34f5049ce1ecdf2b0649af3ef24e45ed35416d91","_from":"has-ansi@>=2.0.0 <3.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"34f5049ce1ecdf2b0649af3ef24e45ed35416d91","tarball":"http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/index.js","id":"strip-ansi/index.js","options":{},"isModule":true,"requiredModules":["ansi-regex/index.js"],"mtime":1403638286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js","id":"ansi-regex/index.js","options":{},"isModule":true,"mtime":1435679868000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json","data":{"name":"ansi-regex","version":"2.0.0","description":"Regular expression for matching ANSI escape codes","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/ansi-regex.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha test/test.js","view-supported":"node test/viewCodes.js"},"files":["index.js"],"keywords":["ansi","styles","color","colour","colors","terminal","console","cli","string","tty","escape","formatting","rgb","256","shell","xterm","command-line","text","regex","regexp","re","match","test","find","pattern"],"devDependencies":{"mocha":"*"},"gitHead":"57c3f2941a73079fa8b081e02a522e3d29913e2f","bugs":{"url":"https://github.com/sindresorhus/ansi-regex/issues"},"homepage":"https://github.com/sindresorhus/ansi-regex","_id":"ansi-regex@2.0.0","_shasum":"c5061b6e0ef8a81775e50f5d66151bf6bf371107","_from":"ansi-regex@>=2.0.0 <3.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"c5061b6e0ef8a81775e50f5d66151bf6bf371107","tarball":"http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487649000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json","data":{"name":"strip-ansi","version":"3.0.0","description":"Strip ANSI escape codes","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/strip-ansi.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["strip","trim","remove","ansi","styles","color","colour","colors","terminal","console","string","tty","escape","formatting","rgb","256","shell","xterm","log","logging","command-line","text"],"dependencies":{"ansi-regex":"^2.0.0"},"devDependencies":{"ava":"0.0.4"},"gitHead":"3f05b9810e1438f946e2eb84ee854cc00b972e9e","bugs":{"url":"https://github.com/sindresorhus/strip-ansi/issues"},"homepage":"https://github.com/sindresorhus/strip-ansi","_id":"strip-ansi@3.0.0","_shasum":"7510b665567ca914ccb5d7e072763ac968be3724","_from":"strip-ansi@>=3.0.0 <4.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"7510b665567ca914ccb5d7e072763ac968be3724","tarball":"http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/index.js","id":"supports-color/index.js","options":{},"isModule":true,"mtime":1435362323000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/package.json","data":{"name":"supports-color","version":"2.0.0","description":"Detect whether a terminal supports color","license":"MIT","repository":{"type":"git","url":"git+https://github.com/chalk/supports-color.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.8.0"},"scripts":{"test":"mocha"},"files":["index.js"],"keywords":["color","colour","colors","terminal","console","cli","ansi","styles","tty","rgb","256","shell","xterm","command-line","support","supports","capability","detect"],"devDependencies":{"mocha":"*","require-uncached":"^1.0.2"},"gitHead":"8400d98ade32b2adffd50902c06d9e725a5c6588","bugs":{"url":"https://github.com/chalk/supports-color/issues"},"homepage":"https://github.com/chalk/supports-color","_id":"supports-color@2.0.0","_shasum":"535d045ce6b6363fa40117084629995e9df324c7","_from":"supports-color@>=2.0.0 <3.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"535d045ce6b6363fa40117084629995e9df324c7","tarball":"http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/chalk/package.json","data":{"name":"chalk","version":"1.1.0","description":"Terminal string styling done right. Much color.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/chalk/chalk.git"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"},{"name":"unicorn","email":"sindresorhus+unicorn@gmail.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha","bench":"matcha benchmark.js","coverage":"nyc npm test && nyc report","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"files":["index.js"],"keywords":["color","colour","colors","terminal","console","cli","string","str","ansi","style","styles","tty","formatting","rgb","256","shell","xterm","log","logging","command-line","text"],"dependencies":{"ansi-styles":"^2.1.0","escape-string-regexp":"^1.0.2","has-ansi":"^2.0.0","strip-ansi":"^3.0.0","supports-color":"^2.0.0"},"devDependencies":{"coveralls":"^2.11.2","matcha":"^0.6.0","mocha":"*","nyc":"^3.0.0","require-uncached":"^1.0.2","resolve-from":"^1.0.0","semver":"^4.3.3"},"gitHead":"e9bb6e6000b1c5d4508afabfdc85dd70f582f515","bugs":{"url":"https://github.com/chalk/chalk/issues"},"homepage":"https://github.com/chalk/chalk","_id":"chalk@1.1.0","_shasum":"09b453cec497a75520e4a60ae48214a8700e0921","_from":"chalk@>=1.0.0 <2.0.0","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"jbnicolai","email":"jappelman@xebia.com"},"dist":{"shasum":"09b453cec497a75520e4a60ae48214a8700e0921","tarball":"http://registry.npmjs.org/chalk/-/chalk-1.1.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/chalk/-/chalk-1.1.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/commander/index.js","id":"commander/index.js","options":{},"isModule":true,"requiredModules":["events","child_process","graceful-readlink/index.js","path","fs"],"mtime":1429711269000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/index.js","id":"graceful-readlink/index.js","options":{},"isModule":true,"requiredModules":["fs"],"mtime":1423714095000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/package.json","data":{"name":"graceful-readlink","version":"1.0.1","description":"graceful fs.readlink","main":"index.js","repository":{"type":"git","url":"git://github.com/zhiyelee/graceful-readlink.git"},"homepage":"https://github.com/zhiyelee/graceful-readlink","bugs":{"url":"https://github.com/zhiyelee/graceful-readlink/issues"},"keywords":["fs.readlink","readlink"],"author":{"name":"zhiyelee"},"license":"MIT","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"gitHead":"f6655275bebef706fb63fd01b5f062a7052419a5","_id":"graceful-readlink@1.0.1","_shasum":"4cafad76bc62f02fa039b2f94e9a3dd3a391a725","_from":"graceful-readlink@>=1.0.0","_npmVersion":"2.1.17","_nodeVersion":"0.11.14","_npmUser":{"name":"zhiyelee","email":"zhiyelee@gmail.com"},"maintainers":[{"name":"zhiyelee","email":"zhiyelee@gmail.com"}],"dist":{"shasum":"4cafad76bc62f02fa039b2f94e9a3dd3a391a725","tarball":"http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/commander/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/commander/package.json","data":{"name":"commander","version":"2.8.1","description":"the complete solution for node.js command-line programs","keywords":["command","option","parser"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/tj/commander.js.git"},"devDependencies":{"should":">= 0.0.1","sinon":">= 1.14.1"},"scripts":{"test":"make test"},"main":"index","engines":{"node":">= 0.6.x"},"files":["index.js"],"dependencies":{"graceful-readlink":">= 1.0.0"},"gitHead":"c6c84726050b19c0373de27cd359f3baddff579f","bugs":{"url":"https://github.com/tj/commander.js/issues"},"homepage":"https://github.com/tj/commander.js","_id":"commander@2.8.1","_shasum":"06be367febfda0c330aa1e2a072d3dc9762425d4","_from":"commander@>=2.8.1 <3.0.0","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"zhiyelee","email":"zhiyelee@gmail.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"somekittens","email":"rkoutnik@gmail.com"},{"name":"zhiyelee","email":"zhiyelee@gmail.com"},{"name":"thethomaseffect","email":"thethomaseffect@gmail.com"}],"dist":{"shasum":"06be367febfda0c330aa1e2a072d3dc9762425d4","tarball":"http://registry.npmjs.org/commander/-/commander-2.8.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/commander/-/commander-2.8.1.tgz","readme":"ERROR: No README data found!"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/example.js","id":"is-my-json-valid/example.js","options":{},"isModule":true,"requiredModules":["is-my-json-valid/index.js"],"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/formats.js","id":"is-my-json-valid/formats.js","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/index.js","id":"is-my-json-valid/index.js","options":{},"isModule":true,"requiredModules":["generate-object-property/index.js","generate-function/index.js","jsonpointer/jsonpointer.js","xtend/immutable.js","is-my-json-valid/formats.js"],"mtime":1437940209000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/example.js","id":"generate-function/example.js","options":{},"isModule":true,"requiredModules":["generate-function/index.js"],"mtime":1406741329000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/index.js","id":"generate-function/index.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1408639884000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json","data":{"name":"generate-function","version":"2.0.0","description":"Module that helps you write generated functions in Node","main":"index.js","scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/generate-function.git"},"keywords":["generate","code","generation","function","performance"],"author":{"name":"Mathias Buus"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/generate-function/issues"},"homepage":"https://github.com/mafintosh/generate-function","devDependencies":{"tape":"^2.13.4"},"readme":"# generate-function\n\nModule that helps you write generated functions in Node\n\n```\nnpm install generate-function\n```\n\n[![build status](http://img.shields.io/travis/mafintosh/generate-function.svg?style=flat)](http://travis-ci.org/mafintosh/generate-function)\n\n## Disclamer\n\nWriting code that generates code is hard.\nYou should only use this if you really, really, really need this for performance reasons (like schema validators / parsers etc).\n\n## Usage\n\n``` js\nvar genfun = require('generate-function')\n\nvar addNumber = function(val) {\n  var fn = genfun()\n    ('function add(n) {')\n      ('return n + %d', val) // supports format strings to insert values\n    ('}')\n\n  return fn.toFunction() // will compile the function\n}\n\nvar add2 = addNumber(2)\n\nconsole.log('1+2=', add2(1))\nconsole.log(add2.toString()) // prints the generated function\n```\n\nIf you need to close over variables in your generated function pass them to `toFunction(scope)`\n\n``` js\nvar multiply = function(a, b) {\n  return a * b\n}\n\nvar addAndMultiplyNumber = function(val) {\n  var fn = genfun()\n    ('function(n) {')\n      ('if (typeof n !== \"number\") {') // ending a line with { will indent the source\n        ('throw new Error(\"argument should be a number\")')\n      ('}')\n      ('var result = multiply(%d, n+%d)', val, val)\n      ('return result')\n    ('}')\n\n  // use fn.toString() if you want to see the generated source\n\n  return fn.toFunction({\n    multiply: multiply\n  })\n}\n\nvar addAndMultiply2 = addAndMultiplyNumber(2)\n\nconsole.log('(3 + 2) * 2 =', addAndMultiply2(3))\n```\n\n## Related\n\nSee [generate-object-property](https://github.com/mafintosh/generate-object-property) if you need to safely generate code that\ncan be used to reference an object property\n\n## License\n\nMIT","readmeFilename":"README.md","_id":"generate-function@2.0.0","_shasum":"6858fe7c0969b7d4e9093337647ac79f60dfbe74","_from":"generate-function@>=2.0.0 <3.0.0","_resolved":"https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/test.js","id":"generate-function/test.js","options":{},"isModule":true,"requiredModules":["tape","generate-function/index.js"],"mtime":1406740670000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/index.js","id":"generate-object-property/index.js","options":{},"isModule":true,"requiredModules":["is-property/is-property.js"],"mtime":1431893671000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/is-property.js","id":"is-property/is-property.js","options":{},"isModule":true,"mtime":1419518893000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json","data":{"name":"is-property","version":"1.0.2","description":"Tests if a JSON property can be accessed using . syntax","main":"is-property.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tape":"~1.0.4"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/is-property.git"},"keywords":["is","property","json","dot","bracket",".","[]"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"0a85ea5b6b1264ea1cdecc6e5cf186adbb3ffc50","bugs":{"url":"https://github.com/mikolalysenko/is-property/issues"},"readme":"is-property\n===========\nTests if a property of a JavaScript object can be accessed using the dot (.) notation or if it must be enclosed in brackets, (ie use x[\" ... \"])\n\nExample\n-------\n\n```javascript\nvar isProperty = require(\"is-property\")\n\nconsole.log(isProperty(\"foo\"))  //Prints true\nconsole.log(isProperty(\"0\"))    //Prints false\n```\n\nInstall\n-------\n\n    npm install is-property\n    \n### `require(\"is-property\")(str)`\nChecks if str is a property\n\n* `str` is a string which we will test if it is a property or not\n\n**Returns** true or false depending if str is a property\n\n## Credits\n(c) 2013 Mikola Lysenko. MIT License","homepage":"https://github.com/mikolalysenko/is-property","_id":"is-property@1.0.2","_shasum":"57fe1c4e48474edd65b09911f26b1cd4095dda84","_from":"is-property@>=1.0.0 <2.0.0","_resolved":"https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"},"mtime":1439487649000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json","data":{"name":"generate-object-property","version":"1.2.0","description":"Generate safe JS code that can used to reference a object property","repository":{"type":"git","url":"git+https://github.com/mafintosh/generate-object-property.git"},"devDependencies":{"tape":"^2.13.0"},"scripts":{"test":"tape test.js"},"dependencies":{"is-property":"^1.0.0"},"bugs":{"url":"https://github.com/mafintosh/generate-object-property/issues"},"homepage":"https://github.com/mafintosh/generate-object-property","main":"index.js","author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","readme":"# generate-object-property\n\nGenerate safe JS code that can used to reference a object property\n\n\tnpm install generate-object-property\n\n[![build status](http://img.shields.io/travis/mafintosh/generate-object-property.svg?style=flat)](http://travis-ci.org/mafintosh/generate-object-property)\n\n## Usage\n\n``` js\nvar gen = require('generate-object-property');\nconsole.log(gen('a','b')); // prints a.b\nconsole.log(gen('a', 'foo-bar')); // prints a[\"foo-bar\"]\n```\n\n## License\n\nMIT","readmeFilename":"README.md","_id":"generate-object-property@1.2.0","_shasum":"9c0e1c40308ce804f4783618b937fa88f99d50d0","_from":"generate-object-property@>=1.1.0 <2.0.0","_resolved":"https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/test.js","id":"generate-object-property/test.js","options":{},"isModule":true,"requiredModules":["tape","generate-object-property/index.js"],"mtime":1427465395000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/jsonpointer.js","id":"jsonpointer/jsonpointer.js","options":{},"isModule":true,"requiredModules":["console"],"mtime":1358708025000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json","data":{"name":"jsonpointer","description":"Simple JSON Addressing.","tags":["util","simple","util","utility"],"version":"1.1.0","author":{"name":"Jan Lehnardt","email":"jan@apache.org"},"contributors":[{"name":"Joe Hildebrand","email":"joe-github@cursive.net"},{"name":"Filip Noetzel"}],"repository":{"type":"git","url":"git+ssh://git@github.com/janl/node-jsonpointer.git"},"bugs":{"url":"http://github.com/janl/node-jsonpointer/issues"},"engines":["node >= 0.4.9"],"main":"./jsonpointer","scripts":{"test":"node test.js"},"readme":"# JSON Pointer for nodejs\n\nThis is an implementation of [JSON Pointer](http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08).\n\n## Usage\n\n    var jsonpointer = require(\"jsonpointer\");\n    var obj = { foo: 1, bar: { baz: 2}, qux: [3, 4, 5]};\n    var one = jsonpointer.get(obj, \"/foo\");\n    var two = jsonpointer.get(obj, \"/bar/baz\");\n    var three = jsonpointer.get(obj, \"/qux/0\");\n    var four = jsonpointer.get(obj, \"/qux/1\");\n    var five = jsonpointer.get(obj, \"/qux/2\");\n\n    jsonpointer.set(obj, \"/foo\", 6); // obj.foo = 6;\n\n## Testing\n\n    $ node test.js\n    All tests pass.\n    $\n\n[![Build Status](https://travis-ci.org/janl/node-jsonpointer.png?branch=master)](undefined)\n\n## Author\n\n(c) 2011 Jan Lehnardt <jan@apache.org>\n\n## License\n\nMIT License.","readmeFilename":"README.md","homepage":"https://github.com/janl/node-jsonpointer","_id":"jsonpointer@1.1.0","_shasum":"c3c72efaed3b97154163dc01dd349e1cfe0f80fc","_from":"jsonpointer@>=1.1.0 <2.0.0","_resolved":"https://registry.npmjs.org/jsonpointer/-/jsonpointer-1.1.0.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/test.js","id":"jsonpointer/test.js","options":{},"isModule":true,"requiredModules":["assert","console","jsonpointer/jsonpointer.js"],"mtime":1358708025000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/immutable.js","id":"xtend/immutable.js","options":{},"isModule":true,"mtime":1406840914000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/mutable.js","id":"xtend/mutable.js","options":{},"isModule":true,"mtime":1406840914000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json","data":{"name":"xtend","version":"4.0.0","description":"extend like a boss","keywords":["extend","merge","options","opts","object","array"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/xtend.git"},"main":"immutable","scripts":{"test":"node test"},"dependencies":{},"devDependencies":{"tape":"~1.1.0"},"homepage":"https://github.com/Raynos/xtend","contributors":[{"name":"Jake Verbaten"},{"name":"Matt Esch"}],"bugs":{"url":"https://github.com/Raynos/xtend/issues","email":"raynos2@gmail.com"},"licenses":[{"type":"MIT","url":"http://github.com/raynos/xtend/raw/master/LICENSE"}],"testling":{"files":"test.js","browsers":["ie/7..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest"]},"engines":{"node":">=0.4"},"gitHead":"94a95d76154103290533b2c55ffa0fe4be16bfef","_id":"xtend@4.0.0","_shasum":"8bc36ff87aedbe7ce9eaf0bca36b2354a743840f","_from":"xtend@>=4.0.0 <5.0.0","_npmVersion":"1.4.15","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}],"dist":{"shasum":"8bc36ff87aedbe7ce9eaf0bca36b2354a743840f","tarball":"http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/test.js","id":"xtend/test.js","options":{},"isModule":true,"requiredModules":["tape","xtend/immutable.js","xtend/mutable.js"],"mtime":1406840914000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json","data":{"name":"is-my-json-valid","version":"2.12.1","description":"A JSONSchema validator that uses code generation to be extremely fast","main":"index.js","dependencies":{"generate-function":"^2.0.0","generate-object-property":"^1.1.0","jsonpointer":"^1.1.0","xtend":"^4.0.0"},"devDependencies":{"tape":"^2.13.4"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/is-my-json-valid.git"},"keywords":["json","schema","orderly","jsonschema"],"author":{"name":"Mathias Buus"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/is-my-json-valid/issues"},"homepage":"https://github.com/mafintosh/is-my-json-valid","readme":"# is-my-json-valid\n\nA [JSONSchema](http://json-schema.org/) validator that uses code generation\nto be extremely fast\n\n```\nnpm install is-my-json-valid\n```\n\nIt passes the entire JSONSchema v4 test suite except for `remoteRefs` and `maxLength`/`minLength` when using unicode surrogate pairs.\n\n[![build status](http://img.shields.io/travis/mafintosh/is-my-json-valid.svg?style=flat)](http://travis-ci.org/mafintosh/is-my-json-valid)\n\n## Usage\n\nSimply pass a schema to compile it\n\n``` js\nvar validator = require('is-my-json-valid')\n\nvar validate = validator({\n  required: true,\n  type: 'object',\n  properties: {\n    hello: {\n      required: true,\n      type: 'string'\n    }\n  }\n})\n\nconsole.log('should be valid', validate({hello: 'world'}))\nconsole.log('should not be valid', validate({}))\n\n// get the last list of errors by checking validate.errors\n// the following will print [{field: 'data.hello', message: 'is required'}]\nconsole.log(validate.errors)\n```\n\nYou can also pass the schema as a string\n\n``` js\nvar validate = validate('{\"type\": ... }')\n```\n\nOptionally you can use the require submodule to load a schema from `__dirname`\n\n``` js\nvar validator = require('is-my-json-valid/require')\nvar validate = validator('my-schema.json')\n```\n\n## Custom formats\n\nis-my-json-valid supports the formats specified in JSON schema v4 (such as date-time).\nIf you want to add your own custom formats pass them as the formats options to the validator\n\n``` js\nvar validate = validator({\n  type: 'string',\n  required: true,\n  format: 'only-a'\n}, {\n  formats: {\n    'only-a': /^a+$/\n  }\n})\n\nconsole.log(validate('aa')) // true\nconsole.log(validate('ab')) // false\n```\n\n## External schemas\n\nYou can pass in external schemas that you reference using the `$ref` attribute as the `schemas` option\n\n``` js\nvar ext = {\n  required: true,\n  type: 'string'\n}\n\nvar schema = {\n  $ref: '#ext' // references another schema called ext\n}\n\n// pass the external schemas as an option\nvar validate = validate(schema, {schemas: {ext: ext}})\n\nvalidate('hello') // returns true\nvalidate(42) // return false\n```\n\n## Filtering away additional properties\n\nis-my-json-valid supports filtering away properties not in the schema\n\n``` js\nvar filter = validator.filter({\n  required: true,\n  type: 'object',\n  properties: {\n    hello: {type: 'string', required: true}\n  },\n  additionalProperties: false\n})\n\nvar doc = {hello: 'world', notInSchema: true}\nconsole.log(filter(doc)) // {hello: 'world'}\n```\n\n## Verbose mode outputs the value on errors\n\nis-my-json-valid outputs the value causing an error when verbose is set to true\n\n``` js\nvar validate = validator({\n  required: true,\n  type: 'object',\n  properties: {\n    hello: {\n      required: true,\n      type: 'string'\n    }\n  }\n}, {\n  verbose: true\n})\n\nvalidate({hello: 100});\nconsole.log(validate.errors) // {field: 'data.hello', message: 'is the wrong type', value: 100}\n```\n\n## Greedy mode tries to validate as much as possible\n\nBy default is-my-json-valid bails on first validation error but when greedy is\nset to true it tries to validate as much as possible:\n\n``` js\nvar validate = validator({\n  type: 'object',\n  properties: {\n    x: {\n      type: 'number'\n    }\n  },\n  required: ['x', 'y']\n}, {\n  greedy: true\n});\n\nvalidate({x: 'string'});\nconsole.log(validate.errors) // [{field: 'data.y', message: 'is required'},\n                             //  {field: 'data.x', message: 'is the wrong type'}]\n```\n\n## Performance\n\nis-my-json-valid uses code generation to turn your JSON schema into basic javascript code that is easily optimizeable by v8.\n\nAt the time of writing, is-my-json-valid is the __fastest validator__ when running\n\n* [json-schema-benchmark](https://github.com/Muscula/json-schema-benchmark)\n* [cosmicreals.com benchmark](http://cosmicrealms.com/blog/2014/08/29/benchmark-of-node-dot-js-json-validation-modules-part-3/)\n* [jsck benchmark](https://github.com/pandastrike/jsck/issues/72#issuecomment-70992684)\n* [themis benchmark](https://cdn.rawgit.com/playlyfe/themis/master/benchmark/results.html)\n* [z-schema benchmark](https://rawgit.com/zaggino/z-schema/master/benchmark/results.html)\n\nIf you know any other relevant benchmarks open a PR and I'll add them.\n\n## License\n\nMIT\n","readmeFilename":"README.md","_id":"is-my-json-valid@2.12.1","_shasum":"0ee5c19c9e93bae2760410cc72ef2798b52cc871","_from":"is-my-json-valid@>=2.12.0 <3.0.0","_resolved":"https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.1.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/require.js","id":"is-my-json-valid/require.js","options":{},"isModule":true,"requiredModules":["fs","path","is-my-json-valid/index.js"],"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/fixtures/cosmic.js","id":"is-my-json-valid/test/fixtures/cosmic.js","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json","id":"is-my-json-valid/test/json-schema-draft4/additionalItems.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json","id":"is-my-json-valid/test/json-schema-draft4/additionalProperties.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json","id":"is-my-json-valid/test/json-schema-draft4/allOf.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json","id":"is-my-json-valid/test/json-schema-draft4/anyOf.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json","id":"is-my-json-valid/test/json-schema-draft4/bignum.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/default.json","id":"is-my-json-valid/test/json-schema-draft4/default.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json","id":"is-my-json-valid/test/json-schema-draft4/definitions.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json","id":"is-my-json-valid/test/json-schema-draft4/dependencies.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json","id":"is-my-json-valid/test/json-schema-draft4/enum.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/format.json","id":"is-my-json-valid/test/json-schema-draft4/format.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/items.json","id":"is-my-json-valid/test/json-schema-draft4/items.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json","id":"is-my-json-valid/test/json-schema-draft4/maximum.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json","id":"is-my-json-valid/test/json-schema-draft4/maxItems.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json","id":"is-my-json-valid/test/json-schema-draft4/maxLength.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json","id":"is-my-json-valid/test/json-schema-draft4/maxProperties.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json","id":"is-my-json-valid/test/json-schema-draft4/minimum.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json","id":"is-my-json-valid/test/json-schema-draft4/minItems.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json","id":"is-my-json-valid/test/json-schema-draft4/minLength.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json","id":"is-my-json-valid/test/json-schema-draft4/minProperties.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json","id":"is-my-json-valid/test/json-schema-draft4/multipleOf.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/not.json","id":"is-my-json-valid/test/json-schema-draft4/not.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json","id":"is-my-json-valid/test/json-schema-draft4/nullAndFormat.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json","id":"is-my-json-valid/test/json-schema-draft4/nullAndObject.json","options":{},"isModule":true,"mtime":1437940209000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json","id":"is-my-json-valid/test/json-schema-draft4/oneOf.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json","id":"is-my-json-valid/test/json-schema-draft4/pattern.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json","id":"is-my-json-valid/test/json-schema-draft4/patternProperties.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json","id":"is-my-json-valid/test/json-schema-draft4/properties.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json","id":"is-my-json-valid/test/json-schema-draft4/ref.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json","id":"is-my-json-valid/test/json-schema-draft4/refRemote.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/required.json","id":"is-my-json-valid/test/json-schema-draft4/required.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/type.json","id":"is-my-json-valid/test/json-schema-draft4/type.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json","id":"is-my-json-valid/test/json-schema-draft4/uniqueItems.json","options":{},"isModule":true,"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema.js","id":"is-my-json-valid/test/json-schema.js","options":{},"isModule":true,"requiredModules":["tape","fs","is-my-json-valid/index.js"],"mtime":1434031383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/misc.js","id":"is-my-json-valid/test/misc.js","options":{},"isModule":true,"requiredModules":["tape","is-my-json-valid/test/fixtures/cosmic.js","is-my-json-valid/index.js","is-my-json-valid/require.js"],"mtime":1434031383000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/har-validator/package.json","data":{"version":"1.8.0","name":"har-validator","description":"Extremely fast HTTP Archive (HAR) validator using JSON Schema","author":{"name":"Ahmad Nassri","email":"ahmad@ahmadnassri.com","url":"https://www.ahmadnassri.com/"},"homepage":"https://github.com/ahmadnassri/har-validator","repository":{"type":"git","url":"git://github.com/ahmadnassri/har-validator.git"},"license":"ISC","main":"lib/index","bin":{"har-validator":"bin/har-validator"},"keywords":["har","http","archive","validate","validator"],"engines":{"node":">=0.10"},"files":["bin","lib"],"bugs":{"url":"https://github.com/ahmadnassri/har-validator/issues"},"scripts":{"pretest":"standard && echint","test":"mocha","posttest":"npm run coverage","coverage":"istanbul cover --dir coverage _mocha -- -R dot","codeclimate":"codeclimate < coverage/lcov.info"},"echint":{"ignore":["coverage/**"]},"devDependencies":{"codeclimate-test-reporter":"0.0.4","echint":"^1.3.0","istanbul":"^0.3.15","mocha":"^2.2.5","require-directory":"^2.1.1","should":"^7.0.1","standard":"^4.3.1"},"dependencies":{"bluebird":"^2.9.30","chalk":"^1.0.0","commander":"^2.8.1","is-my-json-valid":"^2.12.0"},"readme":"# HAR Validator [![version][npm-version]][npm-url] [![License][npm-license]][license-url]\n\nExtremely fast HTTP Archive ([HAR](http://www.softwareishard.com/blog/har-12-spec/)) validator using JSON Schema.\n\n[![Build Status][travis-image]][travis-url]\n[![Downloads][npm-downloads]][npm-url]\n[![Code Climate][codeclimate-quality]][codeclimate-url]\n[![Coverage Status][codeclimate-coverage]][codeclimate-url]\n[![Dependencies][david-image]][david-url]\n\n## Install\n\n```shell\n# to use in cli\nnpm install --global har-validator\n\n# to use as a module\nnpm install --save har-validator\n```\n\n## Usage\n\n```\n\n  Usage: har-validator [options] <files ...>\n\n  Options:\n\n    -h, --help           output usage information\n    -V, --version        output the version number\n    -s, --schema [name]  validate schema name (log, request, response, etc ...)\n\n```\n\n###### Example\n\n```shell\nhar-validator har.json\n\nhar-validator --schema request request.json\n```\n\n## API\n\n### Validate(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a full [HAR](http://www.softwareishard.com/blog/har-12-spec/) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar HAR = require('./har.json');\nvar validate = require('har-validator');\n\nvalidate(HAR, function (e, valid) {\n  if (e) console.log(e.errors)\n\n  if (valid) console.log('horray!');\n});\n```\n\n### Validate.log(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [log](http://www.softwareishard.com/blog/har-12-spec/#log) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.log(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.cache(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [cache](http://www.softwareishard.com/blog/har-12-spec/#cache) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.cache(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.cacheEntry(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [\"beforeRequest\" or \"afterRequest\"](http://www.softwareishard.com/blog/har-12-spec/#cache) objects\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.cacheEntry(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.content(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [content](http://www.softwareishard.com/blog/har-12-spec/#content) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.content(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.cookie(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [cookie](http://www.softwareishard.com/blog/har-12-spec/#cookies) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.cookie(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.creator(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [creator](http://www.softwareishard.com/blog/har-12-spec/#creator) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.creator(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.entry(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  an [entry](http://www.softwareishard.com/blog/har-12-spec/#entries) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.entry(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.log(data [, callback])\n\nalias of [`Validate(data [, callback])`](#validate-data-callback-)\n\n### Validate.page(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [page](http://www.softwareishard.com/blog/har-12-spec/#pages) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.page(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.pageTimings(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [pageTimings](http://www.softwareishard.com/blog/har-12-spec/#pageTimings) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.pageTimings(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.postData(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [postData](http://www.softwareishard.com/blog/har-12-spec/#postData) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.postData(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.record(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [record](http://www.softwareishard.com/blog/har-12-spec/#headers) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.record(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.request(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [request](http://www.softwareishard.com/blog/har-12-spec/#request) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.request(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.response(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [response](http://www.softwareishard.com/blog/har-12-spec/#response) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.cacheEntry(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n### Validate.timings(data [, callback])\n\nReturns `true` or `false`.\n\n- **data**: `Object` *(Required)*\n  a [timings](http://www.softwareishard.com/blog/har-12-spec/#timings) object\n\n- **callback**: `Function`\n  gets two arguments (err, valid)\n\n```js\nvar validate = require('har-validator');\n\nvalidate.timings(data, function (e, valid) {\n  if (e) console.log(e.errors)\n});\n```\n\n## Support\n\nDonations are welcome to help support the continuous development of this project.\n\n[![Gratipay][gratipay-image]][gratipay-url]\n[![PayPal][paypal-image]][paypal-url]\n[![Flattr][flattr-image]][flattr-url]\n[![Bitcoin][bitcoin-image]][bitcoin-url]\n\n## License\n\n[ISC License](LICENSE) &copy; [Ahmad Nassri](https://www.ahmadnassri.com/)\n\n[license-url]: https://github.com/ahmadnassri/har-validator/blob/master/LICENSE\n\n[travis-url]: https://travis-ci.org/ahmadnassri/har-validator\n[travis-image]: https://img.shields.io/travis/ahmadnassri/har-validator.svg?style=flat-square\n\n[npm-url]: https://www.npmjs.com/package/har-validator\n[npm-license]: https://img.shields.io/npm/l/har-validator.svg?style=flat-square\n[npm-version]: https://img.shields.io/npm/v/har-validator.svg?style=flat-square\n[npm-downloads]: https://img.shields.io/npm/dm/har-validator.svg?style=flat-square\n\n[codeclimate-url]: https://codeclimate.com/github/ahmadnassri/har-validator\n[codeclimate-quality]: https://img.shields.io/codeclimate/github/ahmadnassri/har-validator.svg?style=flat-square\n[codeclimate-coverage]: https://img.shields.io/codeclimate/coverage/github/ahmadnassri/har-validator.svg?style=flat-square\n\n[david-url]: https://david-dm.org/ahmadnassri/har-validator\n[david-image]: https://img.shields.io/david/ahmadnassri/har-validator.svg?style=flat-square\n\n[gratipay-url]: https://www.gratipay.com/ahmadnassri/\n[gratipay-image]: https://img.shields.io/gratipay/ahmadnassri.svg?style=flat-square\n\n[paypal-url]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UJ2B2BTK9VLRS&on0=project&os0=har-validator\n[paypal-image]: http://img.shields.io/badge/paypal-donate-green.svg?style=flat-square\n\n[flattr-url]: https://flattr.com/submit/auto?user_id=ahmadnassri&url=https://github.com/ahmadnassri/har-validator&title=har-validator&language=&tags=github&category=software\n[flattr-image]: http://img.shields.io/badge/flattr-donate-green.svg?style=flat-square\n\n[bitcoin-image]: http://img.shields.io/badge/bitcoin-1Nb46sZRVG3or7pNaDjthcGJpWhvoPpCxy-green.svg?style=flat-square\n[bitcoin-url]: https://www.coinbase.com/checkouts/ae383ae6bb931a2fa5ad11cec115191e?name=har-validator\n","readmeFilename":"README.md","_id":"har-validator@1.8.0","_shasum":"d83842b0eb4c435960aeb108a067a3aa94c0eeb2","_from":"har-validator@>=1.6.1 <2.0.0","_resolved":"https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/bower.json","id":"hawk/bower.json","options":{},"isModule":true,"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/component.json","id":"hawk/component.json","options":{},"isModule":true,"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/example/usage.js","id":"hawk/example/usage.js","options":{},"isModule":true,"requiredModules":["http","request/index.js","hawk/lib/index.js"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/index.js","id":"hawk/index.js","options":{},"isModule":true,"requiredModules":["hawk/lib/index.js"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/lib/browser.js","id":"hawk/lib/browser.js","options":{},"isModule":true,"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/lib/client.js","id":"hawk/lib/client.js","options":{},"isModule":true,"requiredModules":["url","hoek/index.js","cryptiles/index.js","hawk/lib/crypto.js","hawk/lib/utils.js"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/lib/crypto.js","id":"hawk/lib/crypto.js","options":{},"isModule":true,"requiredModules":["crypto","url","hawk/lib/utils.js"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/lib/index.js","id":"hawk/lib/index.js","options":{},"isModule":true,"requiredModules":["boom/lib/index.js","sntp/index.js","hawk/lib/server.js","hawk/lib/client.js","hawk/lib/crypto.js","hawk/lib/utils.js"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/lib/server.js","id":"hawk/lib/server.js","options":{},"isModule":true,"requiredModules":["boom/lib/index.js","hoek/index.js","cryptiles/index.js","hawk/lib/crypto.js","hawk/lib/utils.js"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/lib/utils.js","id":"hawk/lib/utils.js","options":{},"isModule":true,"requiredModules":["sntp/index.js","boom/lib/index.js","/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/package.json"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js","id":"boom/lib/index.js","options":{},"isModule":true,"requiredModules":["http","hoek/index.js"],"mtime":1434243908000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/boom/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/boom/package.json","data":{"name":"boom","description":"HTTP-friendly error objects","version":"2.8.0","repository":{"type":"git","url":"git://github.com/hapijs/boom.git"},"main":"lib/index.js","keywords":["error","http"],"engines":{"node":">=0.8.0"},"dependencies":{"hoek":"2.x.x"},"devDependencies":{"code":"1.x.x","lab":"5.x.x"},"scripts":{"test":"lab -a code -t 100","test-cov-html":"lab -a code -r html -o coverage.html"},"license":"BSD-3-Clause","readme":"![boom Logo](https://raw.github.com/hapijs/boom/master/images/boom.png)\n\nHTTP-friendly error objects\n\n[![Build Status](https://secure.travis-ci.org/hapijs/boom.png)](http://travis-ci.org/hapijs/boom)\n[![Current Version](https://img.shields.io/npm/v/boom.svg)](https://www.npmjs.com/package/boom)\n\nLead Maintainer: [Adam Bretz](https://github.com/arb)\n\n**boom** provides a set of utilities for returning HTTP errors. Each utility returns a `Boom` error response\nobject (instance of `Error`) which includes the following properties:\n- `isBoom` - if `true`, indicates this is a `Boom` object instance.\n- `isServer` - convenience bool indicating status code >= 500.\n- `message` - the error message.\n- `output` - the formatted response. Can be directly manipulated after object construction to return a custom\n  error response. Allowed root keys:\n    - `statusCode` - the HTTP status code (typically 4xx or 5xx).\n    - `headers` - an object containing any HTTP headers where each key is a header name and value is the header content.\n    - `payload` - the formatted object used as the response payload (stringified). Can be directly manipulated but any\n      changes will be lost\n      if `reformat()` is called. Any content allowed and by default includes the following content:\n        - `statusCode` - the HTTP status code, derived from `error.output.statusCode`.\n        - `error` - the HTTP status message (e.g. 'Bad Request', 'Internal Server Error') derived from `statusCode`.\n        - `message` - the error message derived from `error.message`.\n- inherited `Error` properties.\n\nThe `Boom` object also supports the following method:\n- `reformat()` - rebuilds `error.output` using the other object properties.\n\n## Helper Methods\n\n### `wrap(error, [statusCode], [message])`\n\nDecorates an error with the **boom** properties where:\n- `error` - the error object to wrap. If `error` is already a **boom** object, returns back the same object.\n- `statusCode` - optional HTTP status code. Defaults to `500`.\n- `message` - optional message string. If the error already has a message, it adds the message as a prefix.\n  Defaults to no message.\n\n```js\nvar error = new Error('Unexpected input');\nBoom.wrap(error, 400);\n```\n\n### `create(statusCode, [message], [data])`\n\nGenerates an `Error` object with the **boom** decorations where:\n- `statusCode` - an HTTP error code number. Must be greater or equal 400.\n- `message` - optional message string.\n- `data` - additional error data set to `error.data` property.\n\n```js\nvar error = Boom.create(400, 'Bad request', { timestamp: Date.now() });\n```\n\n## HTTP 4xx Errors\n\n### `Boom.badRequest([message], [data])`\n\nReturns a 400 Bad Request error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.badRequest('invalid query');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"invalid query\"\n}\n```\n\n### `Boom.unauthorized([message], [scheme], [attributes])`\n\nReturns a 401 Unauthorized error where:\n- `message` - optional message.\n- `scheme` can be one of the following:\n  - an authentication scheme name\n  - an array of string values. These values will be separated by ', ' and set to the 'WWW-Authenticate' header.\n- `attributes` - an object of values to use while setting the 'WWW-Authenticate' header. This value is only used\n  when `schema` is a string, otherwise it is ignored. Every key/value pair will be included in the\n  'WWW-Authenticate' in the format of 'key=\"value\"' as well as in the response payload under the `attributes` key.\n  `null` and `undefined` will be replaced with an empty string. If `attributes` is set, `message` will be used as\n  the 'error' segment of the 'WWW-Authenticate' header. If `message` is unset, the 'error' segment of the header\n  will not be present and `isMissing` will be true on the error object.\n\nIf either `scheme` or `attributes` are set, the resultant `Boom` object will have the 'WWW-Authenticate' header set for the response.\n\n```js\nBoom.unauthorized('invalid password');\n```\n\nGenerates the following response:\n\n```json\n\"payload\": {\n    \"statusCode\": 401,\n    \"error\": \"Unauthorized\",\n    \"message\": \"invalid password\"\n},\n\"headers\" {}\n```\n\n```js\nBoom.unauthorized('invalid password', 'sample');\n```\n\nGenerates the following response:\n\n```json\n\"payload\": {\n    \"statusCode\": 401,\n    \"error\": \"Unauthorized\",\n    \"message\": \"invalid password\",\n    \"attributes\": {\n        \"error\": \"invalid password\"\n    }\n},\n\"headers\" {\n  \"WWW-Authenticate\": \"sample error=\\\"invalid password\\\"\"\n}\n```\n\n```js\nBoom.unauthorized('invalid password', 'sample', { ttl: 0, cache: null, foo: 'bar' });\n```\n\nGenerates the following response:\n\n```json\n\"payload\": {\n    \"statusCode\": 401,\n    \"error\": \"Unauthorized\",\n    \"message\": \"invalid password\",\n    \"attributes\": {\n        \"error\": \"invalid password\",\n        \"ttl\": 0,\n        \"cache\": \"\",\n        \"foo\": \"bar\"\n    }\n},\n\"headers\" {\n  \"WWW-Authenticate\": \"sample ttl=\\\"0\\\", cache=\\\"\\\", foo=\\\"bar\\\", error=\\\"invalid password\\\"\"\n}\n```\n\n### `Boom.forbidden([message], [data])`\n\nReturns a 403 Forbidden error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.forbidden('try again some time');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 403,\n    \"error\": \"Forbidden\",\n    \"message\": \"try again some time\"\n}\n```\n\n### `Boom.notFound([message], [data])`\n\nReturns a 404 Not Found error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.notFound('missing');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 404,\n    \"error\": \"Not Found\",\n    \"message\": \"missing\"\n}\n```\n\n### `Boom.methodNotAllowed([message], [data])`\n\nReturns a 405 Method Not Allowed error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.methodNotAllowed('that method is not allowed');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 405,\n    \"error\": \"Method Not Allowed\",\n    \"message\": \"that method is not allowed\"\n}\n```\n\n### `Boom.notAcceptable([message], [data])`\n\nReturns a 406 Not Acceptable error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.notAcceptable('unacceptable');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 406,\n    \"error\": \"Not Acceptable\",\n    \"message\": \"unacceptable\"\n}\n```\n\n### `Boom.proxyAuthRequired([message], [data])`\n\nReturns a 407 Proxy Authentication Required error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.proxyAuthRequired('auth missing');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 407,\n    \"error\": \"Proxy Authentication Required\",\n    \"message\": \"auth missing\"\n}\n```\n\n### `Boom.clientTimeout([message], [data])`\n\nReturns a 408 Request Time-out error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.clientTimeout('timed out');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 408,\n    \"error\": \"Request Time-out\",\n    \"message\": \"timed out\"\n}\n```\n\n### `Boom.conflict([message], [data])`\n\nReturns a 409 Conflict error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.conflict('there was a conflict');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 409,\n    \"error\": \"Conflict\",\n    \"message\": \"there was a conflict\"\n}\n```\n\n### `Boom.resourceGone([message], [data])`\n\nReturns a 410 Gone error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.resourceGone('it is gone');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 410,\n    \"error\": \"Gone\",\n    \"message\": \"it is gone\"\n}\n```\n\n### `Boom.lengthRequired([message], [data])`\n\nReturns a 411 Length Required error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.lengthRequired('length needed');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 411,\n    \"error\": \"Length Required\",\n    \"message\": \"length needed\"\n}\n```\n\n### `Boom.preconditionFailed([message], [data])`\n\nReturns a 412 Precondition Failed error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.preconditionFailed();\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 412,\n    \"error\": \"Precondition Failed\"\n}\n```\n\n### `Boom.entityTooLarge([message], [data])`\n\nReturns a 413 Request Entity Too Large error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.entityTooLarge('too big');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 413,\n    \"error\": \"Request Entity Too Large\",\n    \"message\": \"too big\"\n}\n```\n\n### `Boom.uriTooLong([message], [data])`\n\nReturns a 414 Request-URI Too Large error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.uriTooLong('uri is too long');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 414,\n    \"error\": \"Request-URI Too Large\",\n    \"message\": \"uri is too long\"\n}\n```\n\n### `Boom.unsupportedMediaType([message], [data])`\n\nReturns a 415 Unsupported Media Type error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.unsupportedMediaType('that media is not supported');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 415,\n    \"error\": \"Unsupported Media Type\",\n    \"message\": \"that media is not supported\"\n}\n```\n\n### `Boom.rangeNotSatisfiable([message], [data])`\n\nReturns a 416 Requested Range Not Satisfiable error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.rangeNotSatisfiable();\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 416,\n    \"error\": \"Requested Range Not Satisfiable\"\n}\n```\n\n### `Boom.expectationFailed([message], [data])`\n\nReturns a 417 Expectation Failed error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.expectationFailed('expected this to work');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 417,\n    \"error\": \"Expectation Failed\",\n    \"message\": \"expected this to work\"\n}\n```\n\n### `Boom.badData([message], [data])`\n\nReturns a 422 Unprocessable Entity error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.badData('your data is bad and you should feel bad');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 422,\n    \"error\": \"Unprocessable Entity\",\n    \"message\": \"your data is bad and you should feel bad\"\n}\n```\n\n### `Boom.tooManyRequests([message], [data])`\n\nReturns a 429 Too Many Requests error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.tooManyRequests('you have exceeded your request limit');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 429,\n    \"error\": \"Too Many Requests\",\n    \"message\": \"you have exceeded your request limit\"\n}\n```\n\n## HTTP 5xx Errors\n\nAll 500 errors hide your message from the end user. Your message is recorded in the server log.\n\n### `Boom.notImplemented([message], [data])`\n\nReturns a 501 Not Implemented error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.notImplemented('method not implemented');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 501,\n    \"error\": \"Not Implemented\",\n    \"message\": \"method not implemented\"\n}\n```\n\n### `Boom.badGateway([message], [data])`\n\nReturns a 502 Bad Gateway error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.badGateway('that is a bad gateway');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 502,\n    \"error\": \"Bad Gateway\",\n    \"message\": \"that is a bad gateway\"\n}\n```\n\n### `Boom.serverTimeout([message], [data])`\n\nReturns a 503 Service Unavailable error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.serverTimeout('unavailable');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 503,\n    \"error\": \"Service Unavailable\",\n    \"message\": \"unavailable\"\n}\n```\n\n### `Boom.gatewayTimeout([message], [data])`\n\nReturns a 504 Gateway Time-out error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.gatewayTimeout();\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 504,\n    \"error\": \"Gateway Time-out\"\n}\n```\n\n### `Boom.badImplementation([message], [data])`\n\nReturns a 500 Internal Server Error error where:\n- `message` - optional message.\n- `data` - optional additional error data.\n\n```js\nBoom.badImplementation('terrible implementation');\n```\n\nGenerates the following response payload:\n\n```json\n{\n    \"statusCode\": 500,\n    \"error\": \"Internal Server Error\",\n    \"message\": \"An internal server error occurred\"\n}\n```\n\n## F.A.Q.\n\n###### How do I include extra information in my responses? `output.payload` is missing `data`, what gives?\n\nThere is a reason the values passed back in the response payloads are pretty locked down. It's mostly for security and to not leak any important information back to the client. This means you will need to put in a little more effort to include extra information about your custom error. Check out the [\"Error transformation\"](https://github.com/hapijs/hapi/blob/master/API.md#error-transformation) section in the hapi documentation.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/hapijs/boom/issues"},"homepage":"https://github.com/hapijs/boom","_id":"boom@2.8.0","_shasum":"317bdfd47018fe7dd79b0e9da73efe244119fdf1","_from":"boom@>=2.0.0 <3.0.0","_resolved":"https://registry.npmjs.org/boom/-/boom-2.8.0.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/boom/test/index.js","id":"boom/test/index.js","options":{},"isModule":true,"requiredModules":["util/util.js","code","boom/lib/index.js","lab"],"mtime":1434243908000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/cryptiles/index.js","id":"cryptiles/index.js","options":{},"isModule":true,"requiredModules":["cryptiles/lib/index.js"],"mtime":1410818969000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js","id":"cryptiles/lib/index.js","options":{},"isModule":true,"requiredModules":["crypto","boom/lib/index.js"],"mtime":1410818969000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json","data":{"name":"cryptiles","description":"General purpose crypto utilities","version":"2.0.4","author":{"name":"Eran Hammer","email":"eran@hammer.io","url":"http://hueniverse.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/hapijs/cryptiles.git"},"main":"index","keywords":["cryptography","security","utilites"],"engines":{"node":">=0.8.0"},"dependencies":{"boom":"2.x.x"},"devDependencies":{"lab":"4.x.x"},"scripts":{"test":"make test-cov"},"licenses":[{"type":"BSD","url":"http://github.com/hapijs/cryptiles/raw/master/LICENSE"}],"readme":"cryptiles\n=========\n\nGeneral purpose crypto utilities\n\n[![Build Status](https://secure.travis-ci.org/hapijs/cryptiles.png)](http://travis-ci.org/hapijs/cryptiles)\n\n## Methods\n\n### `randomString(<Number> size)`\nReturns a cryptographically strong pseudo-random data string. Takes a size argument for the length of the string.\n\n### `fixedTimeComparison(<String> a, <String> b)`\nCompare two strings using fixed time algorithm (to prevent time-based analysis of MAC digest match). Returns `true` if the strings match, `false` if they differ.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/hapijs/cryptiles/issues"},"homepage":"https://github.com/hapijs/cryptiles","_id":"cryptiles@2.0.4","_shasum":"09ea1775b9e1c7de7e60a99d42ab6f08ce1a1285","_from":"cryptiles@>=2.0.0 <3.0.0","_resolved":"https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js","id":"cryptiles/test/index.js","options":{},"isModule":true,"requiredModules":["lab","cryptiles/lib/index.js"],"mtime":1410818969000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/index.js","id":"hoek/index.js","options":{},"isModule":true,"requiredModules":["hoek/lib/index.js"],"mtime":1417040157000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js","id":"hoek/lib/escape.js","options":{},"isModule":true,"mtime":1417040157000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js","id":"hoek/lib/index.js","options":{},"isModule":true,"requiredModules":["crypto","path","util/util.js","hoek/lib/escape.js"],"mtime":1432318380000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/package.json","data":{"name":"hoek","description":"General purpose node utilities","version":"2.14.0","repository":{"type":"git","url":"git://github.com/hapijs/hoek.git"},"main":"index","keywords":["utilities"],"engines":{"node":">=0.8.0"},"dependencies":{},"devDependencies":{"code":"1.x.x","lab":"5.x.x"},"scripts":{"test":"make test-cov"},"license":"BSD-3-Clause","readme":"![hoek Logo](https://raw.github.com/hapijs/hoek/master/images/hoek.png)\n\nUtility methods for the hapi ecosystem. This module is not intended to solve every problem for everyone, but rather as a central place to store hapi-specific methods. If you're looking for a general purpose utility module, check out [lodash](https://github.com/lodash/lodash) or [underscore](https://github.com/jashkenas/underscore).\n\n[![Build Status](https://secure.travis-ci.org/hapijs/hoek.png)](http://travis-ci.org/hapijs/hoek)\n\nLead Maintainer: [Nathan LaFreniere](https://github.com/nlf)\n\n# Table of Contents\n\n* [Introduction](#introduction \"Introduction\")\n* [Object](#object \"Object\")\n  * [clone](#cloneobj \"clone\")\n  * [cloneWithShallow](#clonewithshallowobj-keys \"cloneWithShallow\")\n  * [merge](#mergetarget-source-isnulloverride-ismergearrays \"merge\")\n  * [applyToDefaults](#applytodefaultsdefaults-options-isnulloverride \"applyToDefaults\")\n  * [applyToDefaultsWithShallow](#applytodefaultswithshallowdefaults-options-keys \"applyToDefaultsWithShallow\")\n  * [deepEqual](#deepequala-b \"deepEqual\")\n  * [unique](#uniquearray-key \"unique\")\n  * [mapToObject](#maptoobjectarray-key \"mapToObject\")\n  * [intersect](#intersectarray1-array2 \"intersect\")\n  * [contain](#containref-values-options \"contain\")\n  * [flatten](#flattenarray-target \"flatten\")\n  * [reach](#reachobj-chain-options \"reach\")\n  * [reachTemplate](#reachobj-template-options \"reachTemplate\")\n  * [transform](#transformobj-transform-options \"transform\")\n  * [shallow](#shallowobj \"shallow\")\n  * [stringify](#stringifyobj \"stringify\")\n* [Timer](#timer \"Timer\")\n* [Bench](#bench \"Bench\")\n* [Binary Encoding/Decoding](#binary-encodingdecoding \"Binary Encoding/Decoding\")\n  * [base64urlEncode](#base64urlencodevalue \"binary64urlEncode\")\n  * [base64urlDecode](#base64urldecodevalue \"binary64urlDecode\")\n* [Escaping Characters](#escaping-characters \"Escaping Characters\")\n  * [escapeHtml](#escapehtmlstring \"escapeHtml\")\n  * [escapeHeaderAttribute](#escapeheaderattributeattribute \"escapeHeaderAttribute\")\n  * [escapeRegex](#escaperegexstring \"escapeRegex\")\n* [Errors](#errors \"Errors\")\n  * [assert](#assertcondition-message \"assert\")\n  * [abort](#abortmessage \"abort\")\n  * [displayStack](#displaystackslice \"displayStack\")\n  * [callStack](#callstackslice \"callStack\")\n* [Function](#function \"Function\")\n  * [nextTick](#nexttickfn \"nextTick\")\n  * [once](#oncefn \"once\")\n  * [ignore](#ignore \"ignore\")\n* [Miscellaneous](#miscellaneous \"Miscellaneous\")\n  * [uniqueFilename](#uniquefilename \"uniqueFilename\")\n  * [isInteger](#isInteger \"isInteger\")\n\n\n\n# Introduction\n\nThe *Hoek* library contains some common functions used within the hapi ecosystem. It comes with useful methods for Arrays (clone, merge, applyToDefaults), Objects (removeKeys, copy), Asserting and more.\n\nFor example, to use Hoek to set configuration with default options:\n```javascript\nvar Hoek = require('hoek');\n\nvar default = {url : \"www.github.com\", port : \"8000\", debug : true};\n\nvar config = Hoek.applyToDefaults(default, {port : \"3000\", admin : true});\n\n// In this case, config would be { url: 'www.github.com', port: '3000', debug: true, admin: true }\n```\n\nUnder each of the sections (such as Array), there are subsections which correspond to Hoek methods. Each subsection will explain how to use the corresponding method. In each js excerpt below, the `var Hoek = require('hoek');` is omitted for brevity.\n\n## Object\n\nHoek provides several helpful methods for objects and arrays.\n\n### clone(obj)\n\nThis method is used to clone an object or an array. A *deep copy* is made (duplicates everything, including values that are objects, as well as non-enumerable properties).\n\n```javascript\n\nvar nestedObj = {\n        w: /^something$/ig,\n        x: {\n            a: [1, 2, 3],\n            b: 123456,\n            c: new Date()\n        },\n        y: 'y',\n        z: new Date()\n    };\n\nvar copy = Hoek.clone(nestedObj);\n\ncopy.x.b = 100;\n\nconsole.log(copy.y);        // results in 'y'\nconsole.log(nestedObj.x.b); // results in 123456\nconsole.log(copy.x.b);      // results in 100\n```\n\n### cloneWithShallow(obj, keys)\nkeys is an array of key names to shallow copy\n\nThis method is also used to clone an object or array, however any keys listed in the `keys` array are shallow copied while those not listed are deep copied.\n\n```javascript\n\nvar nestedObj = {\n        w: /^something$/ig,\n        x: {\n            a: [1, 2, 3],\n            b: 123456,\n            c: new Date()\n        },\n        y: 'y',\n        z: new Date()\n    };\n\nvar copy = Hoek.cloneWithShallow(nestedObj, ['x']);\n\ncopy.x.b = 100;\n\nconsole.log(copy.y);        // results in 'y'\nconsole.log(nestedObj.x.b); // results in 100\nconsole.log(copy.x.b);      // results in 100\n```\n\n### merge(target, source, isNullOverride, isMergeArrays)\nisNullOverride, isMergeArrays default to true\n\nMerge all the properties of source into target, source wins in conflict, and by default null and undefined from source are applied.\nMerge is destructive where the target is modified. For non destructive merge, use `applyToDefaults`.\n\n\n```javascript\n\nvar target = {a: 1, b : 2};\nvar source = {a: 0, c: 5};\nvar source2 = {a: null, c: 5};\n\nHoek.merge(target, source);         // results in {a: 0, b: 2, c: 5}\nHoek.merge(target, source2);        // results in {a: null, b: 2, c: 5}\nHoek.merge(target, source2, false); // results in {a: 1, b: 2, c: 5}\n\nvar targetArray = [1, 2, 3];\nvar sourceArray = [4, 5];\n\nHoek.merge(targetArray, sourceArray);              // results in [1, 2, 3, 4, 5]\nHoek.merge(targetArray, sourceArray, true, false); // results in [4, 5]\n```\n\n### applyToDefaults(defaults, options, isNullOverride)\nisNullOverride defaults to false\n\nApply options to a copy of the defaults\n\n```javascript\n\nvar defaults = { host: \"localhost\", port: 8000 };\nvar options = { port: 8080 };\n\nvar config = Hoek.applyToDefaults(defaults, options); // results in { host: \"localhost\", port: 8080 }\n```\n\nApply options with a null value to a copy of the defaults\n\n```javascript\n\nvar defaults = { host: \"localhost\", port: 8000 };\nvar options = { host: null, port: 8080 };\n\nvar config = Hoek.applyToDefaults(defaults, options, true); // results in { host: null, port: 8080 }\n```\n\n### applyToDefaultsWithShallow(defaults, options, keys)\nkeys is an array of key names to shallow copy\n\nApply options to a copy of the defaults. Keys specified in the last parameter are shallow copied from options instead of merged.\n\n```javascript\n\nvar defaults = {\n        server: {\n            host: \"localhost\",\n            port: 8000\n        },\n        name: 'example'\n    };\n\nvar options = { server: { port: 8080 } };\n\nvar config = Hoek.applyToDefaults(defaults, options); // results in { server: { port: 8080 }, name: 'example' }\n```\n\n### deepEqual(b, a, [options])\n\nPerforms a deep comparison of the two values including support for circular dependencies, prototype, and properties. To skip prototype comparisons, use `options.prototype = false`\n\n```javascript\nHoek.deepEqual({ a: [1, 2], b: 'string', c: { d: true } }, { a: [1, 2], b: 'string', c: { d: true } }); //results in true\nHoek.deepEqual(Object.create(null), {}, { prototype: false }); //results in true\nHoek.deepEqual(Object.create(null), {}); //results in false\n```\n\n### unique(array, key)\n\nRemove duplicate items from Array\n\n```javascript\n\nvar array = [1, 2, 2, 3, 3, 4, 5, 6];\n\nvar newArray = Hoek.unique(array);    // results in [1,2,3,4,5,6]\n\narray = [{id: 1}, {id: 1}, {id: 2}];\n\nnewArray = Hoek.unique(array, \"id\");  // results in [{id: 1}, {id: 2}]\n```\n\n### mapToObject(array, key)\n\nConvert an Array into an Object\n\n```javascript\n\nvar array = [1,2,3];\nvar newObject = Hoek.mapToObject(array);   // results in [{\"1\": true}, {\"2\": true}, {\"3\": true}]\n\narray = [{id: 1}, {id: 2}];\nnewObject = Hoek.mapToObject(array, \"id\"); // results in [{\"id\": 1}, {\"id\": 2}]\n```\n\n### intersect(array1, array2)\n\nFind the common unique items in two arrays\n\n```javascript\n\nvar array1 = [1, 2, 3];\nvar array2 = [1, 4, 5];\n\nvar newArray = Hoek.intersect(array1, array2); // results in [1]\n```\n\n### contain(ref, values, [options])\n\nTests if the reference value contains the provided values where:\n- `ref` - the reference string, array, or object.\n- `values` - a single or array of values to find within the `ref` value. If `ref` is an object, `values` can be a key name,\n  an array of key names, or an object with key-value pairs to compare.\n- `options` - an optional object with the following optional settings:\n    - `deep` - if `true`, performed a deep comparison of the values.\n    - `once` - if `true`, allows only one occurrence of each value.\n    - `only` - if `true`, does not allow values not explicitly listed.\n    - `part` - if `true`, allows partial match of the values (at least one must always match).\n\nNote: comparing a string to overlapping values will result in failed comparison (e.g. `contain('abc', ['ab', 'bc'])`).\nAlso, if an object key's value does not match the provided value, `false` is returned even when `part` is specified.\n\n```javascript\nHoek.contain('aaa', 'a', { only: true });\t\t\t\t\t\t\t// true\nHoek.contain([{ a: 1 }], [{ a: 1 }], { deep: true });\t\t\t\t// true\nHoek.contain([1, 2, 2], [1, 2], { once: true });\t\t\t\t\t// false\nHoek.contain({ a: 1, b: 2, c: 3 }, { a: 1, d: 4 }, { part: true }); // true\n```\n\n### flatten(array, [target])\n\nFlatten an array\n\n```javascript\n\nvar array = [1, [2, 3]];\n\nvar flattenedArray = Hoek.flatten(array); // results in [1, 2, 3]\n\narray = [1, [2, 3]];\ntarget = [4, [5]];\n\nflattenedArray = Hoek.flatten(array, target); // results in [4, [5], 1, 2, 3]\n```\n\n### reach(obj, chain, [options])\n\nConverts an object key chain string to reference\n\n- `options` - optional settings\n    - `separator` - string to split chain path on, defaults to '.'\n    - `default` - value to return if the path or value is not present, default is `undefined`\n    - `strict` - if `true`, will throw an error on missing member, default is `false`\n    - `functions` - if `true` allow traversing functions for properties. `false` will throw an error if a function is part of the chain.\n\nA chain including negative numbers will work like negative indices on an\narray.\n\n```javascript\n\nvar chain = 'a.b.c';\nvar obj = {a : {b : { c : 1}}};\n\nHoek.reach(obj, chain); // returns 1\n\nvar chain = 'a.b.-1';\nvar obj = {a : {b : [2,3,6]}};\n\nHoek.reach(obj, chain); // returns 6\n```\n\n### reachTemplate(obj, template, [options])\n\nReplaces string parameters (`{name}`) with their corresponding object key values by applying the\n(`reach()`)[#reachobj-chain-options] method where:\n\n- `obj` - the context object used for key lookup.\n- `template` - a string containing `{}` parameters.\n- `options` - optional (`reach()`)[#reachobj-chain-options] options.\n\n```javascript\n\nvar chain = 'a.b.c';\nvar obj = {a : {b : { c : 1}}};\n\nHoek.reachTemplate(obj, '1+{a.b.c}=2'); // returns '1+1=2'\n```\n\n### transform(obj, transform, [options])\n\nTransforms an existing object into a new one based on the supplied `obj` and `transform` map. `options` are the same as the `reach` options.\n\n```javascript\nvar source = {\n    address: {\n        one: '123 main street',\n        two: 'PO Box 1234'\n    },\n    title: 'Warehouse',\n    state: 'CA'\n};\n\nvar result = Hoek.transform(source, {\n    'person.address.lineOne': 'address.one',\n    'person.address.lineTwo': 'address.two',\n    'title': 'title',\n    'person.address.region': 'state'\n});\n// Results in\n// {\n//     person: {\n//         address: {\n//             lineOne: '123 main street',\n//             lineTwo: 'PO Box 1234',\n//             region: 'CA'\n//         }\n//     },\n//     title: 'Warehouse'\n// }\n```\n\n### shallow(obj)\n\nPerforms a shallow copy by copying the references of all the top level children where:\n- `obj` - the object to be copied.\n\n```javascript\nvar shallow = Hoek.shallow({ a: { b: 1 } });\n```\n\n### stringify(obj)\n\nConverts an object to string using the built-in `JSON.stringify()` method with the difference that any errors are caught\nand reported back in the form of the returned string. Used as a shortcut for displaying information to the console (e.g. in\nerror message) without the need to worry about invalid conversion.\n\n```javascript\nvar a = {};\na.b = a;\nHoek.stringify(a);\t\t// Returns '[Cannot display object: Converting circular structure to JSON]'\n```\n\n# Timer\n\nA Timer object. Initializing a new timer object sets the ts to the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.\n\n```javascript\n\nvar timerObj = new Hoek.Timer();\nconsole.log(\"Time is now: \" + timerObj.ts);\nconsole.log(\"Elapsed time from initialization: \" + timerObj.elapsed() + 'milliseconds');\n```\n\n\n# Bench\n\nSame as Timer with the exception that `ts` stores the internal node clock which is not related to `Date.now()` and cannot be used to display\nhuman-readable timestamps. More accurate for benchmarking or internal timers.\n\n# Binary Encoding/Decoding\n\n### base64urlEncode(value)\n\nEncodes value in Base64 or URL encoding\n\n### base64urlDecode(value)\n\nDecodes data in Base64 or URL encoding.\n# Escaping Characters\n\nHoek provides convenient methods for escaping html characters. The escaped characters are as followed:\n\n```javascript\n\ninternals.htmlEscaped = {\n    '&': '&amp;',\n    '<': '&lt;',\n    '>': '&gt;',\n    '\"': '&quot;',\n    \"'\": '&#x27;',\n    '`': '&#x60;'\n};\n```\n\n### escapeHtml(string)\n\n```javascript\n\nvar string = '<html> hey </html>';\nvar escapedString = Hoek.escapeHtml(string); // returns &lt;html&gt; hey &lt;/html&gt;\n```\n\n### escapeHeaderAttribute(attribute)\n\nEscape attribute value for use in HTTP header\n\n```javascript\n\nvar a = Hoek.escapeHeaderAttribute('I said \"go w\\\\o me\"');  //returns I said \\\"go w\\\\o me\\\"\n```\n\n\n### escapeRegex(string)\n\nEscape string for Regex construction\n\n```javascript\n\nvar a = Hoek.escapeRegex('4^f$s.4*5+-_?%=#!:@|~\\\\/`\"(>)[<]d{}s,');  // returns 4\\^f\\$s\\.4\\*5\\+\\-_\\?%\\=#\\!\\:@\\|~\\\\\\/`\"\\(>\\)\\[<\\]d\\{\\}s\\,\n```\n\n# Errors\n\n### assert(condition, message)\n\n```javascript\n\nvar a = 1, b = 2;\n\nHoek.assert(a === b, 'a should equal b');  // Throws 'a should equal b'\n```\n\nNote that you may also pass an already created Error object as the second parameter, and `assert` will throw that object.\n\n```javascript\n\nvar a = 1, b = 2;\n\nHoek.assert(a === b, new Error('a should equal b')); // Throws the given error object\n```\n\n### abort(message)\n\nFirst checks if `process.env.NODE_ENV === 'test'`, and if so, throws error message. Otherwise,\ndisplays most recent stack and then exits process.\n\n\n\n### displayStack(slice)\n\nDisplays the trace stack\n\n```javascript\n\nvar stack = Hoek.displayStack();\nconsole.log(stack); // returns something like:\n\n[ 'null (/Users/user/Desktop/hoek/test.js:4:18)',\n  'Module._compile (module.js:449:26)',\n  'Module._extensions..js (module.js:467:10)',\n  'Module.load (module.js:356:32)',\n  'Module._load (module.js:312:12)',\n  'Module.runMain (module.js:492:10)',\n  'startup.processNextTick.process._tickCallback (node.js:244:9)' ]\n```\n\n### callStack(slice)\n\nReturns a trace stack array.\n\n```javascript\n\nvar stack = Hoek.callStack();\nconsole.log(stack);  // returns something like:\n\n[ [ '/Users/user/Desktop/hoek/test.js', 4, 18, null, false ],\n  [ 'module.js', 449, 26, 'Module._compile', false ],\n  [ 'module.js', 467, 10, 'Module._extensions..js', false ],\n  [ 'module.js', 356, 32, 'Module.load', false ],\n  [ 'module.js', 312, 12, 'Module._load', false ],\n  [ 'module.js', 492, 10, 'Module.runMain', false ],\n  [ 'node.js',\n    244,\n    9,\n    'startup.processNextTick.process._tickCallback',\n    false ] ]\n```\n\n## Function\n\n### nextTick(fn)\n\nReturns a new function that wraps `fn` in `process.nextTick`.\n\n```javascript\n\nvar myFn = function () {\n    console.log('Do this later');\n};\n\nvar nextFn = Hoek.nextTick(myFn);\n\nnextFn();\nconsole.log('Do this first');\n\n// Results in:\n//\n// Do this first\n// Do this later\n```\n\n### once(fn)\n\nReturns a new function that can be run multiple times, but makes sure `fn` is only run once.\n\n```javascript\n\nvar myFn = function () {\n    console.log('Ran myFn');\n};\n\nvar onceFn = Hoek.once(myFn);\nonceFn(); // results in \"Ran myFn\"\nonceFn(); // results in undefined\n```\n\n### ignore\n\nA simple no-op function. It does nothing at all.\n\n## Miscellaneous\n\n### uniqueFilename(path, extension)\n`path` to prepend with the randomly generated file name. `extension` is the optional file extension, defaults to `''`.\n\nReturns a randomly generated file name at the specified `path`. The result is a fully resolved path to a file.\n\n```javascript\nvar result = Hoek.uniqueFilename('./test/modules', 'txt'); // results in \"full/path/test/modules/{random}.txt\"\n```\n\n### isInteger(value)\n\nCheck `value` to see if it is an integer.  Returns true/false.\n\n```javascript\nvar result = Hoek.isInteger('23')\n```\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/hapijs/hoek/issues"},"homepage":"https://github.com/hapijs/hoek","_id":"hoek@2.14.0","_shasum":"81211691f52a5a835ae49edbf1e89c9003476aa4","_from":"hoek@>=2.0.0 <3.0.0","_resolved":"https://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js","id":"hoek/test/escaper.js","options":{},"isModule":true,"requiredModules":["code","hoek/lib/index.js","lab"],"mtime":1417040157000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js","id":"hoek/test/index.js","options":{},"isModule":true,"requiredModules":["fs","path","code","hoek/lib/index.js","lab"],"mtime":1432318380000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js","id":"hoek/test/modules/test1.js","options":{},"isModule":true,"mtime":1417040157000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js","id":"hoek/test/modules/test2.js","options":{},"isModule":true,"mtime":1417040157000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js","id":"hoek/test/modules/test3.js","options":{},"isModule":true,"mtime":1417040157000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js","id":"sntp/examples/offset.js","options":{},"isModule":true,"requiredModules":["sntp/lib/index.js"],"mtime":1409946595000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js","id":"sntp/examples/time.js","options":{},"isModule":true,"requiredModules":["sntp/lib/index.js"],"mtime":1409946595000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/sntp/index.js","id":"sntp/index.js","options":{},"isModule":true,"requiredModules":["sntp/lib/index.js"],"mtime":1409946595000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js","id":"sntp/lib/index.js","options":{},"isModule":true,"requiredModules":["dgram","dns","hoek/index.js"],"mtime":1409946595000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/sntp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/sntp/package.json","data":{"name":"sntp","description":"SNTP Client","version":"1.0.9","author":{"name":"Eran Hammer","email":"eran@hammer.io","url":"http://hueniverse.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/hueniverse/sntp.git"},"main":"index","keywords":["sntp","ntp","time"],"engines":{"node":">=0.8.0"},"dependencies":{"hoek":"2.x.x"},"devDependencies":{"lab":"4.x.x"},"scripts":{"test":"make test-cov"},"licenses":[{"type":"BSD","url":"http://github.com/hueniverse/sntp/raw/master/LICENSE"}],"readme":"# sntp\n\nAn SNTP v4 client (RFC4330) for node. Simpy connects to the NTP or SNTP server requested and returns the server time\nalong with the roundtrip duration and clock offset. To adjust the local time to the NTP time, add the returned `t` offset\nto the local time.\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/sntp.png)](http://travis-ci.org/hueniverse/sntp)\n\n# Usage\n\n```javascript\nvar Sntp = require('sntp');\n\n// All options are optional\n\nvar options = {\n    host: 'nist1-sj.ustiming.org',  // Defaults to pool.ntp.org\n    port: 123,                      // Defaults to 123 (NTP)\n    resolveReference: true,         // Default to false (not resolving)\n    timeout: 1000                   // Defaults to zero (no timeout)\n};\n\n// Request server time\n\nSntp.time(options, function (err, time) {\n\n    if (err) {\n        console.log('Failed: ' + err.message);\n        process.exit(1);\n    }\n\n    console.log('Local clock is off by: ' + time.t + ' milliseconds');\n    process.exit(0);\n});\n```\n\nIf an application needs to maintain continuous time synchronization, the module provides a stateful method for\nquerying the current offset only when the last one is too old (defaults to daily).\n\n```javascript\n// Request offset once\n\nSntp.offset(function (err, offset) {\n\n    console.log(offset);                    // New (served fresh)\n\n    // Request offset again\n\n    Sntp.offset(function (err, offset) {\n\n        console.log(offset);                // Identical (served from cache)\n    });\n});\n```\n\nTo set a background offset refresh, start the interval and use the provided now() method. If for any reason the\nclient fails to obtain an up-to-date offset, the current system clock is used.\n\n```javascript\nvar before = Sntp.now();                    // System time without offset\n\nSntp.start(function () {\n\n    var now = Sntp.now();                   // With offset\n    Sntp.stop();\n});\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/hueniverse/sntp/issues"},"homepage":"https://github.com/hueniverse/sntp","_id":"sntp@1.0.9","_shasum":"6541184cc90aeea6c6e7b35e2659082443c66198","_from":"sntp@>=1.0.0 <2.0.0","_resolved":"https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js","id":"sntp/test/index.js","options":{},"isModule":true,"requiredModules":["dns","dgram","lab","sntp/lib/index.js"],"mtime":1409946595000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/package.json","data":{"name":"hawk","description":"HTTP Hawk Authentication Scheme","version":"2.3.1","author":{"name":"Eran Hammer","email":"eran@hammer.io","url":"http://hueniverse.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/hueniverse/hawk"},"main":"index","keywords":["http","authentication","scheme","hawk"],"engines":{"node":">=0.8.0"},"browser":"./lib/browser.js","dependencies":{"hoek":"2.x.x","boom":"2.x.x","cryptiles":"2.x.x","sntp":"1.x.x"},"devDependencies":{"code":"1.x.x","lab":"5.x.x"},"scripts":{"test":"make test-cov"},"licenses":[{"type":"BSD","url":"http://github.com/hueniverse/hawk/raw/master/LICENSE"}],"gitHead":"492632da51ecedd5f59ce96f081860ad24ce6532","bugs":{"url":"https://github.com/hueniverse/hawk/issues"},"homepage":"https://github.com/hueniverse/hawk","_id":"hawk@2.3.1","_shasum":"1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f","_from":"hawk@>=2.3.0 <2.4.0","_npmVersion":"1.4.28","_npmUser":{"name":"hueniverse","email":"eran@hueniverse.com"},"maintainers":[{"name":"hueniverse","email":"eran@hueniverse.com"}],"dist":{"shasum":"1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f","tarball":"http://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/browser.js","id":"hawk/test/browser.js","options":{},"isModule":true,"requiredModules":["url","code","hawk/lib/index.js","hoek/index.js","lab","hawk/lib/browser.js"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/client.js","id":"hawk/test/client.js","options":{},"isModule":true,"requiredModules":["url","code","hawk/lib/index.js","lab"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/crypto.js","id":"hawk/test/crypto.js","options":{},"isModule":true,"requiredModules":["code","hawk/lib/index.js","lab"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/index.js","id":"hawk/test/index.js","options":{},"isModule":true,"requiredModules":["url","code","hawk/lib/index.js","lab"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/message.js","id":"hawk/test/message.js","options":{},"isModule":true,"requiredModules":["url","code","hawk/lib/index.js","hoek/index.js","lab"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/readme.js","id":"hawk/test/readme.js","options":{},"isModule":true,"requiredModules":["code","hawk/lib/index.js","hoek/index.js","lab"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/server.js","id":"hawk/test/server.js","options":{},"isModule":true,"requiredModules":["url","code","hawk/lib/index.js","lab"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/uri.js","id":"hawk/test/uri.js","options":{},"isModule":true,"requiredModules":["http","url","code","hawk/lib/index.js","hoek/index.js","lab"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/test/utils.js","id":"hawk/test/utils.js","options":{},"isModule":true,"requiredModules":["code","hawk/lib/index.js","lab","/Users/james/dev/maxwell-edi/node_modules/request/node_modules/hawk/package.json"],"mtime":1421482232000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/lib/index.js","id":"http-signature/lib/index.js","options":{},"isModule":true,"requiredModules":["http-signature/lib/parser.js","http-signature/lib/signer.js","http-signature/lib/verify.js","http-signature/lib/util.js"],"mtime":1427924258000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/lib/parser.js","id":"http-signature/lib/parser.js","options":{},"isModule":true,"requiredModules":["assert-plus/assert.js","util/util.js"],"mtime":1420490272000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/lib/signer.js","id":"http-signature/lib/signer.js","options":{},"isModule":true,"requiredModules":["assert-plus/assert.js","crypto","http","util/util.js"],"mtime":1420490272000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/lib/util.js","id":"http-signature/lib/util.js","options":{},"isModule":true,"requiredModules":["assert-plus/assert.js","crypto","asn1/lib/index.js","ctype/ctype.js"],"mtime":1427933591000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/lib/verify.js","id":"http-signature/lib/verify.js","options":{},"isModule":true,"requiredModules":["assert-plus/assert.js","crypto"],"mtime":1427924346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js","id":"asn1/lib/ber/errors.js","options":{},"isModule":true,"mtime":1311378950000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js","id":"asn1/lib/ber/index.js","options":{},"isModule":true,"requiredModules":["asn1/lib/ber/errors.js","asn1/lib/ber/types.js","asn1/lib/ber/reader.js","asn1/lib/ber/writer.js"],"mtime":1311127161000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js","id":"asn1/lib/ber/reader.js","options":{},"isModule":true,"requiredModules":["assert","asn1/lib/ber/types.js","asn1/lib/ber/errors.js"],"mtime":1325869045000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js","id":"asn1/lib/ber/types.js","options":{},"isModule":true,"mtime":1325868994000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js","id":"asn1/lib/ber/writer.js","options":{},"isModule":true,"requiredModules":["assert","asn1/lib/ber/types.js","asn1/lib/ber/errors.js"],"mtime":1325869054000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js","id":"asn1/lib/index.js","options":{},"isModule":true,"requiredModules":["asn1/lib/ber/index.js"],"mtime":1311378978000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json","data":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"contributors":[{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.11","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"0.1.4"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then  gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"tap ./tst"},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"_id":"asn1@0.1.11","_engineSupported":true,"_npmVersion":"1.1.0-beta-4","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"559be18376d08a4ec4dbe80877d27818639b2df7","tarball":"http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"},"maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"directories":{},"_shasum":"559be18376d08a4ec4dbe80877d27818639b2df7","_resolved":"https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz","_from":"asn1@0.1.11","readme":"node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS.\nCurrently BER encoding is supported; at some point I'll likely have to do DER.\n\n## Usage\n\nMostly, if you're *actually* needing to read and write ASN.1, you probably don't\nneed this readme to explain what and why.  If you have no idea what ASN.1 is,\nsee this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc\n\nThe source is pretty much self-explanatory, and has read/write methods for the\ncommon types out there.\n\n### Decoding\n\nThe following reads an ASN.1 sequence with a boolean.\n\n    var Ber = require('asn1').Ber;\n\n    var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff]));\n\n    reader.readSequence();\n    console.log('Sequence len: ' + reader.length);\n    if (reader.peek() === Ber.Boolean)\n      console.log(reader.readBoolean());\n\n### Encoding\n\nThe following generates the same payload as above.\n\n    var Ber = require('asn1').Ber;\n\n    var writer = new Ber.Writer();\n\n    writer.startSequence();\n    writer.writeBoolean(true);\n    writer.endSequence();\n\n    console.log(writer.buffer);\n\n## Installation\n\n    npm install asn1\n\n## License\n\nMIT.\n\n## Bugs\n\nSee <https://github.com/mcavage/node-asn1/issues>.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mcavage/node-asn1/issues"},"homepage":"https://github.com/mcavage/node-asn1#readme"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js","id":"asn1/tst/ber/reader.test.js","options":{},"isModule":true,"requiredModules":["tap","asn1/lib/index.js"],"mtime":1311446576000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js","id":"asn1/tst/ber/writer.test.js","options":{},"isModule":true,"requiredModules":["tap","sys","asn1/lib/index.js","util/util.js"],"mtime":1323362844000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js","id":"assert-plus/assert.js","options":{},"isModule":true,"requiredModules":["assert","stream","util/util.js"],"mtime":1385399681000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json","data":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"assert-plus","description":"Extra assertions on top of node's assert module","version":"0.1.5","main":"./assert.js","devDependencies":{},"optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/mcavage/node-assert-plus.git"},"engines":{"node":">=0.8"},"readme":"# node-assert-plus\n\nThis library is a super small wrapper over node's assert module that has two\nthings: (1) the ability to disable assertions with the environment variable\nNODE_NDEBUG, and (2) some API wrappers for argument testing.  Like\n`assert.string(myArg, 'myArg')`.  As a simple example, most of my code looks\nlike this:\n\n    var assert = require('assert-plus');\n\n    function fooAccount(options, callback) {\n\t    assert.object(options, 'options');\n\t\tassert.number(options.id, 'options.id);\n\t\tassert.bool(options.isManager, 'options.isManager');\n\t\tassert.string(options.name, 'options.name');\n\t\tassert.arrayOfString(options.email, 'options.email');\n\t\tassert.func(callback, 'callback');\n\n        // Do stuff\n\t\tcallback(null, {});\n    }\n\n# API\n\nAll methods that *aren't* part of node's core assert API are simply assumed to\ntake an argument, and then a string 'name' that's not a message; `AssertionError`\nwill be thrown if the assertion fails with a message like:\n\n    AssertionError: foo (string) is required\n\tat test (/home/mark/work/foo/foo.js:3:9)\n\tat Object.<anonymous> (/home/mark/work/foo/foo.js:15:1)\n\tat Module._compile (module.js:446:26)\n\tat Object..js (module.js:464:10)\n\tat Module.load (module.js:353:31)\n\tat Function._load (module.js:311:12)\n\tat Array.0 (module.js:484:10)\n\tat EventEmitter._tickCallback (node.js:190:38)\n\nfrom:\n\n    function test(foo) {\n\t    assert.string(foo, 'foo');\n    }\n\nThere you go.  You can check that arrays are of a homogenous type with `Arrayof$Type`:\n\n    function test(foo) {\n\t    assert.arrayOfString(foo, 'foo');\n    }\n\nYou can assert IFF an argument is not `undefined` (i.e., an optional arg):\n\n    assert.optionalString(foo, 'foo');\n\nLastly, you can opt-out of assertion checking altogether by setting the\nenvironment variable `NODE_NDEBUG=1`.  This is pseudo-useful if you have\nlots of assertions, and don't want to pay `typeof ()` taxes to v8 in\nproduction.\n\nThe complete list of APIs is:\n\n* assert.bool\n* assert.buffer\n* assert.func\n* assert.number\n* assert.object\n* assert.string\n* assert.arrayOfBool\n* assert.arrayOfFunc\n* assert.arrayOfNumber\n* assert.arrayOfObject\n* assert.arrayOfString\n* assert.optionalBool\n* assert.optionalBuffer\n* assert.optionalFunc\n* assert.optionalNumber\n* assert.optionalObject\n* assert.optionalString\n* assert.optionalArrayOfBool\n* assert.optionalArrayOfFunc\n* assert.optionalArrayOfNumber\n* assert.optionalArrayOfObject\n* assert.optionalArrayOfString\n* assert.AssertionError\n* assert.fail\n* assert.ok\n* assert.equal\n* assert.notEqual\n* assert.deepEqual\n* assert.notDeepEqual\n* assert.strictEqual\n* assert.notStrictEqual\n* assert.throws\n* assert.doesNotThrow\n* assert.ifError\n\n# Installation\n\n    npm install assert-plus\n\n## License\n\nThe MIT License (MIT)\nCopyright (c) 2012 Mark Cavage\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Bugs\n\nSee <https://github.com/mcavage/node-assert-plus/issues>.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mcavage/node-assert-plus/issues"},"homepage":"https://github.com/mcavage/node-assert-plus","dependencies":{},"_id":"assert-plus@0.1.5","_shasum":"ee74009413002d84cec7219c6ac811812e723160","_from":"assert-plus@>=0.1.5 <0.2.0","_resolved":"https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz","scripts":{}},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js","id":"ctype/ctf.js","options":{},"isModule":true,"requiredModules":["assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js","id":"ctype/ctio.js","options":{},"isModule":true,"requiredModules":["assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js","id":"ctype/ctype.js","options":{},"isModule":true,"requiredModules":["ctype/ctf.js","ctype/ctio.js","assert"],"mtime":1349567501000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json","data":{"name":"ctype","version":"0.5.3","description":"read and write binary structures and data types","homepage":"https://github.com/rmustacc/node-ctype","author":{"name":"Robert Mustacchi","email":"rm@fingolfin.org"},"engines":{"node":">= 0.4"},"main":"ctype.js","repository":{"type":"git","url":"git+https://github.com/rmustacc/node-ctype.git"},"_id":"ctype@0.5.3","dist":{"shasum":"82c18c2461f74114ef16c135224ad0b9144ca12f","tarball":"http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"},"_npmVersion":"1.1.59","_npmUser":{"name":"rm","email":"rm@fingolfin.org"},"maintainers":[{"name":"rm","email":"rm@fingolfin.org"}],"directories":{},"_shasum":"82c18c2461f74114ef16c135224ad0b9144ca12f","_resolved":"https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz","_from":"ctype@0.5.3","readme":"Node-CType is a way to read and write binary data in structured and easy to use\nformat. Its name comes from the C header file.\n\nTo get started, simply clone the repository or use npm to install it. Once it is\nthere, simply require it.\n\ngit clone git://github.com/rmustacc/node-ctype\nnpm install ctype\nvar mod_ctype = require('ctype')\n\n\nThere are two APIs that you can use, depending on what abstraction you'd like.\nThe low level API let's you read and write individual integers and floats from\nbuffers. The higher level API let's you read and write structures of these. To\nillustrate this, let's looks look at how we would read and write a binary\nencoded x,y point.\n\nIn C we would define this structure as follows:\n\ntypedef struct point {\n\tuint16_t\tp_x;\n\tuint16_t\tp_y;\n} point_t;\n\nTo read a binary encoded point from a Buffer, we first need to create a CType\nparser (where we specify the endian and other options) and add the typedef.\n\nvar parser = new mod_ctype.Parser({ endian: 'big' });\nparser.typedef('point_t', [\n\t{ x: { type: 'uint16_t' } },\n\t{ y: { type: 'uint16_t' } }\n]);\n\nFrom here, given a buffer buf and an offset into it, we can read a point.\n\nvar out = parser.readData([ { point: { type: 'point_t' } } ], buffer, 0);\nconsole.log(out);\n{ point: { x: 23, y: 42 } }\n\nAnother way to get the same information would be to use the low level methods.\nNote that these require you to manually deal with the offset. Here's how we'd\nget the same values of x and y from the buffer.\n\nvar x = mod_ctype.ruint16(buf, 'big', 0);\nvar y = mod_ctype.ruint16(buf, 'big', 2);\nconsole.log(x + ', ' + y);\n23, 42\n\nThe true power of this API comes from the ability to define and nest typedefs,\njust as you would in C. By default, the following types are defined by default.\nNote that they return a Number, unless indicated otherwise.\n\n    * int8_t\n    * int16_t\n    * int32_t\n    * int64_t (returns an array where val[0] << 32 + val[1] would be the value)\n    * uint8_t\n    * uint16_t\n    * uint32_t\n    * uint64_t (returns an array where val[0] << 32 + val[1] would be the value)\n    * float\n    * double\n    * char (either returns a buffer with that character or a uint8_t)\n    * char[] (returns an object with the buffer and the number of characters read which is either the total amount requested or until the first 0)\n\n\nctf2json integration:\n\nNode-CType supports consuming the output of ctf2json. Once you read in a JSON file,\nall you have to do to add all the definitions it contains is:\n\nvar data, parser;\ndata = JSON.parse(parsedJSONData);\nparser = mod_ctype.parseCTF(data, { endian: 'big' });\n\nFor more documentation, see the file README.old. Full documentation is in the\nprocess of being rewritten as a series of manual pages which will be available\nin the repository and online for viewing.\n\nTo read the ctio manual page simple run, from the root of the workspace:\n\nman -Mman -s 3ctype ctio\n","readmeFilename":"README","bugs":{"url":"https://github.com/rmustacc/node-ctype/issues"}},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/http-signature/package.json","data":{"name":"http-signature","description":"Reference implementation of Joyent's HTTP Signature scheme.","version":"0.11.0","license":"MIT","author":{"name":"Joyent, Inc"},"contributors":[{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"David I. Lehn","email":"dil@lehn.org"},{"name":"Patrick Mooney","email":"patrick.f.mooney@gmail.com"}],"repository":{"type":"git","url":"git://github.com/joyent/node-http-signature.git"},"homepage":"https://github.com/joyent/node-http-signature/","bugs":{"url":"https://github.com/joyent/node-http-signature/issues"},"keywords":["https","request"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"tap test/*.js"},"dependencies":{"assert-plus":"^0.1.5","asn1":"0.1.11","ctype":"0.5.3"},"devDependencies":{"node-uuid":"^1.4.1","tap":"0.4.2"},"readme":"# node-http-signature\n\nnode-http-signature is a node.js library that has client and server components\nfor Joyent's [HTTP Signature Scheme](http_signing.md).\n\n## Usage\n\nNote the example below signs a request with the same key/cert used to start an\nHTTP server. This is almost certainly not what you actually want, but is just\nused to illustrate the API calls; you will need to provide your own key\nmanagement in addition to this library.\n\n### Client\n\n```js\nvar fs = require('fs');\nvar https = require('https');\nvar httpSignature = require('http-signature');\n\nvar key = fs.readFileSync('./key.pem', 'ascii');\n\nvar options = {\n  host: 'localhost',\n  port: 8443,\n  path: '/',\n  method: 'GET',\n  headers: {}\n};\n\n// Adds a 'Date' header in, signs it, and adds the\n// 'Authorization' header in.\nvar req = https.request(options, function(res) {\n  console.log(res.statusCode);\n});\n\n\nhttpSignature.sign(req, {\n  key: key,\n  keyId: './cert.pem'\n});\n\nreq.end();\n```\n\n### Server\n\n```js\nvar fs = require('fs');\nvar https = require('https');\nvar httpSignature = require('http-signature');\n\nvar options = {\n  key: fs.readFileSync('./key.pem'),\n  cert: fs.readFileSync('./cert.pem')\n};\n\nhttps.createServer(options, function (req, res) {\n  var rc = 200;\n  var parsed = httpSignature.parseRequest(req);\n  var pub = fs.readFileSync(parsed.keyId, 'ascii');\n  if (!httpSignature.verifySignature(parsed, pub))\n    rc = 401;\n\n  res.writeHead(rc);\n  res.end();\n}).listen(8443);\n```\n\n## Installation\n\n    npm install http-signature\n\n## License\n\nMIT.\n\n## Bugs\n\nSee <https://github.com/joyent/node-http-signature/issues>.\n","readmeFilename":"README.md","_id":"http-signature@0.11.0","_shasum":"1796cf67a001ad5cd6849dca0991485f09089fe6","_from":"http-signature@>=0.11.0 <0.12.0","_resolved":"https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/isstream/isstream.js","id":"isstream/isstream.js","options":{},"isModule":true,"requiredModules":["stream"],"mtime":1396827239000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/isstream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/isstream/package.json","data":{"name":"isstream","version":"0.1.2","description":"Determine if an object is a Stream","main":"isstream.js","scripts":{"test":"tar --xform 's/^package/readable-stream-1.0/' -zxf readable-stream-1.0.*.tgz && tar --xform 's/^package/readable-stream-1.1/' -zxf readable-stream-1.1.*.tgz && node test.js; rm -rf readable-stream-1.?/"},"repository":{"type":"git","url":"git+https://github.com/rvagg/isstream.git"},"keywords":["stream","type","streams","readable-stream","hippo"],"devDependencies":{"tape":"~2.12.3","core-util-is":"~1.0.0","isarray":"0.0.1","string_decoder":"~0.10.x","inherits":"~2.0.1"},"author":{"name":"Rod Vagg","email":"rod@vagg.org"},"license":"MIT","bugs":{"url":"https://github.com/rvagg/isstream/issues"},"homepage":"https://github.com/rvagg/isstream","readme":"# isStream\n\n[![Build Status](https://secure.travis-ci.org/rvagg/isstream.png)](http://travis-ci.org/rvagg/isstream)\n\n**Test if an object is a `Stream`**\n\n[![NPM](https://nodei.co/npm/isstream.svg)](https://nodei.co/npm/isstream/)\n\nThe missing `Stream.isStream(obj)`: determine if an object is standard Node.js `Stream`. Works for Node-core `Stream` objects (for 0.8, 0.10, 0.11, and in theory, older and newer versions) and all versions of **[readable-stream](https://github.com/isaacs/readable-stream)**.\n\n## Usage:\n\n```js\nvar isStream = require('isstream')\nvar Stream = require('stream')\n\nisStream(new Stream()) // true\n\nisStream({}) // false\n\nisStream(new Stream.Readable())    // true\nisStream(new Stream.Writable())    // true\nisStream(new Stream.Duplex())      // true\nisStream(new Stream.Transform())   // true\nisStream(new Stream.PassThrough()) // true\n```\n\n## But wait! There's more!\n\nYou can also test for `isReadable(obj)`, `isWritable(obj)` and `isDuplex(obj)` to test for implementations of Streams2 (and Streams3) base classes.\n\n```js\nvar isReadable = require('isstream').isReadable\nvar isWritable = require('isstream').isWritable\nvar isDuplex = require('isstream').isDuplex\nvar Stream = require('stream')\n\nisReadable(new Stream()) // false\nisWritable(new Stream()) // false\nisDuplex(new Stream())   // false\n\nisReadable(new Stream.Readable())    // true\nisReadable(new Stream.Writable())    // false\nisReadable(new Stream.Duplex())      // true\nisReadable(new Stream.Transform())   // true\nisReadable(new Stream.PassThrough()) // true\n\nisWritable(new Stream.Readable())    // false\nisWritable(new Stream.Writable())    // true\nisWritable(new Stream.Duplex())      // true\nisWritable(new Stream.Transform())   // true\nisWritable(new Stream.PassThrough()) // true\n\nisDuplex(new Stream.Readable())    // false\nisDuplex(new Stream.Writable())    // false\nisDuplex(new Stream.Duplex())      // true\nisDuplex(new Stream.Transform())   // true\nisDuplex(new Stream.PassThrough()) // true\n```\n\n*Reminder: when implementing your own streams, please [use **readable-stream** rather than core streams](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).*\n\n\n## License\n\n**isStream** is Copyright (c) 2015 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.\n","readmeFilename":"README.md","_id":"isstream@0.1.2","_shasum":"47e63f7af55afa6f92e1500e690eb8b8529c099a","_from":"isstream@>=0.1.1 <0.2.0","_resolved":"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/isstream/test.js","id":"isstream/test.js","options":{},"isModule":true,"requiredModules":["tape","events","util/util.js","isstream/isstream.js","stream","./readable-stream-1.0/","./readable-stream-1.1/"],"mtime":1396831146000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/json-stringify-safe/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/json-stringify-safe/package.json","data":{"name":"json-stringify-safe","version":"5.0.1","description":"Like JSON.stringify, but doesn't blow up on circular refs.","keywords":["json","stringify","circular","safe"],"homepage":"https://github.com/isaacs/json-stringify-safe","bugs":{"url":"https://github.com/isaacs/json-stringify-safe/issues"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"contributors":[{"name":"Andri Möll","email":"andri@dot.ee","url":"http://themoll.com"}],"license":"ISC","repository":{"type":"git","url":"git://github.com/isaacs/json-stringify-safe.git"},"main":"stringify.js","scripts":{"test":"node test.js"},"devDependencies":{"mocha":">= 2.1.0 < 3","must":">= 0.12 < 0.13","sinon":">= 1.12.2 < 2"},"readme":"# json-stringify-safe\n\nLike JSON.stringify, but doesn't throw on circular references.\n\n## Usage\n\nTakes the same arguments as `JSON.stringify`.\n\n```javascript\nvar stringify = require('json-stringify-safe');\nvar circularObj = {};\ncircularObj.circularRef = circularObj;\ncircularObj.list = [ circularObj, circularObj ];\nconsole.log(stringify(circularObj, null, 2));\n```\n\nOutput:\n\n```json\n{\n  \"circularRef\": \"[Circular]\",\n  \"list\": [\n    \"[Circular]\",\n    \"[Circular]\"\n  ]\n}\n```\n\n## Details\n\n```\nstringify(obj, serializer, indent, decycler)\n```\n\nThe first three arguments are the same as to JSON.stringify.  The last\nis an argument that's only used when the object has been seen already.\n\nThe default `decycler` function returns the string `'[Circular]'`.\nIf, for example, you pass in `function(k,v){}` (return nothing) then it\nwill prune cycles.  If you pass in `function(k,v){ return {foo: 'bar'}}`,\nthen cyclical objects will always be represented as `{\"foo\":\"bar\"}` in\nthe result.\n\n```\nstringify.getSerialize(serializer, decycler)\n```\n\nReturns a serializer that can be used elsewhere.  This is the actual\nfunction that's passed to JSON.stringify.\n\n**Note** that the function returned from `getSerialize` is stateful for now, so\ndo **not** use it more than once.\n","readmeFilename":"README.md","_id":"json-stringify-safe@5.0.1","_shasum":"1296a2d58fd45f19a0f6ce01d65701e2c735b6eb","_from":"json-stringify-safe@>=5.0.0 <5.1.0","_resolved":"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/json-stringify-safe/stringify.js","id":"json-stringify-safe/stringify.js","options":{},"isModule":true,"mtime":1431999708000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/json-stringify-safe/test/stringify_test.js","id":"json-stringify-safe/test/stringify_test.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon.js","json-stringify-safe/stringify.js"],"mtime":1431999690000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/mime-types/index.js","id":"mime-types/index.js","options":{},"isModule":true,"requiredModules":["mime-db/index.js"],"mtime":1433631297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/mime-types/node_modules/mime-db/db.json","id":"mime-db/db.json","options":{},"isModule":true,"mtime":1433555259000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/mime-types/node_modules/mime-db/index.js","id":"mime-db/index.js","options":{},"isModule":true,"requiredModules":["mime-db/db.json"],"mtime":1423439849000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/mime-types/node_modules/mime-db/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/mime-types/node_modules/mime-db/package.json","data":{"name":"mime-db","description":"Media Type Database","version":"1.12.0","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"}],"license":"MIT","keywords":["mime","db","type","types","database","charset","charsets"],"repository":{"type":"git","url":"git://github.com/jshttp/mime-db.git"},"devDependencies":{"bluebird":"2.9.27","co":"4.5.4","cogent":"1.0.1","csv-parse":"0.1.2","gnode":"0.1.1","istanbul":"0.3.9","mocha":"1.21.5","raw-body":"2.1.0","stream-to-array":"2"},"files":["HISTORY.md","LICENSE","README.md","db.json","index.js"],"engines":{"node":">= 0.6"},"scripts":{"build":"node scripts/build","fetch":"gnode scripts/extensions && gnode scripts/types","test":"mocha --reporter spec --bail --check-leaks test/","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/","update":"npm run fetch && npm run build"},"readme":"# mime-db\n\n[![NPM Version][npm-version-image]][npm-url]\n[![NPM Downloads][npm-downloads-image]][npm-url]\n[![Node.js Version][node-image]][node-url]\n[![Build Status][travis-image]][travis-url]\n[![Coverage Status][coveralls-image]][coveralls-url]\n\nThis is a database of all mime types.\nIt consists of a single, public JSON file and does not include any logic,\nallowing it to remain as un-opinionated as possible with an API.\nIt aggregates data from the following sources:\n\n- http://www.iana.org/assignments/media-types/media-types.xhtml\n- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types\n\n## Installation\n\n```bash\nnpm install mime-db\n```\n\nIf you're crazy enough to use this in the browser,\nyou can just grab the JSON file:\n\n```\nhttps://cdn.rawgit.com/jshttp/mime-db/master/db.json\n```\n\n## Usage\n\n```js\nvar db = require('mime-db');\n\n// grab data on .js files\nvar data = db['application/javascript'];\n```\n\n## Data Structure\n\nThe JSON file is a map lookup for lowercased mime types.\nEach mime type has the following properties:\n\n- `.source` - where the mime type is defined.\n    If not set, it's probably a custom media type.\n    - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)\n    - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml)\n- `.extensions[]` - known extensions associated with this mime type.\n- `.compressible` - whether a file of this type is can be gzipped.\n- `.charset` - the default charset associated with this type, if any.\n\nIf unknown, every property could be `undefined`.\n\n## Contributing\n\nTo edit the database, only make PRs against `src/custom.json` or\n`src/custom-suffix.json`.\n\nTo update the build, run `npm run update`.\n\n## Adding Custom Media Types\n\nThe best way to get new media types included in this library is to register\nthem with the IANA. The community registration procedure is outlined in\n[RFC 6838 section 5](http://tools.ietf.org/html/rfc6838#section-5). Types\nregistered with the IANA are automatically pulled into this library.\n\n[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg\n[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg\n[npm-url]: https://npmjs.org/package/mime-db\n[travis-image]: https://img.shields.io/travis/jshttp/mime-db/master.svg\n[travis-url]: https://travis-ci.org/jshttp/mime-db\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master\n[node-image]: https://img.shields.io/node/v/mime-db.svg\n[node-url]: http://nodejs.org/download/\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/mime-db/issues"},"homepage":"https://github.com/jshttp/mime-db","_id":"mime-db@1.12.0","_shasum":"3d0c63180f458eb10d325aaa37d7c58ae312e9d7","_from":"mime-db@>=1.12.0 <1.13.0","_resolved":"https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz"},"mtime":1439487648000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/mime-types/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/mime-types/package.json","data":{"name":"mime-types","description":"The ultimate javascript content-type utility.","version":"2.0.14","contributors":[{"name":"Douglas Christopher Wilson","email":"doug@somethingdoug.com"},{"name":"Jeremiah Senkpiel","email":"fishrock123@rocketmail.com","url":"https://searchbeam.jit.su"},{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"}],"license":"MIT","keywords":["mime","types"],"repository":{"type":"git","url":"git://github.com/jshttp/mime-types.git"},"dependencies":{"mime-db":"~1.12.0"},"devDependencies":{"istanbul":"0.3.9","mocha":"~1.21.5"},"files":["HISTORY.md","LICENSE","index.js"],"engines":{"node":">= 0.6"},"scripts":{"test":"mocha --reporter spec test/test.js","test-cov":"istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js","test-travis":"istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js"},"readme":"# mime-types\n\n[![NPM Version][npm-image]][npm-url]\n[![NPM Downloads][downloads-image]][downloads-url]\n[![Node.js Version][node-version-image]][node-version-url]\n[![Build Status][travis-image]][travis-url]\n[![Test Coverage][coveralls-image]][coveralls-url]\n\nThe ultimate javascript content-type utility.\n\nSimilar to [node-mime](https://github.com/broofa/node-mime), except:\n\n- __No fallbacks.__ Instead of naively returning the first available type, `mime-types` simply returns `false`,\n  so do `var type = mime.lookup('unrecognized') || 'application/octet-stream'`.\n- No `new Mime()` business, so you could do `var lookup = require('mime-types').lookup`.\n- Additional mime types are added such as jade and stylus via [mime-db](https://github.com/jshttp/mime-db)\n- No `.define()` functionality\n\nOtherwise, the API is compatible.\n\n## Install\n\n```sh\n$ npm install mime-types\n```\n\n## Adding Types\n\nAll mime types are based on [mime-db](https://github.com/jshttp/mime-db),\nso open a PR there if you'd like to add mime types.\n\n## API\n\n```js\nvar mime = require('mime-types')\n```\n\nAll functions return `false` if input is invalid or not found.\n\n### mime.lookup(path)\n\nLookup the content-type associated with a file.\n\n```js\nmime.lookup('json')           // 'application/json'\nmime.lookup('.md')            // 'text/x-markdown'\nmime.lookup('file.html')      // 'text/html'\nmime.lookup('folder/file.js') // 'application/javascript'\n\nmime.lookup('cats') // false\n```\n\n### mime.contentType(type)\n\nCreate a full content-type header given a content-type or extension.\n\n```js\nmime.contentType('markdown')  // 'text/x-markdown; charset=utf-8'\nmime.contentType('file.json') // 'application/json; charset=utf-8'\n\n// from a full path\nmime.contentType(path.extname('/path/to/file.json')) // 'application/json; charset=utf-8'\n```\n\n### mime.extension(type)\n\nGet the default extension for a content-type.\n\n```js\nmime.extension('application/octet-stream') // 'bin'\n```\n\n### mime.charset(type)\n\nLookup the implied default charset of a content-type.\n\n```js\nmime.charset('text/x-markdown') // 'UTF-8'\n```\n\n### var type = mime.types[extension]\n\nA map of content-types by extension.\n\n### [extensions...] = mime.extensions[type]\n\nA map of extensions by content-type.\n\n## License\n\n[MIT](LICENSE)\n\n[npm-image]: https://img.shields.io/npm/v/mime-types.svg\n[npm-url]: https://npmjs.org/package/mime-types\n[node-version-image]: https://img.shields.io/node/v/mime-types.svg\n[node-version-url]: http://nodejs.org/download/\n[travis-image]: https://img.shields.io/travis/jshttp/mime-types/master.svg\n[travis-url]: https://travis-ci.org/jshttp/mime-types\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-types/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/mime-types\n[downloads-image]: https://img.shields.io/npm/dm/mime-types.svg\n[downloads-url]: https://npmjs.org/package/mime-types\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jshttp/mime-types/issues"},"homepage":"https://github.com/jshttp/mime-types","_id":"mime-types@2.0.14","_shasum":"310e159db23e077f8bb22b748dabfa4957140aa6","_from":"mime-types@>=2.0.1 <2.1.0","_resolved":"https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js","id":"node-uuid/benchmark/benchmark.js","options":{},"isModule":true,"requiredModules":["node-uuid/uuid.js","uuid","uuid-js"],"mtime":1425583776000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/node-uuid/bower.json","id":"node-uuid/bower.json","options":{},"isModule":true,"mtime":1425583829000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/node-uuid/component.json","id":"node-uuid/component.json","options":{},"isModule":true,"mtime":1425583829000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/node-uuid/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/node-uuid/package.json","data":{"name":"node-uuid","description":"Rigorous implementation of RFC4122 (v1 and v4) UUIDs.","url":"http://github.com/broofa/node-uuid","keywords":["uuid","guid","rfc4122"],"author":{"name":"Robert Kieffer","email":"robert@broofa.com"},"contributors":[{"name":"Christoph Tavan","email":"dev@tavan.de"}],"bin":{"uuid":"./bin/uuid"},"scripts":{"test":"node test/test.js"},"lib":".","main":"./uuid.js","repository":{"type":"git","url":"git+https://github.com/broofa/node-uuid.git"},"version":"1.4.3","licenses":[{"type":"MIT","url":"https://raw.github.com/broofa/node-uuid/master/LICENSE.md"}],"readme":"# node-uuid\n\nSimple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.\n\nFeatures:\n\n* Generate RFC4122 version 1 or version 4 UUIDs\n* Runs in node.js and all browsers.\n* Registered as a [ComponentJS](https://github.com/component/component) [component](https://github.com/component/component/wiki/Components) ('broofa/node-uuid').\n* Cryptographically strong random # generation on supporting platforms\n* 1.1K minified and gzip'ed  (Want something smaller?  Check this [crazy shit](https://gist.github.com/982883) out! )\n* [Annotated source code](http://broofa.github.com/node-uuid/docs/uuid.html)\n* Comes with a Command Line Interface for generating uuids on the command line\n\n## Getting Started\n\nInstall it in your browser:\n\n```html\n<script src=\"uuid.js\"></script>\n```\n\nOr in node.js:\n\n```\nnpm install node-uuid\n```\n\n```javascript\nvar uuid = require('node-uuid');\n```\n\nThen create some ids ...\n\n```javascript\n// Generate a v1 (time-based) id\nuuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'\n\n// Generate a v4 (random) id\nuuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'\n```\n\n## API\n\n### uuid.v1([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v1 (timestamp-based) UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n  * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID.  See note 1.\n  * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence.  Default: An internally maintained clockseq is used.\n  * `msecs` - (Number | Date) Time in milliseconds since unix Epoch.  Default: The current time is used.\n  * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nNotes:\n\n1. The randomly generated node id is only guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v1({\n  node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n  clockseq: 0x1234,\n  msecs: new Date('2011-11-01').getTime(),\n  nsecs: 5678\n});   // -> \"710b962e-041c-11e1-9234-0123456789ab\"\n```\n\nExample: In-place generation of two binary IDs\n\n```javascript\n// Generate two ids in an array\nvar arr = new Array(32); // -> []\nuuid.v1(null, arr, 0);   // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\nuuid.v1(null, arr, 16);  // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\n\n// Optionally use uuid.unparse() to get stringify the ids\nuuid.unparse(buffer);    // -> '02a2ce90-1432-11e1-8558-0b488e4fc115'\nuuid.unparse(buffer, 16) // -> '02a31cb0-1432-11e1-8558-0b488e4fc115'\n```\n\n### uuid.v4([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n  * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values\n  * `rng` - (Function) Random # generator to use.  Set to one of the built-in generators - `uuid.mathRNG` (all platforms), `uuid.nodeRNG` (node.js only), `uuid.whatwgRNG` (WebKit only) - or a custom function that returns an array[16] of byte values.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v4({\n  random: [\n    0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,\n    0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36\n  ]\n});\n// -> \"109156be-c4fb-41ea-b1b4-efe1671c5836\"\n```\n\nExample: Generate two IDs in a single buffer\n\n```javascript\nvar buffer = new Array(32); // (or 'new Buffer' in node.js)\nuuid.v4(null, buffer, 0);\nuuid.v4(null, buffer, 16);\n```\n\n### uuid.parse(id[, buffer[, offset]])\n### uuid.unparse(buffer[, offset])\n\nParse and unparse UUIDs\n\n  * `id` - (String) UUID(-like) string\n  * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. Default: A new Array or Buffer is used\n  * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default: 0\n\nExample parsing and unparsing a UUID string\n\n```javascript\nvar bytes = uuid.parse('797ff043-11eb-11e1-80d6-510998755d10'); // -> <Buffer 79 7f f0 43 11 eb 11 e1 80 d6 51 09 98 75 5d 10>\nvar string = uuid.unparse(bytes); // -> '797ff043-11eb-11e1-80d6-510998755d10'\n```\n\n### uuid.noConflict()\n\n(Browsers only) Set `uuid` property back to it's previous value.\n\nReturns the node-uuid object.\n\nExample:\n\n```javascript\nvar myUuid = uuid.noConflict();\nmyUuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'\n```\n\n## Deprecated APIs\n\nSupport for the following v1.2 APIs is available in v1.3, but is deprecated and will be removed in the next major version.\n\n### uuid([format [, buffer [, offset]]])\n\nuuid() has become uuid.v4(), and the `format` argument is now implicit in the `buffer` argument. (i.e. if you specify a buffer, the format is assumed to be binary).\n\n### uuid.BufferClass\n\nThe class of container created when generating binary uuid data if no buffer argument is specified.  This is expected to go away, with no replacement API.\n\n## Command Line Interface\n\nTo use the executable, it's probably best to install this library globally.\n\n`npm install -g node-uuid`\n\nUsage:\n\n```\nUSAGE: uuid [version] [options]\n\n\noptions:\n\n--help                     Display this message and exit\n```\n\n`version` must be an RFC4122 version that is supported by this library, which is currently version 1 and version 4 (denoted by \"v1\" and \"v4\", respectively). `version` defaults to version 4 when not supplied.\n\n### Examples\n\n```\n> uuid\n3a91f950-dec8-4688-ba14-5b7bbfc7a563\n```\n\n```\n> uuid v1\n9d0b43e0-7696-11e3-964b-250efa37a98e\n```\n\n```\n> uuid v4\n6790ac7c-24ac-4f98-8464-42f6d98a53ae\n```\n\n## Testing\n\nIn node.js\n\n```\nnpm test\n```\n\nIn Browser\n\n```\nopen test/test.html\n```\n\n### Benchmarking\n\nRequires node.js\n\n```\nnpm install uuid uuid-js\nnode benchmark/benchmark.js\n```\n\nFor a more complete discussion of node-uuid performance, please see the `benchmark/README.md` file, and the [benchmark wiki](https://github.com/broofa/node-uuid/wiki/Benchmark)\n\nFor browser performance [checkout the JSPerf tests](http://jsperf.com/node-uuid-performance).\n\n## Release notes\n\n### 1.4.0\n\n* Improved module context detection\n* Removed public RNG functions\n\n### 1.3.2\n\n* Improve tests and handling of v1() options (Issue #24)\n* Expose RNG option to allow for perf testing with different generators\n\n### 1.3.0\n\n* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)!\n* Support for node.js crypto API\n* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/broofa/node-uuid/issues"},"homepage":"https://github.com/broofa/node-uuid","_id":"node-uuid@1.4.3","_shasum":"319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9","_from":"node-uuid@>=1.4.0 <1.5.0","_resolved":"https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/node-uuid/test/compare_v1.js","id":"node-uuid/test/compare_v1.js","options":{},"isModule":true,"requiredModules":["assert","node-uuid/uuid.js","uuid-js","uuid","util/util.js","child_process","os"],"mtime":1425583776000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/node-uuid/test/test.js","id":"node-uuid/test/test.js","options":{},"isModule":true,"requiredModules":["node-uuid/uuid.js"],"mtime":1425583776000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/node-uuid/uuid.js","id":"node-uuid/uuid.js","options":{},"isModule":true,"mtime":1425583779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/oauth-sign/index.js","id":"oauth-sign/index.js","options":{},"isModule":true,"requiredModules":["crypto","querystring"],"mtime":1432809220000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/oauth-sign/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/oauth-sign/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"oauth-sign","description":"OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.","version":"0.8.0","license":"Apache-2.0","repository":{"url":"git+https://github.com/mikeal/oauth-sign.git"},"main":"index.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"node test.js"},"readme":"oauth-sign\n==========\n\nOAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. \n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/oauth-sign/issues"},"homepage":"https://github.com/mikeal/oauth-sign","_id":"oauth-sign@0.8.0","_shasum":"938fdc875765ba527137d8aec9d178e24debc553","_from":"oauth-sign@>=0.8.0 <0.9.0","_resolved":"https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz"},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/oauth-sign/test.js","id":"oauth-sign/test.js","options":{},"isModule":true,"requiredModules":["oauth-sign/index.js","assert","querystring"],"mtime":1432809220000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/bower.json","id":"qs/bower.json","options":{},"isModule":true,"mtime":1432323035000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/index.js","id":"qs/index.js","options":{},"isModule":true,"requiredModules":["qs/lib/index.js"],"mtime":1415925020000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/lib/index.js","id":"qs/lib/index.js","options":{},"isModule":true,"requiredModules":["qs/lib/stringify.js","qs/lib/parse.js"],"mtime":1432240996000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/lib/parse.js","id":"qs/lib/parse.js","options":{},"isModule":true,"requiredModules":["qs/lib/utils.js"],"mtime":1432742507000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/lib/stringify.js","id":"qs/lib/stringify.js","options":{},"isModule":true,"requiredModules":["qs/lib/utils.js"],"mtime":1432320801000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/lib/utils.js","id":"qs/lib/utils.js","options":{},"isModule":true,"mtime":1432321470000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/package.json","data":{"name":"qs","version":"3.1.0","description":"A querystring parser that supports nesting and arrays, with a depth limit","homepage":"https://github.com/hapijs/qs","main":"index.js","dependencies":{},"devDependencies":{"browserify":"^10.2.1","code":"1.x.x","lab":"5.x.x"},"scripts":{"test":"make test-cov","dist":"browserify --standalone Qs index.js > dist/qs.js"},"repository":{"type":"git","url":"git+https://github.com/hapijs/qs.git"},"keywords":["querystring","qs"],"license":"BSD-3-Clause","gitHead":"e53b1b242a55f886531954ebdd78b3b20efadaf0","bugs":{"url":"https://github.com/hapijs/qs/issues"},"_id":"qs@3.1.0","_shasum":"d0e9ae745233a12dc43fb4f3055bba446261153c","_from":"qs@>=3.1.0 <3.2.0","_npmVersion":"2.9.0","_nodeVersion":"0.12.2","_npmUser":{"name":"nlf","email":"quitlahok@gmail.com"},"dist":{"shasum":"d0e9ae745233a12dc43fb4f3055bba446261153c","tarball":"http://registry.npmjs.org/qs/-/qs-3.1.0.tgz"},"maintainers":[{"name":"nlf","email":"quitlahok@gmail.com"},{"name":"hueniverse","email":"eran@hueniverse.com"}],"directories":{},"_resolved":"https://registry.npmjs.org/qs/-/qs-3.1.0.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/test/parse.js","id":"qs/test/parse.js","options":{},"isModule":true,"requiredModules":["code","lab","qs/index.js"],"mtime":1432742768000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/test/stringify.js","id":"qs/test/stringify.js","options":{},"isModule":true,"requiredModules":["code","lab","qs/index.js"],"mtime":1432322274000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/qs/test/utils.js","id":"qs/test/utils.js","options":{},"isModule":true,"requiredModules":["code","lab","qs/lib/utils.js"],"mtime":1432241066000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/stringstream/example.js","id":"stringstream/example.js","options":{},"isModule":true,"requiredModules":["fs","zlib","stringstream/stringstream.js"],"mtime":1358749560000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/stringstream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/stringstream/package.json","data":{"name":"stringstream","version":"0.0.4","description":"Encode and decode streams into string streams","author":{"name":"Michael Hart","email":"michael.hart.au@gmail.com","url":"http://github.com/mhart"},"main":"stringstream.js","keywords":["string","stream","base64","gzip"],"repository":{"type":"git","url":"git+https://github.com/mhart/StringStream.git"},"license":"MIT","readme":"# Decode streams into strings The Right Way(tm)\n\n```javascript\nvar fs   = require('fs')\nvar zlib = require('zlib')\nvar strs = require('stringstream')\n\nvar utf8Stream = fs.createReadStream('massiveLogFile.gz')\n  .pipe(zlib.createGunzip())\n  .pipe(strs('utf8'))\n```\n\nNo need to deal with `setEncoding()` weirdness, just compose streams\nlike they were supposed to be!\n\nHandles input and output encoding:\n\n```javascript\n// Stream from utf8 to hex to base64... Why not, ay.\nvar hex64Stream = fs.createReadStream('myFile')\n  .pipe(strs('utf8', 'hex'))\n  .pipe(strs('hex', 'base64'))\n```\n\nAlso deals with `base64` output correctly by aligning each emitted data\nchunk so that there are no dangling `=` characters:\n\n```javascript\nvar stream = fs.createReadStream('myFile').pipe(strs('base64'))\n\nvar base64Str = ''\n\nstream.on('data', function(data) { base64Str += data })\nstream.on('end', function() {\n  console.log('My base64 encoded file is: ' + base64Str) // Wouldn't work with setEncoding()\n  console.log('Original file is: ' + new Buffer(base64Str, 'base64'))\n})\n```\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mhart/StringStream/issues"},"homepage":"https://github.com/mhart/StringStream","_id":"stringstream@0.0.4","_shasum":"0f0e3423f942960b5692ac324a57dd093bc41a92","_from":"stringstream@>=0.0.4 <0.1.0","_resolved":"https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz","scripts":{}},"mtime":1439487646000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/stringstream/stringstream.js","id":"stringstream/stringstream.js","options":{},"isModule":true,"requiredModules":["util/util.js","stream","string_decoder/index.js"],"mtime":1358729881000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/tunnel-agent/index.js","id":"tunnel-agent/index.js","options":{},"isModule":true,"requiredModules":["net","tls","http","https","events","assert","util/util.js"],"mtime":1435854062000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/tunnel-agent/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/node_modules/tunnel-agent/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"tunnel-agent","description":"HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.","version":"0.4.1","repository":{"url":"git+https://github.com/mikeal/tunnel-agent.git"},"main":"index.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"tunnel-agent\n============\n\nHTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/tunnel-agent/issues"},"homepage":"https://github.com/mikeal/tunnel-agent","_id":"tunnel-agent@0.4.1","_shasum":"bbeecff4d679ce753db9462761a88dfcec3c5ab3","_from":"tunnel-agent@>=0.4.0 <0.5.0","_resolved":"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz","scripts":{}},"mtime":1439487646000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request/package.json","data":{"name":"request","description":"Simplified HTTP request client.","tags":["http","simple","util","utility"],"version":"2.58.0","author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/request/request.git"},"bugs":{"url":"http://github.com/request/request/issues"},"license":"Apache-2.0","engines":{"node":">=0.8.0"},"main":"index.js","dependencies":{"bl":"~0.9.0","caseless":"~0.10.0","extend":"~2.0.1","forever-agent":"~0.6.0","form-data":"~1.0.0-rc1","json-stringify-safe":"~5.0.0","mime-types":"~2.0.1","node-uuid":"~1.4.0","qs":"~3.1.0","tunnel-agent":"~0.4.0","tough-cookie":">=0.12.0","http-signature":"~0.11.0","oauth-sign":"~0.8.0","hawk":"~2.3.0","aws-sign2":"~0.5.0","stringstream":"~0.0.4","combined-stream":"~1.0.1","isstream":"~0.1.1","har-validator":"^1.6.1"},"scripts":{"test":"npm run lint && npm run test-ci && npm run test-browser","test-ci":"taper tests/test-*.js","test-cov":"istanbul cover tape tests/test-*.js","test-browser":"node tests/browser/start.js","lint":"eslint lib/ *.js tests/ && echo Lint passed."},"devDependencies":{"browserify":"~5.9.1","browserify-istanbul":"~0.1.3","buffer-equal":"0.0.1","codecov.io":"~0.1.2","coveralls":"~2.11.2","eslint":"0.18.0","function-bind":"~1.0.0","istanbul":"~0.3.2","karma":"~0.12.21","karma-browserify":"~3.0.1","karma-cli":"0.0.4","karma-coverage":"0.2.6","karma-phantomjs-launcher":"~0.1.4","karma-tap":"~1.0.1","rimraf":"~2.2.8","server-destroy":"~1.0.0","tape":"~3.0.0","taper":"~0.4.0","bluebird":"~2.9.21"},"gitHead":"ab40f9e61f813f9cc68257c17621b7879561486c","homepage":"https://github.com/request/request#readme","_id":"request@2.58.0","_shasum":"b5f49c0b94aab7fad388612a1fb6ad03b6cc1580","_from":"request@2.58.0","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"simov","email":"simeonvelichkov@gmail.com"},"maintainers":[{"name":"mikeal","email":"mikeal.rogers@gmail.com"},{"name":"nylen","email":"jnylen@gmail.com"},{"name":"fredkschott","email":"fkschott@gmail.com"},{"name":"simov","email":"simeonvelichkov@gmail.com"}],"dist":{"shasum":"b5f49c0b94aab7fad388612a1fb6ad03b6cc1580","tarball":"http://registry.npmjs.org/request/-/request-2.58.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/request/-/request-2.58.0.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request/request.js","id":"request/request.js","options":{},"isModule":true,"requiredModules":["http","https","url","util/util.js","stream","zlib","bl/bl.js","hawk/index.js","aws-sign2/index.js","http-signature/lib/index.js","mime-types/index.js","stringstream/stringstream.js","caseless/index.js","forever-agent/index.js","form-data/lib/form_data.js","request/lib/helpers.js","request/lib/cookies.js","request/lib/getProxyFromURI.js","request/lib/querystring.js","request/lib/har.js","request/lib/auth.js","request/lib/oauth.js","request/lib/multipart.js","request/lib/redirect.js","request/lib/tunnel.js"],"mtime":1434377903000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/errors.js","id":"request-promise/errors.js","options":{},"isModule":true,"requiredModules":["request-promise/lib/errors.js"],"mtime":1431731170000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/lib/bluebird-captured-trace-fresh.js","id":"request-promise/lib/bluebird-captured-trace-fresh.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/captured_trace.js"],"mtime":1431731170000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/lib/bluebird-fresh.js","id":"request-promise/lib/bluebird-fresh.js","options":{},"isModule":true,"requiredModules":["bluebird/js/main/promise.js"],"mtime":1431731170000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/lib/errors.js","id":"request-promise/lib/errors.js","options":{},"isModule":true,"mtime":1431731170000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/lib/rp.js","id":"request-promise/lib/rp.js","options":{},"isModule":true,"requiredModules":["request-promise/lib/bluebird-fresh.js","request-promise/lib/bluebird-captured-trace-fresh.js","lodash/object/assign.js","lodash/collection/forEach.js","lodash/lang/isFunction.js","lodash/lang/isPlainObject.js","lodash/lang/isString.js","lodash/lang/isUndefined.js","lodash/object/keys.js","chalk/index.js","request-promise/lib/errors.js","request/index.js"],"mtime":1438023838000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/index.js","id":"chalk/index.js","options":{},"isModule":true,"requiredModules":["escape-string-regexp/index.js","ansi-styles/index.js","strip-ansi/index.js","has-ansi/index.js","supports-color/index.js"],"mtime":1440014707000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/ansi-styles/index.js","id":"ansi-styles/index.js","options":{},"isModule":true,"mtime":1435756896000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/ansi-styles/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/ansi-styles/package.json","data":{"name":"ansi-styles","version":"2.1.0","description":"ANSI escape codes for styling strings in the terminal","license":"MIT","repository":{"type":"git","url":"git+https://github.com/chalk/ansi-styles.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"files":["index.js"],"keywords":["ansi","styles","color","colour","colors","terminal","console","cli","string","tty","escape","formatting","rgb","256","shell","xterm","log","logging","command-line","text"],"devDependencies":{"mocha":"*"},"gitHead":"18421cbe4a2d93359ec2599a894f704be126d066","bugs":{"url":"https://github.com/chalk/ansi-styles/issues"},"homepage":"https://github.com/chalk/ansi-styles","_id":"ansi-styles@2.1.0","_shasum":"990f747146927b559a932bf92959163d60c0d0e2","_from":"ansi-styles@>=2.1.0 <3.0.0","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"jbnicolai","email":"jappelman@xebia.com"},"dist":{"shasum":"990f747146927b559a932bf92959163d60c0d0e2","tarball":"http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443111114000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/escape-string-regexp/index.js","id":"escape-string-regexp/index.js","options":{},"isModule":true,"mtime":1410623244000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/escape-string-regexp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/escape-string-regexp/package.json","data":{"name":"escape-string-regexp","version":"1.0.3","description":"Escape RegExp special characters","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/escape-string-regexp.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"http://sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.8.0"},"scripts":{"test":"mocha"},"files":["index.js"],"keywords":["regex","regexp","re","regular","expression","escape","string","str","special","characters"],"devDependencies":{"mocha":"*"},"gitHead":"1e446e6b4449b5f1f8868cd31bf8fd25ee37fb4b","bugs":{"url":"https://github.com/sindresorhus/escape-string-regexp/issues"},"homepage":"https://github.com/sindresorhus/escape-string-regexp","_id":"escape-string-regexp@1.0.3","_shasum":"9e2d8b25bc2555c3336723750e03f099c2735bb5","_from":"escape-string-regexp@>=1.0.2 <2.0.0","_npmVersion":"2.1.16","_nodeVersion":"0.10.35","_npmUser":{"name":"jbnicolai","email":"jappelman@xebia.com"},"dist":{"shasum":"9e2d8b25bc2555c3336723750e03f099c2735bb5","tarball":"http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz","readme":"ERROR: No README data found!"},"mtime":1443111114000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/has-ansi/index.js","id":"has-ansi/index.js","options":{},"isModule":true,"requiredModules":["ansi-regex/index.js"],"mtime":1402774137000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js","id":"ansi-regex/index.js","options":{},"isModule":true,"mtime":1435679868000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json","data":{"name":"ansi-regex","version":"2.0.0","description":"Regular expression for matching ANSI escape codes","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/ansi-regex.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha test/test.js","view-supported":"node test/viewCodes.js"},"files":["index.js"],"keywords":["ansi","styles","color","colour","colors","terminal","console","cli","string","tty","escape","formatting","rgb","256","shell","xterm","command-line","text","regex","regexp","re","match","test","find","pattern"],"devDependencies":{"mocha":"*"},"gitHead":"57c3f2941a73079fa8b081e02a522e3d29913e2f","bugs":{"url":"https://github.com/sindresorhus/ansi-regex/issues"},"homepage":"https://github.com/sindresorhus/ansi-regex","_id":"ansi-regex@2.0.0","_shasum":"c5061b6e0ef8a81775e50f5d66151bf6bf371107","_from":"ansi-regex@>=2.0.0 <3.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"c5061b6e0ef8a81775e50f5d66151bf6bf371107","tarball":"http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443111114000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/has-ansi/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/has-ansi/package.json","data":{"name":"has-ansi","version":"2.0.0","description":"Check if a string has ANSI escape codes","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/has-ansi.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["ansi","styles","color","colour","colors","terminal","console","string","tty","escape","shell","xterm","command-line","text","regex","regexp","re","match","test","find","pattern","has"],"dependencies":{"ansi-regex":"^2.0.0"},"devDependencies":{"ava":"0.0.4"},"gitHead":"0722275e1bef139fcd09137da6e5550c3cd368b9","bugs":{"url":"https://github.com/sindresorhus/has-ansi/issues"},"homepage":"https://github.com/sindresorhus/has-ansi","_id":"has-ansi@2.0.0","_shasum":"34f5049ce1ecdf2b0649af3ef24e45ed35416d91","_from":"has-ansi@>=2.0.0 <3.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"34f5049ce1ecdf2b0649af3ef24e45ed35416d91","tarball":"http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443111114000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/strip-ansi/index.js","id":"strip-ansi/index.js","options":{},"isModule":true,"requiredModules":["ansi-regex/index.js"],"mtime":1403638286000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js","id":"ansi-regex/index.js","options":{},"isModule":true,"mtime":1435679868000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json","data":{"name":"ansi-regex","version":"2.0.0","description":"Regular expression for matching ANSI escape codes","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/ansi-regex.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"mocha test/test.js","view-supported":"node test/viewCodes.js"},"files":["index.js"],"keywords":["ansi","styles","color","colour","colors","terminal","console","cli","string","tty","escape","formatting","rgb","256","shell","xterm","command-line","text","regex","regexp","re","match","test","find","pattern"],"devDependencies":{"mocha":"*"},"gitHead":"57c3f2941a73079fa8b081e02a522e3d29913e2f","bugs":{"url":"https://github.com/sindresorhus/ansi-regex/issues"},"homepage":"https://github.com/sindresorhus/ansi-regex","_id":"ansi-regex@2.0.0","_shasum":"c5061b6e0ef8a81775e50f5d66151bf6bf371107","_from":"ansi-regex@>=2.0.0 <3.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"c5061b6e0ef8a81775e50f5d66151bf6bf371107","tarball":"http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443111114000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/strip-ansi/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/strip-ansi/package.json","data":{"name":"strip-ansi","version":"3.0.0","description":"Strip ANSI escape codes","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/strip-ansi.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"node test.js"},"files":["index.js"],"keywords":["strip","trim","remove","ansi","styles","color","colour","colors","terminal","console","string","tty","escape","formatting","rgb","256","shell","xterm","log","logging","command-line","text"],"dependencies":{"ansi-regex":"^2.0.0"},"devDependencies":{"ava":"0.0.4"},"gitHead":"3f05b9810e1438f946e2eb84ee854cc00b972e9e","bugs":{"url":"https://github.com/sindresorhus/strip-ansi/issues"},"homepage":"https://github.com/sindresorhus/strip-ansi","_id":"strip-ansi@3.0.0","_shasum":"7510b665567ca914ccb5d7e072763ac968be3724","_from":"strip-ansi@>=3.0.0 <4.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"7510b665567ca914ccb5d7e072763ac968be3724","tarball":"http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443111114000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/supports-color/index.js","id":"supports-color/index.js","options":{},"isModule":true,"mtime":1435362323000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/supports-color/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/node_modules/supports-color/package.json","data":{"name":"supports-color","version":"2.0.0","description":"Detect whether a terminal supports color","license":"MIT","repository":{"type":"git","url":"git+https://github.com/chalk/supports-color.git"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"sindresorhus.com"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"}],"engines":{"node":">=0.8.0"},"scripts":{"test":"mocha"},"files":["index.js"],"keywords":["color","colour","colors","terminal","console","cli","ansi","styles","tty","rgb","256","shell","xterm","command-line","support","supports","capability","detect"],"devDependencies":{"mocha":"*","require-uncached":"^1.0.2"},"gitHead":"8400d98ade32b2adffd50902c06d9e725a5c6588","bugs":{"url":"https://github.com/chalk/supports-color/issues"},"homepage":"https://github.com/chalk/supports-color","_id":"supports-color@2.0.0","_shasum":"535d045ce6b6363fa40117084629995e9df324c7","_from":"supports-color@>=2.0.0 <3.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.5","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"535d045ce6b6363fa40117084629995e9df324c7","tarball":"http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz","readme":"ERROR: No README data found!"},"mtime":1443111114000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/chalk/package.json","data":{"name":"chalk","version":"1.1.1","description":"Terminal string styling done right. Much color.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/chalk/chalk.git"},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"},{"name":"jbnicolai","email":"jappelman@xebia.com"},{"name":"unicorn","email":"sindresorhus+unicorn@gmail.com"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"xo && mocha","bench":"matcha benchmark.js","coverage":"nyc npm test && nyc report","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"files":["index.js"],"keywords":["color","colour","colors","terminal","console","cli","string","str","ansi","style","styles","tty","formatting","rgb","256","shell","xterm","log","logging","command-line","text"],"dependencies":{"ansi-styles":"^2.1.0","escape-string-regexp":"^1.0.2","has-ansi":"^2.0.0","strip-ansi":"^3.0.0","supports-color":"^2.0.0"},"devDependencies":{"coveralls":"^2.11.2","matcha":"^0.6.0","mocha":"*","nyc":"^3.0.0","require-uncached":"^1.0.2","resolve-from":"^1.0.0","semver":"^4.3.3","xo":"*"},"xo":{"envs":["node","mocha"]},"gitHead":"8b554e254e89c85c1fd04dcc444beeb15824e1a5","bugs":{"url":"https://github.com/chalk/chalk/issues"},"homepage":"https://github.com/chalk/chalk#readme","_id":"chalk@1.1.1","_shasum":"509afb67066e7499f7eb3535c77445772ae2d019","_from":"chalk@>=1.1.0 <2.0.0","_npmVersion":"2.13.5","_nodeVersion":"0.12.7","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"dist":{"shasum":"509afb67066e7499f7eb3535c77445772ae2d019","tarball":"http://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443111113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/chunk.js","id":"lodash/array/chunk.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/compact.js","id":"lodash/array/compact.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/difference.js","id":"lodash/array/difference.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/baseFlatten.js","lodash/internal/isArrayLike.js","lodash/internal/isObjectLike.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/drop.js","id":"lodash/array/drop.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/dropRight.js","id":"lodash/array/dropRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/dropRightWhile.js","id":"lodash/array/dropRightWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/dropWhile.js","id":"lodash/array/dropWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/fill.js","id":"lodash/array/fill.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFill.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/findIndex.js","id":"lodash/array/findIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFindIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/findLastIndex.js","id":"lodash/array/findLastIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFindIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/first.js","id":"lodash/array/first.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/flatten.js","id":"lodash/array/flatten.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/flattenDeep.js","id":"lodash/array/flattenDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/head.js","id":"lodash/array/head.js","options":{},"isModule":true,"requiredModules":["lodash/array/first.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/indexOf.js","id":"lodash/array/indexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/binaryIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/initial.js","id":"lodash/array/initial.js","options":{},"isModule":true,"requiredModules":["lodash/array/dropRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/intersection.js","id":"lodash/array/intersection.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js","lodash/internal/isArrayLike.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/last.js","id":"lodash/array/last.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/lastIndexOf.js","id":"lodash/array/lastIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/binaryIndex.js","lodash/internal/indexOfNaN.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/object.js","id":"lodash/array/object.js","options":{},"isModule":true,"requiredModules":["lodash/array/zipObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/pull.js","id":"lodash/array/pull.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/pullAt.js","id":"lodash/array/pullAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAt.js","lodash/internal/baseCompareAscending.js","lodash/internal/baseFlatten.js","lodash/internal/basePullAt.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/remove.js","id":"lodash/array/remove.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/basePullAt.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/rest.js","id":"lodash/array/rest.js","options":{},"isModule":true,"requiredModules":["lodash/array/drop.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/slice.js","id":"lodash/array/slice.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/sortedIndex.js","id":"lodash/array/sortedIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createSortedIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/sortedLastIndex.js","id":"lodash/array/sortedLastIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createSortedIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/tail.js","id":"lodash/array/tail.js","options":{},"isModule":true,"requiredModules":["lodash/array/rest.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/take.js","id":"lodash/array/take.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/takeRight.js","id":"lodash/array/takeRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/takeRightWhile.js","id":"lodash/array/takeRightWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/takeWhile.js","id":"lodash/array/takeWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseWhile.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/union.js","id":"lodash/array/union.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/baseUniq.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/uniq.js","id":"lodash/array/uniq.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseUniq.js","lodash/internal/isIterateeCall.js","lodash/internal/sortedUniq.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/unique.js","id":"lodash/array/unique.js","options":{},"isModule":true,"requiredModules":["lodash/array/uniq.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/unzip.js","id":"lodash/array/unzip.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/arrayMap.js","lodash/internal/baseProperty.js","lodash/internal/isArrayLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/unzipWith.js","id":"lodash/array/unzipWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/arrayReduce.js","lodash/internal/bindCallback.js","lodash/array/unzip.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/without.js","id":"lodash/array/without.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDifference.js","lodash/internal/isArrayLike.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/xor.js","id":"lodash/array/xor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayPush.js","lodash/internal/baseDifference.js","lodash/internal/baseUniq.js","lodash/internal/isArrayLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/zip.js","id":"lodash/array/zip.js","options":{},"isModule":true,"requiredModules":["lodash/function/restParam.js","lodash/array/unzip.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/zipObject.js","id":"lodash/array/zipObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array/zipWith.js","id":"lodash/array/zipWith.js","options":{},"isModule":true,"requiredModules":["lodash/function/restParam.js","lodash/array/unzipWith.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/array.js","id":"lodash/array.js","options":{},"isModule":true,"requiredModules":["lodash/array/chunk.js","lodash/array/compact.js","lodash/array/difference.js","lodash/array/drop.js","lodash/array/dropRight.js","lodash/array/dropRightWhile.js","lodash/array/dropWhile.js","lodash/array/fill.js","lodash/array/findIndex.js","lodash/array/findLastIndex.js","lodash/array/first.js","lodash/array/flatten.js","lodash/array/flattenDeep.js","lodash/array/head.js","lodash/array/indexOf.js","lodash/array/initial.js","lodash/array/intersection.js","lodash/array/last.js","lodash/array/lastIndexOf.js","lodash/array/object.js","lodash/array/pull.js","lodash/array/pullAt.js","lodash/array/remove.js","lodash/array/rest.js","lodash/array/slice.js","lodash/array/sortedIndex.js","lodash/array/sortedLastIndex.js","lodash/array/tail.js","lodash/array/take.js","lodash/array/takeRight.js","lodash/array/takeRightWhile.js","lodash/array/takeWhile.js","lodash/array/union.js","lodash/array/uniq.js","lodash/array/unique.js","lodash/array/unzip.js","lodash/array/unzipWith.js","lodash/array/without.js","lodash/array/xor.js","lodash/array/zip.js","lodash/array/zipObject.js","lodash/array/zipWith.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/chain.js","id":"lodash/chain/chain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/lodash.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/commit.js","id":"lodash/chain/commit.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperCommit.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/concat.js","id":"lodash/chain/concat.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperConcat.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/lodash.js","id":"lodash/chain/lodash.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/internal/baseLodash.js","lodash/lang/isArray.js","lodash/internal/isObjectLike.js","lodash/internal/wrapperClone.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/plant.js","id":"lodash/chain/plant.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperPlant.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/reverse.js","id":"lodash/chain/reverse.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperReverse.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/run.js","id":"lodash/chain/run.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/tap.js","id":"lodash/chain/tap.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/thru.js","id":"lodash/chain/thru.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/toJSON.js","id":"lodash/chain/toJSON.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/toString.js","id":"lodash/chain/toString.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/value.js","id":"lodash/chain/value.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/valueOf.js","id":"lodash/chain/valueOf.js","options":{},"isModule":true,"requiredModules":["lodash/chain/wrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/wrapperChain.js","id":"lodash/chain/wrapperChain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/chain.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/wrapperCommit.js","id":"lodash/chain/wrapperCommit.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LodashWrapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/wrapperConcat.js","id":"lodash/chain/wrapperConcat.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayConcat.js","lodash/internal/baseFlatten.js","lodash/lang/isArray.js","lodash/function/restParam.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/wrapperPlant.js","id":"lodash/chain/wrapperPlant.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseLodash.js","lodash/internal/wrapperClone.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/wrapperReverse.js","id":"lodash/chain/wrapperReverse.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/chain/thru.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/wrapperToString.js","id":"lodash/chain/wrapperToString.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain/wrapperValue.js","id":"lodash/chain/wrapperValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseWrapperValue.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/chain.js","id":"lodash/chain.js","options":{},"isModule":true,"requiredModules":["lodash/chain/chain.js","lodash/chain/commit.js","lodash/chain/concat.js","lodash/chain/lodash.js","lodash/chain/plant.js","lodash/chain/reverse.js","lodash/chain/run.js","lodash/chain/tap.js","lodash/chain/thru.js","lodash/chain/toJSON.js","lodash/chain/toString.js","lodash/chain/value.js","lodash/chain/valueOf.js","lodash/chain/wrapperChain.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/all.js","id":"lodash/collection/all.js","options":{},"isModule":true,"requiredModules":["lodash/collection/every.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/any.js","id":"lodash/collection/any.js","options":{},"isModule":true,"requiredModules":["lodash/collection/some.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/at.js","id":"lodash/collection/at.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAt.js","lodash/internal/baseFlatten.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/collect.js","id":"lodash/collection/collect.js","options":{},"isModule":true,"requiredModules":["lodash/collection/map.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/contains.js","id":"lodash/collection/contains.js","options":{},"isModule":true,"requiredModules":["lodash/collection/includes.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/countBy.js","id":"lodash/collection/countBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/detect.js","id":"lodash/collection/detect.js","options":{},"isModule":true,"requiredModules":["lodash/collection/find.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/each.js","id":"lodash/collection/each.js","options":{},"isModule":true,"requiredModules":["lodash/collection/forEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/eachRight.js","id":"lodash/collection/eachRight.js","options":{},"isModule":true,"requiredModules":["lodash/collection/forEachRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/every.js","id":"lodash/collection/every.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEvery.js","lodash/internal/baseCallback.js","lodash/internal/baseEvery.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/filter.js","id":"lodash/collection/filter.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/baseCallback.js","lodash/internal/baseFilter.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/find.js","id":"lodash/collection/find.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/createFind.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/findLast.js","id":"lodash/collection/findLast.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEachRight.js","lodash/internal/createFind.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/findWhere.js","id":"lodash/collection/findWhere.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/collection/find.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/foldl.js","id":"lodash/collection/foldl.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduce.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/foldr.js","id":"lodash/collection/foldr.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduceRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/forEach.js","id":"lodash/collection/forEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseEach.js","lodash/internal/createForEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/forEachRight.js","id":"lodash/collection/forEachRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEachRight.js","lodash/internal/baseEachRight.js","lodash/internal/createForEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/groupBy.js","id":"lodash/collection/groupBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/include.js","id":"lodash/collection/include.js","options":{},"isModule":true,"requiredModules":["lodash/collection/includes.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/includes.js","id":"lodash/collection/includes.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/getLength.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/internal/isLength.js","lodash/lang/isString.js","lodash/object/values.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/indexBy.js","id":"lodash/collection/indexBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/inject.js","id":"lodash/collection/inject.js","options":{},"isModule":true,"requiredModules":["lodash/collection/reduce.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/invoke.js","id":"lodash/collection/invoke.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/invokePath.js","lodash/internal/isArrayLike.js","lodash/internal/isKey.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/map.js","id":"lodash/collection/map.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/max.js","id":"lodash/collection/max.js","options":{},"isModule":true,"requiredModules":["lodash/math/max.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/min.js","id":"lodash/collection/min.js","options":{},"isModule":true,"requiredModules":["lodash/math/min.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/partition.js","id":"lodash/collection/partition.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createAggregator.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/pluck.js","id":"lodash/collection/pluck.js","options":{},"isModule":true,"requiredModules":["lodash/collection/map.js","lodash/utility/property.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/reduce.js","id":"lodash/collection/reduce.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayReduce.js","lodash/internal/baseEach.js","lodash/internal/createReduce.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/reduceRight.js","id":"lodash/collection/reduceRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayReduceRight.js","lodash/internal/baseEachRight.js","lodash/internal/createReduce.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/reject.js","id":"lodash/collection/reject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayFilter.js","lodash/internal/baseCallback.js","lodash/internal/baseFilter.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/sample.js","id":"lodash/collection/sample.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/isIterateeCall.js","lodash/lang/toArray.js","lodash/internal/toIterable.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/select.js","id":"lodash/collection/select.js","options":{},"isModule":true,"requiredModules":["lodash/collection/filter.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/shuffle.js","id":"lodash/collection/shuffle.js","options":{},"isModule":true,"requiredModules":["lodash/collection/sample.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/size.js","id":"lodash/collection/size.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/some.js","id":"lodash/collection/some.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySome.js","lodash/internal/baseCallback.js","lodash/internal/baseSome.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/sortBy.js","id":"lodash/collection/sortBy.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/internal/baseSortBy.js","lodash/internal/compareAscending.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/sortByAll.js","id":"lodash/collection/sortByAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/baseSortByOrder.js","lodash/internal/isIterateeCall.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/sortByOrder.js","id":"lodash/collection/sortByOrder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSortByOrder.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/sum.js","id":"lodash/collection/sum.js","options":{},"isModule":true,"requiredModules":["lodash/math/sum.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection/where.js","id":"lodash/collection/where.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/collection/filter.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/collection.js","id":"lodash/collection.js","options":{},"isModule":true,"requiredModules":["lodash/collection/all.js","lodash/collection/any.js","lodash/collection/at.js","lodash/collection/collect.js","lodash/collection/contains.js","lodash/collection/countBy.js","lodash/collection/detect.js","lodash/collection/each.js","lodash/collection/eachRight.js","lodash/collection/every.js","lodash/collection/filter.js","lodash/collection/find.js","lodash/collection/findLast.js","lodash/collection/findWhere.js","lodash/collection/foldl.js","lodash/collection/foldr.js","lodash/collection/forEach.js","lodash/collection/forEachRight.js","lodash/collection/groupBy.js","lodash/collection/include.js","lodash/collection/includes.js","lodash/collection/indexBy.js","lodash/collection/inject.js","lodash/collection/invoke.js","lodash/collection/map.js","lodash/math/max.js","lodash/math/min.js","lodash/collection/partition.js","lodash/collection/pluck.js","lodash/collection/reduce.js","lodash/collection/reduceRight.js","lodash/collection/reject.js","lodash/collection/sample.js","lodash/collection/select.js","lodash/collection/shuffle.js","lodash/collection/size.js","lodash/collection/some.js","lodash/collection/sortBy.js","lodash/collection/sortByAll.js","lodash/collection/sortByOrder.js","lodash/math/sum.js","lodash/collection/where.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/date/now.js","id":"lodash/date/now.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/date.js","id":"lodash/date.js","options":{},"isModule":true,"requiredModules":["lodash/date/now.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/after.js","id":"lodash/function/after.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/ary.js","id":"lodash/function/ary.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/backflow.js","id":"lodash/function/backflow.js","options":{},"isModule":true,"requiredModules":["lodash/function/flowRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/before.js","id":"lodash/function/before.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/bind.js","id":"lodash/function/bind.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/bindAll.js","id":"lodash/function/bindAll.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/createWrapper.js","lodash/object/functions.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/bindKey.js","id":"lodash/function/bindKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/compose.js","id":"lodash/function/compose.js","options":{},"isModule":true,"requiredModules":["lodash/function/flowRight.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/curry.js","id":"lodash/function/curry.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCurry.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/curryRight.js","id":"lodash/function/curryRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCurry.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/debounce.js","id":"lodash/function/debounce.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js","lodash/date/now.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/defer.js","id":"lodash/function/defer.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDelay.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/delay.js","id":"lodash/function/delay.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseDelay.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/flow.js","id":"lodash/function/flow.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFlow.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/flowRight.js","id":"lodash/function/flowRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createFlow.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/memoize.js","id":"lodash/function/memoize.js","options":{},"isModule":true,"requiredModules":["lodash/internal/MapCache.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/modArgs.js","id":"lodash/function/modArgs.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEvery.js","lodash/internal/baseFlatten.js","lodash/internal/baseIsFunction.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/negate.js","id":"lodash/function/negate.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/once.js","id":"lodash/function/once.js","options":{},"isModule":true,"requiredModules":["lodash/function/before.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/partial.js","id":"lodash/function/partial.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPartial.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/partialRight.js","id":"lodash/function/partialRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPartial.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/rearg.js","id":"lodash/function/rearg.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/createWrapper.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/restParam.js","id":"lodash/function/restParam.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/spread.js","id":"lodash/function/spread.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/throttle.js","id":"lodash/function/throttle.js","options":{},"isModule":true,"requiredModules":["lodash/function/debounce.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function/wrap.js","id":"lodash/function/wrap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/utility/identity.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/function.js","id":"lodash/function.js","options":{},"isModule":true,"requiredModules":["lodash/function/after.js","lodash/function/ary.js","lodash/function/backflow.js","lodash/function/before.js","lodash/function/bind.js","lodash/function/bindAll.js","lodash/function/bindKey.js","lodash/function/compose.js","lodash/function/curry.js","lodash/function/curryRight.js","lodash/function/debounce.js","lodash/function/defer.js","lodash/function/delay.js","lodash/function/flow.js","lodash/function/flowRight.js","lodash/function/memoize.js","lodash/function/modArgs.js","lodash/function/negate.js","lodash/function/once.js","lodash/function/partial.js","lodash/function/partialRight.js","lodash/function/rearg.js","lodash/function/restParam.js","lodash/function/spread.js","lodash/function/throttle.js","lodash/function/wrap.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/index.js","id":"lodash/index.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayConcat.js","id":"lodash/internal/arrayConcat.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayCopy.js","id":"lodash/internal/arrayCopy.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayEach.js","id":"lodash/internal/arrayEach.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayEachRight.js","id":"lodash/internal/arrayEachRight.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayEvery.js","id":"lodash/internal/arrayEvery.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayExtremum.js","id":"lodash/internal/arrayExtremum.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayFilter.js","id":"lodash/internal/arrayFilter.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayMap.js","id":"lodash/internal/arrayMap.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayPush.js","id":"lodash/internal/arrayPush.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayReduce.js","id":"lodash/internal/arrayReduce.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arrayReduceRight.js","id":"lodash/internal/arrayReduceRight.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arraySome.js","id":"lodash/internal/arraySome.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/arraySum.js","id":"lodash/internal/arraySum.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/assignDefaults.js","id":"lodash/internal/assignDefaults.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/assignOwnDefaults.js","id":"lodash/internal/assignOwnDefaults.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/assignWith.js","id":"lodash/internal/assignWith.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseAssign.js","id":"lodash/internal/baseAssign.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseAt.js","id":"lodash/internal/baseAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseCallback.js","id":"lodash/internal/baseCallback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMatches.js","lodash/internal/baseMatchesProperty.js","lodash/internal/bindCallback.js","lodash/utility/identity.js","lodash/utility/property.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseClone.js","id":"lodash/internal/baseClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/arrayEach.js","lodash/internal/baseAssign.js","lodash/internal/baseForOwn.js","lodash/internal/initCloneArray.js","lodash/internal/initCloneByTag.js","lodash/internal/initCloneObject.js","lodash/lang/isArray.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseCompareAscending.js","id":"lodash/internal/baseCompareAscending.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseCopy.js","id":"lodash/internal/baseCopy.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseCreate.js","id":"lodash/internal/baseCreate.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseDelay.js","id":"lodash/internal/baseDelay.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseDifference.js","id":"lodash/internal/baseDifference.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseEach.js","id":"lodash/internal/baseEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createBaseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseEachRight.js","id":"lodash/internal/baseEachRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createBaseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseEvery.js","id":"lodash/internal/baseEvery.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseExtremum.js","id":"lodash/internal/baseExtremum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseFill.js","id":"lodash/internal/baseFill.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseFilter.js","id":"lodash/internal/baseFilter.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseFind.js","id":"lodash/internal/baseFind.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseFindIndex.js","id":"lodash/internal/baseFindIndex.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseFlatten.js","id":"lodash/internal/baseFlatten.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayPush.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseFor.js","id":"lodash/internal/baseFor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createBaseFor.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseForIn.js","id":"lodash/internal/baseForIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseForOwn.js","id":"lodash/internal/baseForOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseForOwnRight.js","id":"lodash/internal/baseForOwnRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseForRight.js","id":"lodash/internal/baseForRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createBaseFor.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseFunctions.js","id":"lodash/internal/baseFunctions.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isFunction.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseGet.js","id":"lodash/internal/baseGet.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseIndexOf.js","id":"lodash/internal/baseIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/indexOfNaN.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseIsEqual.js","id":"lodash/internal/baseIsEqual.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqualDeep.js","lodash/lang/isObject.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseIsEqualDeep.js","id":"lodash/internal/baseIsEqualDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/equalArrays.js","lodash/internal/equalByTag.js","lodash/internal/equalObjects.js","lodash/lang/isArray.js","lodash/lang/isTypedArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseIsFunction.js","id":"lodash/internal/baseIsFunction.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseIsMatch.js","id":"lodash/internal/baseIsMatch.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseLodash.js","id":"lodash/internal/baseLodash.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseMap.js","id":"lodash/internal/baseMap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js","lodash/internal/isArrayLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseMatches.js","id":"lodash/internal/baseMatches.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsMatch.js","lodash/internal/getMatchData.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseMatchesProperty.js","id":"lodash/internal/baseMatchesProperty.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseIsEqual.js","lodash/internal/baseSlice.js","lodash/lang/isArray.js","lodash/internal/isKey.js","lodash/internal/isStrictComparable.js","lodash/array/last.js","lodash/internal/toObject.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseMerge.js","id":"lodash/internal/baseMerge.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseMergeDeep.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/internal/isObjectLike.js","lodash/lang/isTypedArray.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseMergeDeep.js","id":"lodash/internal/baseMergeDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isPlainObject.js","lodash/lang/isTypedArray.js","lodash/lang/toPlainObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseProperty.js","id":"lodash/internal/baseProperty.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/basePropertyDeep.js","id":"lodash/internal/basePropertyDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/basePullAt.js","id":"lodash/internal/basePullAt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseRandom.js","id":"lodash/internal/baseRandom.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseReduce.js","id":"lodash/internal/baseReduce.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseSetData.js","id":"lodash/internal/baseSetData.js","options":{},"isModule":true,"requiredModules":["lodash/utility/identity.js","lodash/internal/metaMap.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseSlice.js","id":"lodash/internal/baseSlice.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseSome.js","id":"lodash/internal/baseSome.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseSortBy.js","id":"lodash/internal/baseSortBy.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseSortByOrder.js","id":"lodash/internal/baseSortByOrder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseCallback.js","lodash/internal/baseMap.js","lodash/internal/baseSortBy.js","lodash/internal/compareMultiple.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseSum.js","id":"lodash/internal/baseSum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseEach.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseToString.js","id":"lodash/internal/baseToString.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseUniq.js","id":"lodash/internal/baseUniq.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIndexOf.js","lodash/internal/cacheIndexOf.js","lodash/internal/createCache.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseValues.js","id":"lodash/internal/baseValues.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseWhile.js","id":"lodash/internal/baseWhile.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSlice.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/baseWrapperValue.js","id":"lodash/internal/baseWrapperValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/arrayPush.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/binaryIndex.js","id":"lodash/internal/binaryIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/binaryIndexBy.js","lodash/utility/identity.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/binaryIndexBy.js","id":"lodash/internal/binaryIndexBy.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/bindCallback.js","id":"lodash/internal/bindCallback.js","options":{},"isModule":true,"requiredModules":["lodash/utility/identity.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/bufferClone.js","id":"lodash/internal/bufferClone.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/cacheIndexOf.js","id":"lodash/internal/cacheIndexOf.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/cachePush.js","id":"lodash/internal/cachePush.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/charsLeftIndex.js","id":"lodash/internal/charsLeftIndex.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/charsRightIndex.js","id":"lodash/internal/charsRightIndex.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/compareAscending.js","id":"lodash/internal/compareAscending.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCompareAscending.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/compareMultiple.js","id":"lodash/internal/compareMultiple.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCompareAscending.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/composeArgs.js","id":"lodash/internal/composeArgs.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/composeArgsRight.js","id":"lodash/internal/composeArgsRight.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createAggregator.js","id":"lodash/internal/createAggregator.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseEach.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createAssigner.js","id":"lodash/internal/createAssigner.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/internal/isIterateeCall.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createBaseEach.js","id":"lodash/internal/createBaseEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createBaseFor.js","id":"lodash/internal/createBaseFor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createBindWrapper.js","id":"lodash/internal/createBindWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCtorWrapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createCache.js","id":"lodash/internal/createCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/SetCache.js","lodash/internal/getNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createCompounder.js","id":"lodash/internal/createCompounder.js","options":{},"isModule":true,"requiredModules":["lodash/string/deburr.js","lodash/string/words.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createCtorWrapper.js","id":"lodash/internal/createCtorWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createCurry.js","id":"lodash/internal/createCurry.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createDefaults.js","id":"lodash/internal/createDefaults.js","options":{},"isModule":true,"requiredModules":["lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createExtremum.js","id":"lodash/internal/createExtremum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayExtremum.js","lodash/internal/baseCallback.js","lodash/internal/baseExtremum.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/internal/toIterable.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createFind.js","id":"lodash/internal/createFind.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFind.js","lodash/internal/baseFindIndex.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createFindIndex.js","id":"lodash/internal/createFindIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFindIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createFindKey.js","id":"lodash/internal/createFindKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseFind.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createFlow.js","id":"lodash/internal/createFlow.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LodashWrapper.js","lodash/internal/getData.js","lodash/internal/getFuncName.js","lodash/lang/isArray.js","lodash/internal/isLaziable.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createForEach.js","id":"lodash/internal/createForEach.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createForIn.js","id":"lodash/internal/createForIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createForOwn.js","id":"lodash/internal/createForOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createHybridWrapper.js","id":"lodash/internal/createHybridWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/composeArgs.js","lodash/internal/composeArgsRight.js","lodash/internal/createCtorWrapper.js","lodash/internal/isLaziable.js","lodash/internal/reorder.js","lodash/internal/replaceHolders.js","lodash/internal/setData.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createObjectMapper.js","id":"lodash/internal/createObjectMapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseForOwn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createPadding.js","id":"lodash/internal/createPadding.js","options":{},"isModule":true,"requiredModules":["lodash/string/repeat.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createPadDir.js","id":"lodash/internal/createPadDir.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPadding.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createPartial.js","id":"lodash/internal/createPartial.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createWrapper.js","lodash/internal/replaceHolders.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createPartialWrapper.js","id":"lodash/internal/createPartialWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCtorWrapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createReduce.js","id":"lodash/internal/createReduce.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/baseReduce.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createRound.js","id":"lodash/internal/createRound.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createSortedIndex.js","id":"lodash/internal/createSortedIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/binaryIndex.js","lodash/internal/binaryIndexBy.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/createWrapper.js","id":"lodash/internal/createWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/internal/createBindWrapper.js","lodash/internal/createHybridWrapper.js","lodash/internal/createPartialWrapper.js","lodash/internal/getData.js","lodash/internal/mergeData.js","lodash/internal/setData.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/deburrLetter.js","id":"lodash/internal/deburrLetter.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/equalArrays.js","id":"lodash/internal/equalArrays.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySome.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/equalByTag.js","id":"lodash/internal/equalByTag.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/equalObjects.js","id":"lodash/internal/equalObjects.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/escapeHtmlChar.js","id":"lodash/internal/escapeHtmlChar.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/escapeRegExpChar.js","id":"lodash/internal/escapeRegExpChar.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/escapeStringChar.js","id":"lodash/internal/escapeStringChar.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/getData.js","id":"lodash/internal/getData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/metaMap.js","lodash/utility/noop.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/getFuncName.js","id":"lodash/internal/getFuncName.js","options":{},"isModule":true,"requiredModules":["lodash/internal/realNames.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/getLength.js","id":"lodash/internal/getLength.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseProperty.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/getMatchData.js","id":"lodash/internal/getMatchData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isStrictComparable.js","lodash/object/pairs.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/getNative.js","id":"lodash/internal/getNative.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/getView.js","id":"lodash/internal/getView.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/indexOfNaN.js","id":"lodash/internal/indexOfNaN.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/initCloneArray.js","id":"lodash/internal/initCloneArray.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/initCloneByTag.js","id":"lodash/internal/initCloneByTag.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bufferClone.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/initCloneObject.js","id":"lodash/internal/initCloneObject.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/invokePath.js","id":"lodash/internal/invokePath.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/internal/isKey.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isArrayLike.js","id":"lodash/internal/isArrayLike.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getLength.js","lodash/internal/isLength.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isIndex.js","id":"lodash/internal/isIndex.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isIterateeCall.js","id":"lodash/internal/isIterateeCall.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isIndex.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isKey.js","id":"lodash/internal/isKey.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArray.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isLaziable.js","id":"lodash/internal/isLaziable.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/getData.js","lodash/internal/getFuncName.js","lodash/chain/lodash.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isLength.js","id":"lodash/internal/isLength.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isObjectLike.js","id":"lodash/internal/isObjectLike.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isSpace.js","id":"lodash/internal/isSpace.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/isStrictComparable.js","id":"lodash/internal/isStrictComparable.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/lazyClone.js","id":"lodash/internal/lazyClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/arrayCopy.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/lazyReverse.js","id":"lodash/internal/lazyReverse.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/lazyValue.js","id":"lodash/internal/lazyValue.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseWrapperValue.js","lodash/internal/getView.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/LazyWrapper.js","id":"lodash/internal/LazyWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/internal/baseLodash.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/LodashWrapper.js","id":"lodash/internal/LodashWrapper.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCreate.js","lodash/internal/baseLodash.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/MapCache.js","id":"lodash/internal/MapCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/mapDelete.js","lodash/internal/mapGet.js","lodash/internal/mapHas.js","lodash/internal/mapSet.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/mapDelete.js","id":"lodash/internal/mapDelete.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/mapGet.js","id":"lodash/internal/mapGet.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/mapHas.js","id":"lodash/internal/mapHas.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/mapSet.js","id":"lodash/internal/mapSet.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/mergeData.js","id":"lodash/internal/mergeData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/composeArgs.js","lodash/internal/composeArgsRight.js","lodash/internal/replaceHolders.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/mergeDefaults.js","id":"lodash/internal/mergeDefaults.js","options":{},"isModule":true,"requiredModules":["lodash/object/merge.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/metaMap.js","id":"lodash/internal/metaMap.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/pickByArray.js","id":"lodash/internal/pickByArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/pickByCallback.js","id":"lodash/internal/pickByCallback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/realNames.js","id":"lodash/internal/realNames.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/reEscape.js","id":"lodash/internal/reEscape.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/reEvaluate.js","id":"lodash/internal/reEvaluate.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/reInterpolate.js","id":"lodash/internal/reInterpolate.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/reorder.js","id":"lodash/internal/reorder.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/isIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/replaceHolders.js","id":"lodash/internal/replaceHolders.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/SetCache.js","id":"lodash/internal/SetCache.js","options":{},"isModule":true,"requiredModules":["lodash/internal/cachePush.js","lodash/internal/getNative.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/setData.js","id":"lodash/internal/setData.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseSetData.js","lodash/date/now.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/shimKeys.js","id":"lodash/internal/shimKeys.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/sortedUniq.js","id":"lodash/internal/sortedUniq.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/toIterable.js","id":"lodash/internal/toIterable.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/object/values.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/toObject.js","id":"lodash/internal/toObject.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/toPath.js","id":"lodash/internal/toPath.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/lang/isArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/trimmedLeftIndex.js","id":"lodash/internal/trimmedLeftIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isSpace.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/trimmedRightIndex.js","id":"lodash/internal/trimmedRightIndex.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isSpace.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/unescapeHtmlChar.js","id":"lodash/internal/unescapeHtmlChar.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/internal/wrapperClone.js","id":"lodash/internal/wrapperClone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/LazyWrapper.js","lodash/internal/LodashWrapper.js","lodash/internal/arrayCopy.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/clone.js","id":"lodash/lang/clone.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/bindCallback.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/cloneDeep.js","id":"lodash/lang/cloneDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/bindCallback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/eq.js","id":"lodash/lang/eq.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isEqual.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/gt.js","id":"lodash/lang/gt.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/gte.js","id":"lodash/lang/gte.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isArguments.js","id":"lodash/lang/isArguments.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isArrayLike.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isArray.js","id":"lodash/lang/isArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js","lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isBoolean.js","id":"lodash/lang/isBoolean.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isDate.js","id":"lodash/lang/isDate.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isElement.js","id":"lodash/lang/isElement.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js","lodash/lang/isPlainObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isEmpty.js","id":"lodash/lang/isEmpty.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isArrayLike.js","lodash/lang/isFunction.js","lodash/internal/isObjectLike.js","lodash/lang/isString.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isEqual.js","id":"lodash/lang/isEqual.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsEqual.js","lodash/internal/bindCallback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isError.js","id":"lodash/lang/isError.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isFinite.js","id":"lodash/lang/isFinite.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isFunction.js","id":"lodash/lang/isFunction.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isMatch.js","id":"lodash/lang/isMatch.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseIsMatch.js","lodash/internal/bindCallback.js","lodash/internal/getMatchData.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isNaN.js","id":"lodash/lang/isNaN.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isNumber.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isNative.js","id":"lodash/lang/isNative.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isFunction.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isNull.js","id":"lodash/lang/isNull.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isNumber.js","id":"lodash/lang/isNumber.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isObject.js","id":"lodash/lang/isObject.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isPlainObject.js","id":"lodash/lang/isPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForIn.js","lodash/lang/isArguments.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isRegExp.js","id":"lodash/lang/isRegExp.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isString.js","id":"lodash/lang/isString.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isTypedArray.js","id":"lodash/lang/isTypedArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isLength.js","lodash/internal/isObjectLike.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/isUndefined.js","id":"lodash/lang/isUndefined.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/lt.js","id":"lodash/lang/lt.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/lte.js","id":"lodash/lang/lte.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/toArray.js","id":"lodash/lang/toArray.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/getLength.js","lodash/internal/isLength.js","lodash/object/values.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang/toPlainObject.js","id":"lodash/lang/toPlainObject.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCopy.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/lang.js","id":"lodash/lang.js","options":{},"isModule":true,"requiredModules":["lodash/lang/clone.js","lodash/lang/cloneDeep.js","lodash/lang/eq.js","lodash/lang/gt.js","lodash/lang/gte.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/lang/isBoolean.js","lodash/lang/isDate.js","lodash/lang/isElement.js","lodash/lang/isEmpty.js","lodash/lang/isEqual.js","lodash/lang/isError.js","lodash/lang/isFinite.js","lodash/lang/isFunction.js","lodash/lang/isMatch.js","lodash/lang/isNaN.js","lodash/lang/isNative.js","lodash/lang/isNull.js","lodash/lang/isNumber.js","lodash/lang/isObject.js","lodash/lang/isPlainObject.js","lodash/lang/isRegExp.js","lodash/lang/isString.js","lodash/lang/isTypedArray.js","lodash/lang/isUndefined.js","lodash/lang/lt.js","lodash/lang/lte.js","lodash/lang/toArray.js","lodash/lang/toPlainObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/math/add.js","id":"lodash/math/add.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/math/ceil.js","id":"lodash/math/ceil.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createRound.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/math/floor.js","id":"lodash/math/floor.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createRound.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/math/max.js","id":"lodash/math/max.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createExtremum.js","lodash/lang/gt.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/math/min.js","id":"lodash/math/min.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createExtremum.js","lodash/lang/lt.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/math/round.js","id":"lodash/math/round.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createRound.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/math/sum.js","id":"lodash/math/sum.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arraySum.js","lodash/internal/baseCallback.js","lodash/internal/baseSum.js","lodash/lang/isArray.js","lodash/internal/isIterateeCall.js","lodash/internal/toIterable.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/math.js","id":"lodash/math.js","options":{},"isModule":true,"requiredModules":["lodash/math/add.js","lodash/math/ceil.js","lodash/math/floor.js","lodash/math/max.js","lodash/math/min.js","lodash/math/round.js","lodash/math/sum.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/number/inRange.js","id":"lodash/number/inRange.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/number/random.js","id":"lodash/number/random.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseRandom.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/number.js","id":"lodash/number.js","options":{},"isModule":true,"requiredModules":["lodash/number/inRange.js","lodash/number/random.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/assign.js","id":"lodash/object/assign.js","options":{},"isModule":true,"requiredModules":["lodash/internal/assignWith.js","lodash/internal/baseAssign.js","lodash/internal/createAssigner.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/create.js","id":"lodash/object/create.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseAssign.js","lodash/internal/baseCreate.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/defaults.js","id":"lodash/object/defaults.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","lodash/internal/assignDefaults.js","lodash/internal/createDefaults.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/defaultsDeep.js","id":"lodash/object/defaultsDeep.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createDefaults.js","lodash/object/merge.js","lodash/internal/mergeDefaults.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/extend.js","id":"lodash/object/extend.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/findKey.js","id":"lodash/object/findKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createFindKey.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/findLastKey.js","id":"lodash/object/findLastKey.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createFindKey.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/forIn.js","id":"lodash/object/forIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFor.js","lodash/internal/createForIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/forInRight.js","id":"lodash/object/forInRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForRight.js","lodash/internal/createForIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/forOwn.js","id":"lodash/object/forOwn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwn.js","lodash/internal/createForOwn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/forOwnRight.js","id":"lodash/object/forOwnRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseForOwnRight.js","lodash/internal/createForOwn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/functions.js","id":"lodash/object/functions.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFunctions.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/get.js","id":"lodash/object/get.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/has.js","id":"lodash/object/has.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isKey.js","lodash/internal/isLength.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/invert.js","id":"lodash/object/invert.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/keys.js","id":"lodash/object/keys.js","options":{},"isModule":true,"requiredModules":["lodash/internal/getNative.js","lodash/internal/isArrayLike.js","lodash/lang/isObject.js","lodash/internal/shimKeys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/keysIn.js","id":"lodash/object/keysIn.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isArguments.js","lodash/lang/isArray.js","lodash/internal/isIndex.js","lodash/internal/isLength.js","lodash/lang/isObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/mapKeys.js","id":"lodash/object/mapKeys.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createObjectMapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/mapValues.js","id":"lodash/object/mapValues.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createObjectMapper.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/merge.js","id":"lodash/object/merge.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseMerge.js","lodash/internal/createAssigner.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/methods.js","id":"lodash/object/methods.js","options":{},"isModule":true,"requiredModules":["lodash/object/functions.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/omit.js","id":"lodash/object/omit.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayMap.js","lodash/internal/baseDifference.js","lodash/internal/baseFlatten.js","lodash/internal/bindCallback.js","lodash/object/keysIn.js","lodash/internal/pickByArray.js","lodash/internal/pickByCallback.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/pairs.js","id":"lodash/object/pairs.js","options":{},"isModule":true,"requiredModules":["lodash/object/keys.js","lodash/internal/toObject.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/pick.js","id":"lodash/object/pick.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseFlatten.js","lodash/internal/bindCallback.js","lodash/internal/pickByArray.js","lodash/internal/pickByCallback.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/result.js","id":"lodash/object/result.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/baseSlice.js","lodash/lang/isFunction.js","lodash/internal/isKey.js","lodash/array/last.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/set.js","id":"lodash/object/set.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIndex.js","lodash/internal/isKey.js","lodash/lang/isObject.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/transform.js","id":"lodash/object/transform.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayEach.js","lodash/internal/baseCallback.js","lodash/internal/baseCreate.js","lodash/internal/baseForOwn.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/lang/isObject.js","lodash/lang/isTypedArray.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/values.js","id":"lodash/object/values.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseValues.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object/valuesIn.js","id":"lodash/object/valuesIn.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseValues.js","lodash/object/keysIn.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/object.js","id":"lodash/object.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","lodash/object/create.js","lodash/object/defaults.js","lodash/object/defaultsDeep.js","lodash/object/extend.js","lodash/object/findKey.js","lodash/object/findLastKey.js","lodash/object/forIn.js","lodash/object/forInRight.js","lodash/object/forOwn.js","lodash/object/forOwnRight.js","lodash/object/functions.js","lodash/object/get.js","lodash/object/has.js","lodash/object/invert.js","lodash/object/keys.js","lodash/object/keysIn.js","lodash/object/mapKeys.js","lodash/object/mapValues.js","lodash/object/merge.js","lodash/object/methods.js","lodash/object/omit.js","lodash/object/pairs.js","lodash/object/pick.js","lodash/object/result.js","lodash/object/set.js","lodash/object/transform.js","lodash/object/values.js","lodash/object/valuesIn.js"],"mtime":1438668224000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/package.json","data":{"name":"lodash","version":"3.10.1","description":"The modern build of lodash modular utilities.","homepage":"https://lodash.com/","icon":"https://lodash.com/icon.svg","license":"MIT","main":"index.js","keywords":["modules","stdlib","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Benjamin Tan","email":"demoneaux@gmail.com","url":"https://d10.github.io/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"https://mathiasbynens.be/"}],"repository":{"type":"git","url":"git+https://github.com/lodash/lodash.git"},"scripts":{"test":"echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""},"bugs":{"url":"https://github.com/lodash/lodash/issues"},"_id":"lodash@3.10.1","_shasum":"5bf45e8e49ba4189e17d482789dfd15bd140b7b6","_from":"lodash@>=3.10.0 <4.0.0","_npmVersion":"2.13.1","_nodeVersion":"0.12.5","_npmUser":{"name":"jdalton","email":"john.david.dalton@gmail.com"},"maintainers":[{"name":"jdalton","email":"john.david.dalton@gmail.com"},{"name":"mathias","email":"mathias@qiwi.be"},{"name":"phated","email":"blaine@iceddev.com"},{"name":"kitcambridge","email":"github@kitcambridge.be"},{"name":"d10","email":"demoneaux@gmail.com"}],"dist":{"shasum":"5bf45e8e49ba4189e17d482789dfd15bd140b7b6","tarball":"http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz","readme":"ERROR: No README data found!"},"mtime":1443111113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/camelCase.js","id":"lodash/string/camelCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/capitalize.js","id":"lodash/string/capitalize.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/deburr.js","id":"lodash/string/deburr.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/deburrLetter.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/endsWith.js","id":"lodash/string/endsWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/escape.js","id":"lodash/string/escape.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/escapeHtmlChar.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/escapeRegExp.js","id":"lodash/string/escapeRegExp.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/escapeRegExpChar.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/kebabCase.js","id":"lodash/string/kebabCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/pad.js","id":"lodash/string/pad.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/createPadding.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/padLeft.js","id":"lodash/string/padLeft.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPadDir.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/padRight.js","id":"lodash/string/padRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createPadDir.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/parseInt.js","id":"lodash/string/parseInt.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js","lodash/string/trim.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/repeat.js","id":"lodash/string/repeat.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/snakeCase.js","id":"lodash/string/snakeCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/startCase.js","id":"lodash/string/startCase.js","options":{},"isModule":true,"requiredModules":["lodash/internal/createCompounder.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/startsWith.js","id":"lodash/string/startsWith.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/template.js","id":"lodash/string/template.js","options":{},"isModule":true,"requiredModules":["lodash/internal/assignOwnDefaults.js","lodash/internal/assignWith.js","lodash/utility/attempt.js","lodash/internal/baseAssign.js","lodash/internal/baseToString.js","lodash/internal/baseValues.js","lodash/internal/escapeStringChar.js","lodash/lang/isError.js","lodash/internal/isIterateeCall.js","lodash/object/keys.js","lodash/internal/reInterpolate.js","lodash/string/templateSettings.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/templateSettings.js","id":"lodash/string/templateSettings.js","options":{},"isModule":true,"requiredModules":["lodash/string/escape.js","lodash/internal/reEscape.js","lodash/internal/reEvaluate.js","lodash/internal/reInterpolate.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/trim.js","id":"lodash/string/trim.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsLeftIndex.js","lodash/internal/charsRightIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedLeftIndex.js","lodash/internal/trimmedRightIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/trimLeft.js","id":"lodash/string/trimLeft.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsLeftIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedLeftIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/trimRight.js","id":"lodash/string/trimRight.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/charsRightIndex.js","lodash/internal/isIterateeCall.js","lodash/internal/trimmedRightIndex.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/trunc.js","id":"lodash/string/trunc.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/isIterateeCall.js","lodash/lang/isObject.js","lodash/lang/isRegExp.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/unescape.js","id":"lodash/string/unescape.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/unescapeHtmlChar.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string/words.js","id":"lodash/string/words.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js","lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/string.js","id":"lodash/string.js","options":{},"isModule":true,"requiredModules":["lodash/string/camelCase.js","lodash/string/capitalize.js","lodash/string/deburr.js","lodash/string/endsWith.js","lodash/string/escape.js","lodash/string/escapeRegExp.js","lodash/string/kebabCase.js","lodash/string/pad.js","lodash/string/padLeft.js","lodash/string/padRight.js","lodash/string/parseInt.js","lodash/string/repeat.js","lodash/string/snakeCase.js","lodash/string/startCase.js","lodash/string/startsWith.js","lodash/string/template.js","lodash/string/templateSettings.js","lodash/string/trim.js","lodash/string/trimLeft.js","lodash/string/trimRight.js","lodash/string/trunc.js","lodash/string/unescape.js","lodash/string/words.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/support.js","id":"lodash/support.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/attempt.js","id":"lodash/utility/attempt.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isError.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/callback.js","id":"lodash/utility/callback.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseCallback.js","lodash/internal/isIterateeCall.js","lodash/internal/isObjectLike.js","lodash/utility/matches.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/constant.js","id":"lodash/utility/constant.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/identity.js","id":"lodash/utility/identity.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/iteratee.js","id":"lodash/utility/iteratee.js","options":{},"isModule":true,"requiredModules":["lodash/utility/callback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/matches.js","id":"lodash/utility/matches.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/baseMatches.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/matchesProperty.js","id":"lodash/utility/matchesProperty.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseClone.js","lodash/internal/baseMatchesProperty.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/method.js","id":"lodash/utility/method.js","options":{},"isModule":true,"requiredModules":["lodash/internal/invokePath.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/methodOf.js","id":"lodash/utility/methodOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/invokePath.js","lodash/function/restParam.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/mixin.js","id":"lodash/utility/mixin.js","options":{},"isModule":true,"requiredModules":["lodash/internal/arrayCopy.js","lodash/internal/arrayPush.js","lodash/internal/baseFunctions.js","lodash/lang/isFunction.js","lodash/lang/isObject.js","lodash/object/keys.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/noop.js","id":"lodash/utility/noop.js","options":{},"isModule":true,"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/property.js","id":"lodash/utility/property.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseProperty.js","lodash/internal/basePropertyDeep.js","lodash/internal/isKey.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/propertyOf.js","id":"lodash/utility/propertyOf.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseGet.js","lodash/internal/toPath.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/range.js","id":"lodash/utility/range.js","options":{},"isModule":true,"requiredModules":["lodash/internal/isIterateeCall.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/times.js","id":"lodash/utility/times.js","options":{},"isModule":true,"requiredModules":["lodash/internal/bindCallback.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility/uniqueId.js","id":"lodash/utility/uniqueId.js","options":{},"isModule":true,"requiredModules":["lodash/internal/baseToString.js"],"mtime":1438668224000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/node_modules/lodash/utility.js","id":"lodash/utility.js","options":{},"isModule":true,"requiredModules":["lodash/utility/attempt.js","lodash/utility/callback.js","lodash/utility/constant.js","lodash/utility/identity.js","lodash/utility/iteratee.js","lodash/utility/matches.js","lodash/utility/matchesProperty.js","lodash/utility/method.js","lodash/utility/methodOf.js","lodash/utility/mixin.js","lodash/utility/noop.js","lodash/utility/property.js","lodash/utility/propertyOf.js","lodash/utility/range.js","lodash/utility/times.js","lodash/utility/uniqueId.js"],"mtime":1438668224000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/request-promise/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/request-promise/package.json","data":{"name":"request-promise","version":"0.4.3","description":"The world-famous HTTP client 'Request' now Promises/A+ compliant. Powered by Bluebird.","keywords":["xhr","http","https","promise","request","then","thenable"],"homepage":"https://github.com/request/request-promise","bugs":{"url":"https://github.com/request/request-promise/issues"},"license":"MIT","author":{"name":"Ty Abonil"},"contributors":[{"name":"Nicolai Kamenzky","url":"https://github.com/analog-nico"}],"main":"./lib/rp.js","repository":{"type":"git","url":"https://github.com/request/request-promise.git"},"scripts":{"test":"gulp validate"},"dependencies":{"bluebird":"^2.3","chalk":"^1.1.0","lodash":"^3.10.0","request":"^2.34"},"devDependencies":{"body-parser":"1.12.x","chai":"2.2.x","chai-as-promised":"4.3.x","event-stream":"3.3.x","gulp":"3.8.x","gulp-istanbul":"0.8.x","gulp-jshint":"1.10.x","gulp-mocha":"2.0.x","jshint-stylish":"1.0.x","rimraf":"2.3.x","run-sequence":"1.0.x"},"engines":{"node":">=0.10.0"},"gitHead":"02c73c758dd8633c9ca19259a3a0b176bef22757","_id":"request-promise@0.4.3","_shasum":"3c8ddc82f06f8908d720aede1d6794258e22121c","_from":"request-promise@>=0.4.3 <0.5.0","_npmVersion":"1.4.28","_npmUser":{"name":"analog-nico","email":"nicolai.kamenzky@testrails.org"},"maintainers":[{"name":"tyabonil","email":"ty.abonil@gmail.com"},{"name":"analog-nico","email":"nicolai.kamenzky@testrails.org"},{"name":"mikeal","email":"mikeal.rogers@gmail.com"},{"name":"nylen","email":"jnylen@gmail.com"},{"name":"simov","email":"simeonvelichkov@gmail.com"}],"dist":{"shasum":"3c8ddc82f06f8908d720aede1d6794258e22121c","tarball":"http://registry.npmjs.org/request-promise/-/request-promise-0.4.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/request-promise/-/request-promise-0.4.3.tgz"},"mtime":1443111112000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/lib/getVersion.js","id":"saml20/lib/getVersion.js","options":{},"isModule":true,"mtime":1408042643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/lib/index.js","id":"saml20/lib/index.js","options":{},"isModule":true,"requiredModules":["xml2js/lib/xml2js.js","xml-crypto/index.js","crypto","xmldom/dom-parser.js","querystring","saml20/lib/getVersion.js","saml20/lib/validateSignature.js","saml20/lib/saml11.js","saml20/lib/saml20.js"],"mtime":1408043272000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/lib/saml11.js","id":"saml20/lib/saml11.js","options":{},"isModule":true,"mtime":1415732466000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/lib/saml20.js","id":"saml20/lib/saml20.js","options":{},"isModule":true,"mtime":1415732494000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/lib/validateSignature.js","id":"saml20/lib/validateSignature.js","options":{},"isModule":true,"requiredModules":["xml-crypto/index.js","crypto","xmldom/dom-parser.js","thumbprint/lib/index.js"],"mtime":1415214537000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/thumbprint/example/index.js","id":"thumbprint/example/index.js","options":{},"isModule":true,"requiredModules":["thumbprint/lib/index.js"],"mtime":1362587471000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/thumbprint/lib/index.js","id":"thumbprint/lib/index.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1362587215000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/thumbprint/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/thumbprint/package.json","data":{"name":"thumbprint","version":"0.0.1","description":"Certificate thumbprint calculator for Node.js","main":"./lib/index.js","repository":{"type":"git","url":"https://github.com/leandrob/thumbprint.git"},"keywords":["Certificate","Thumbprint"],"author":{"name":"Leandro Boffi","url":"lboffi@gmail.com"},"license":"MIT","readmeFilename":"README.md","readme":"Thumbprint\n==========\nCertificate thumbprint calculator for Node.js\n\n## Installation\n\n    $ npm install thumbprint\n\n## Usage\n\n```javascript\n\nvar thumbprint = require('thumbprint');\n\nvar result thumbprint.calculate(base64Certificate);","bugs":{"url":"https://github.com/leandrob/thumbprint/issues"},"homepage":"https://github.com/leandrob/thumbprint","_id":"thumbprint@0.0.1","_shasum":"55e86f9a9b14efb45b15c039645d47b6226bb777","_from":"thumbprint@0.0.1","_resolved":"https://registry.npmjs.org/thumbprint/-/thumbprint-0.0.1.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/example/example.js","id":"xml-crypto/example/example.js","options":{},"isModule":true,"requiredModules":["xml-crypto/index.js","xmldom/dom-parser.js","fs"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/index.js","id":"xml-crypto/index.js","options":{},"isModule":true,"requiredModules":["xml-crypto/lib/signed-xml.js","xpath.js/xpath.js"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/lib/enveloped-signature.js","id":"xml-crypto/lib/enveloped-signature.js","options":{},"isModule":true,"requiredModules":["xpath.js/xpath.js"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/lib/exclusive-canonicalization.js","id":"xml-crypto/lib/exclusive-canonicalization.js","options":{},"isModule":true,"requiredModules":["xml-crypto/lib/utils.js","xmldom/dom-parser.js"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/lib/signed-xml.js","id":"xml-crypto/lib/signed-xml.js","options":{},"isModule":true,"requiredModules":["xpath.js/xpath.js","xmldom/dom-parser.js","xml-crypto/lib/utils.js","xml-crypto/lib/exclusive-canonicalization.js","xml-crypto/lib/enveloped-signature.js","crypto","fs"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/lib/utils.js","id":"xml-crypto/lib/utils.js","options":{},"isModule":true,"requiredModules":["xpath.js/xpath.js","xmldom/dom-parser.js"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/__package__.js","id":"xmldom/__package__.js","options":{},"isModule":true,"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/component.json","id":"xmldom/component.json","options":{},"isModule":true,"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/dom-parser.js","id":"xmldom/dom-parser.js","options":{},"isModule":true,"requiredModules":["xmldom/sax.js","xmldom/dom.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/dom.js","id":"xmldom/dom.js","options":{},"isModule":true,"mtime":1371914276000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/package.json","data":{"name":"xmldom","version":"0.1.16","description":"A W3C Standard XML DOM(Level2 CORE) implementation and parser(DOMParser/XMLSerializer).","keywords":["w3c","dom","xml","parser","javascript","DOMParser","XMLSerializer"],"author":{"name":"jindw","email":"jindw@xidea.org","url":"http://www.xidea.org"},"homepage":"https://github.com/jindw/xmldom","repository":{"type":"git","url":"git://github.com/jindw/xmldom.git"},"main":"./dom-parser.js","scripts":{"test":"proof platform win32 && proof test */*/*.t.js || t/test"},"engines":{"node":">=0.1"},"dependencies":{},"devDependencies":{"proof":"0.0.28"},"maintainers":[{"name":"jindw","email":"jindw@xidea.org","url":"http://www.xidea.org"}],"contributors":[{"name":"Yaron Naveh","email":"yaronn01@gmail.com","url":"http://webservices20.blogspot.com/"},{"name":"Harutyun Amirjanyan","email":"amirjanyan@gmail.com","url":"https://github.com/nightwing"},{"name":"Alan Gutierrez","email":"alan@prettyrobots.com","url":"http://www.prettyrobots.com/"}],"bugs":{"url":"http://github.com/jindw/xmldom/issues","email":"jindw@xidea.org"},"licenses":[{"type":"LGPL","url":"http://www.gnu.org/licenses/lgpl.html"}],"readme":"# XMLDOM [![Build Status](https://secure.travis-ci.org/bigeasy/xmldom.png?branch=master)](http://travis-ci.org/bigeasy/xmldom) [![Coverage Status](https://coveralls.io/repos/bigeasy/xmldom/badge.png?branch=master)](https://coveralls.io/r/bigeasy/xmldom) [![NPM version](https://badge.fury.io/js/xmldom.png)](http://badge.fury.io/js/xmldom)\n\nA JavaScript implementation of W3C DOM for Node.js, Rhino and the browser. Fully\ncompatible with `W3C DOM level2`; and some compatible with `level3`. Supports\n`DOMParser` and `XMLSerializer` interface such as in browser.\n\nInstall:\n-------\n>npm install xmldom\n\nExample:\n====\n```javascript\nvar DOMParser = require('xmldom').DOMParser;\nvar doc = new DOMParser().parseFromString(\n    '<xml xmlns=\"a\" xmlns:c=\"./lite\">\\n'+\n        '\\t<child>test</child>\\n'+\n        '\\t<child></child>\\n'+\n        '\\t<child/>\\n'+\n    '</xml>'\n    ,'text/xml');\ndoc.documentElement.setAttribute('x','y');\ndoc.documentElement.setAttributeNS('./lite','c:x','y2');\nvar nsAttr = doc.documentElement.getAttributeNS('./lite','x')\nconsole.info(nsAttr)\nconsole.info(doc)\n```\nAPI Reference\n=====\n\n * [DOMParser](https://developer.mozilla.org/en/DOMParser):\n\n\t```javascript\n\tparseFromString(xmlsource,mimeType)\n\t```\n\t* **options extension** _by xmldom_(not BOM standard!!)\n\n\t```javascript\n\t//added the options argument\n\tnew DOMParser(options)\n\t\n\t//errorHandler is supported\n\tnew DOMParser({\n\t\t/**\n\t\t * youcan override the errorHandler for xml parser\n\t\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t\t */\n\t\terrorHandler:{warning:callback,error:callback,fatalError:callback}\n\t})\n\t\t\n\t```\n\n * [XMLSerializer](https://developer.mozilla.org/en/XMLSerializer)\n \n\t```javascript\n\tserializeToString(node)\n\t```\nDOM level2 method and attribute:\n------\n\n * [Node](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247)\n\t\n\t\tattribute:\n\t\t\tnodeValue|prefix\n\t\treadonly attribute:\n\t\t\tnodeName|nodeType|parentNode|childNodes|firstChild|lastChild|previousSibling|nextSibling|attributes|ownerDocument|namespaceURI|localName\n\t\tmethod:\t\n\t\t\tinsertBefore(newChild, refChild)\n\t\t\treplaceChild(newChild, oldChild)\n\t\t\tremoveChild(oldChild)\n\t\t\tappendChild(newChild)\n\t\t\thasChildNodes()\n\t\t\tcloneNode(deep)\n\t\t\tnormalize()\n\t\t\tisSupported(feature, version)\n\t\t\thasAttributes()\n\n * [DOMImplementation](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-102161490)\n\t\t\n\t\tmethod:\n\t\t\thasFeature(feature, version)\n\t\t\tcreateDocumentType(qualifiedName, publicId, systemId)\n\t\t\tcreateDocument(namespaceURI, qualifiedName, doctype)\n\n * [Document](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#i-Document) : Node\n\t\t\n\t\treadonly attribute:\n\t\t\tdoctype|implementation|documentElement\n\t\tmethod:\n\t\t\tcreateElement(tagName)\n\t\t\tcreateDocumentFragment()\n\t\t\tcreateTextNode(data)\n\t\t\tcreateComment(data)\n\t\t\tcreateCDATASection(data)\n\t\t\tcreateProcessingInstruction(target, data)\n\t\t\tcreateAttribute(name)\n\t\t\tcreateEntityReference(name)\n\t\t\tgetElementsByTagName(tagname)\n\t\t\timportNode(importedNode, deep)\n\t\t\tcreateElementNS(namespaceURI, qualifiedName)\n\t\t\tcreateAttributeNS(namespaceURI, qualifiedName)\n\t\t\tgetElementsByTagNameNS(namespaceURI, localName)\n\t\t\tgetElementById(elementId)\n\n * [DocumentFragment](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-B63ED1A3) : Node\n * [Element](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-745549614) : Node\n\t\t\n\t\treadonly attribute:\n\t\t\ttagName\n\t\tmethod:\n\t\t\tgetAttribute(name)\n\t\t\tsetAttribute(name, value)\n\t\t\tremoveAttribute(name)\n\t\t\tgetAttributeNode(name)\n\t\t\tsetAttributeNode(newAttr)\n\t\t\tremoveAttributeNode(oldAttr)\n\t\t\tgetElementsByTagName(name)\n\t\t\tgetAttributeNS(namespaceURI, localName)\n\t\t\tsetAttributeNS(namespaceURI, qualifiedName, value)\n\t\t\tremoveAttributeNS(namespaceURI, localName)\n\t\t\tgetAttributeNodeNS(namespaceURI, localName)\n\t\t\tsetAttributeNodeNS(newAttr)\n\t\t\tgetElementsByTagNameNS(namespaceURI, localName)\n\t\t\thasAttribute(name)\n\t\t\thasAttributeNS(namespaceURI, localName)\n\n * [Attr](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-637646024) : Node\n\t\n\t\tattribute:\n\t\t\tvalue\n\t\treadonly attribute:\n\t\t\tname|specified|ownerElement\n\n * [NodeList](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177)\n\t\t\n\t\treadonly attribute:\n\t\t\tlength\n\t\tmethod:\n\t\t\titem(index)\n\t\n * [NamedNodeMap](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1780488922)\n\n\t\treadonly attribute:\n\t\t\tlength\n\t\tmethod:\n\t\t\tgetNamedItem(name)\n\t\t\tsetNamedItem(arg)\n\t\t\tremoveNamedItem(name)\n\t\t\titem(index)\n\t\t\tgetNamedItemNS(namespaceURI, localName)\n\t\t\tsetNamedItemNS(arg)\n\t\t\tremoveNamedItemNS(namespaceURI, localName)\n\t\t\n * [CharacterData](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-FF21A306) : Node\n\t\n\t\tmethod:\n\t\t\tsubstringData(offset, count)\n\t\t\tappendData(arg)\n\t\t\tinsertData(offset, arg)\n\t\t\tdeleteData(offset, count)\n\t\t\treplaceData(offset, count, arg)\n\t\t\n * [Text](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1312295772) : CharacterData\n\t\n\t\tmethod:\n\t\t\tsplitText(offset)\n\t\t\t\n * [CDATASection](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-667469212)\n * [Comment](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1728279322) : CharacterData\n\t\n * [DocumentType](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-412266927)\n\t\n\t\treadonly attribute:\n\t\t\tname|entities|notations|publicId|systemId|internalSubset\n\t\t\t\n * Notation : Node\n\t\n\t\treadonly attribute:\n\t\t\tpublicId|systemId\n\t\t\t\n * Entity : Node\n\t\n\t\treadonly attribute:\n\t\t\tpublicId|systemId|notationName\n\t\t\t\n * EntityReference : Node \n * ProcessingInstruction : Node \n\t\n\t\tattribute:\n\t\t\tdata\n\t\treadonly attribute:\n\t\t\ttarget\n\t\t\nDOM level 3 support:\n-----\n\n * [Node](http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent)\n\t\t\n\t\tattribute:\n\t\t\ttextContent\n\t\tmethod:\n\t\t\tisDefaultNamespace(namespaceURI){\n\t\t\tlookupNamespaceURI(prefix)\n\nDOM extension by xmldom\n---\n * [Node] Source position extension; \n\t\t\n\t\tattribute:\n\t\t\t//Numbered starting from '1'\n\t\t\tlineNumber\n\t\t\t//Numbered starting from '1'\n\t\t\tcolumnNumber\n","readmeFilename":"readme.md","_id":"xmldom@0.1.16","_shasum":"80a17c4ebaa92a62676d05e4463e7a4fca3b98a5","_resolved":"git+https://github.com/yaronn/xmldom.git#68768a6a31f55b0737d7beb88807bc80146b2651","_from":"xmldom@git+https://github.com/yaronn/xmldom.git"},"mtime":1415897197000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/sax.js","id":"xmldom/sax.js","options":{},"isModule":true,"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/t/dom/require.t.js","id":"xmldom/t/dom/require.t.js","options":{},"isModule":true,"requiredModules":["proof","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/3rd-cases/index.js","id":"xmldom/test/3rd-cases/index.js","options":{},"isModule":true,"requiredModules":["xmldom/test/3rd-cases/o3xml.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/3rd-cases/mock.js","id":"xmldom/test/3rd-cases/mock.js","options":{},"isModule":true,"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/3rd-cases/o3xml.js","id":"xmldom/test/3rd-cases/o3xml.js","options":{},"isModule":true,"requiredModules":["xmldom/dom-parser.js","xmldom/test/3rd-cases/mock.js","node-o3-xml","node-o3-xml/test/test"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/big-file-performance.js","id":"xmldom/test/big-file-performance.js","options":{},"isModule":true,"requiredModules":["vows","assert","xmldom/dom-parser.js","dom-js","libxmljs/index.js","fs","path"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/dom/attr.js","id":"xmldom/test/dom/attr.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/dom/clone.js","id":"xmldom/test/dom/clone.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/dom/element.js","id":"xmldom/test/dom/element.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/dom/fragment.js","id":"xmldom/test/dom/fragment.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/dom/index.js","id":"xmldom/test/dom/index.js","options":{},"isModule":true,"requiredModules":["xmldom/test/dom/element.js","xmldom/test/dom/level3.js","xmldom/test/dom/clone.js","xmldom/test/dom/attr.js","xmldom/test/dom/serializer.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/dom/level3.js","id":"xmldom/test/dom/level3.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/dom/serializer.js","id":"xmldom/test/dom/serializer.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/error.js","id":"xmldom/test/error.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/html/normalize.js","id":"xmldom/test/html/normalize.js","options":{},"isModule":true,"requiredModules":["vows","assert","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/index.js","id":"xmldom/test/index.js","options":{},"isModule":true,"requiredModules":["xmldom/dom-parser.js","libxmljs/index.js","dom-js","assert"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/locator.js","id":"xmldom/test/locator.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/namespace.js","id":"xmldom/test/namespace.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/node.js","id":"xmldom/test/node.js","options":{},"isModule":true,"requiredModules":["vows","assert","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/parse-element.js","id":"xmldom/test/parse-element.js","options":{},"isModule":true,"requiredModules":["vows","assert","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/simple.js","id":"xmldom/test/simple.js","options":{},"isModule":true,"requiredModules":["vows","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xmldom/test/test.js","id":"xmldom/test/test.js","options":{},"isModule":true,"requiredModules":["vows","assert","xmldom/dom-parser.js"],"mtime":1371914276000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xpath.js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xpath.js/package.json","data":{"name":"xpath.js","version":"1.0.5","description":"Xpath pure javascript implementation for node.js","engines":{"node":">=0.4.0"},"author":{"name":"Cameron McCormack","url":"http://mcc.id.au/xpathjs"},"dependencies":{},"devDependencies":{"nodeunit":">=0.6.4"},"repository":{"type":"git","url":"https://github.com/yaronn/xpath.js.git"},"main":"./xpath.js","directories":{},"scripts":{"test":"nodeunit tests/test.js"},"keywords":["xpath","xml"],"licenses":[{"type":"MIT License","url":"http://www.opensource.org/licenses/mit-license.php"}],"readme":"## xpath.js\r\nAn xpath module for node, written in pure javascript.\r\n\r\nOriginally written by Cameron McCormack ([blog](http://mcc.id.au/xpathjs)). \r\n\r\nPrepared as a node module by Yaron Naveh ([blog](http://webservices20.blogspot.com/), [twitter](https://twitter.com/YaronNaveh)).\r\n\r\n## Install\r\nInstall with [npm](http://github.com/isaacs/npm):\r\n\r\n    npm install xpath.js\r\n\r\n\r\n\r\nxpath.js is xml engine agnostic but I recommend to use [xmldom](https://github.com/jindw/xmldom):\r\n\r\n    npm install xmldom\r\n\r\n\r\n## Your first xpath:\r\n`````javascript\r\n\tvar select = require('xpath.js')\r\n\t  , dom = require('xmldom').DOMParser\r\n\r\n\tvar xml = \"<book><title>Harry Potter</title></book>\"\r\n\tvar doc = new dom().parseFromString(xml)    \r\n\tvar nodes = select(doc, \"//title\")\r\n\tconsole.log(nodes[0].localName + \": \" + nodes[0].firstChild.data)\r\n\tconsole.log(\"node: \" + nodes[0].toString())\r\n`````\r\n-->\r\n\r\n\ttitle: Harry Potter\r\n\tNode: <title>Harry Potter</title>\r\n\r\n## Get text values directly\r\n`````javascript \r\n    var xml = \"<book><title>Harry Potter</title></book>\"\r\n    var doc = new dom().parseFromString(xml)    \r\n    var title = select(doc, \"//title/text()\")[0].data   \r\n    console.log(title)\r\n`````  \r\n-->\r\n    \r\n    Harry Potter\r\n\r\n## Namespaces\r\n`````javascript  \r\n\tvar xml = \"<book><title xmlns='myns'>Harry Potter</title></book>\"\r\n    var doc = new dom().parseFromString(xml)    \r\n    var node = select(doc, \"//*[local-name(.)='title' and namespace-uri(.)='myns/']\")[0]\r\n    console.log(node.namespaceURI)\r\n`````\r\n-->\r\n    \r\n    myns\r\n\t\r\n## Attributes\r\n`````javascript  \r\n    var xml = \"<book author='J. K. Rowling'><title>Harry Potter</title></book>\"\r\n    var doc = new dom().parseFromString(xml)    \r\n    var author = select(doc, \"/book/@author\")[0].value    \r\n    console.log(author)\r\n`````\r\n-->\r\n    \r\n    J. K. Rowling\r\n\r\n\r\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/yaronn/xpath.js/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\r\n\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/yaronn/xpath.js/issues"},"homepage":"https://github.com/yaronn/xpath.js","_id":"xpath.js@1.0.5","_shasum":"763da39c23998b80e65e85dfbbd28ddb723da3ea","_from":"xpath.js@>=0.0.3","_resolved":"https://registry.npmjs.org/xpath.js/-/xpath.js-1.0.5.tgz"},"mtime":1415897196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xpath.js/sample.js","id":"xpath.js/sample.js","options":{},"isModule":true,"requiredModules":["xpath.js/xpath.js","xmldom/dom-parser.js"],"mtime":1408177167000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xpath.js/tests/test.js","id":"xpath.js/tests/test.js","options":{},"isModule":true,"requiredModules":["xpath.js/xpath.js","xmldom/dom-parser.js","assert","fs"],"mtime":1409838820000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/node_modules/xpath.js/xpath.js","id":"xpath.js/xpath.js","options":{},"isModule":true,"mtime":1409838140000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/package.json","data":{"name":"xml-crypto","version":"0.0.17","description":"Xml digital signature and encryption library for Node.js","engines":{"node":">=0.4.0"},"author":{"name":"Yaron Naveh","url":"yaronn01@gmail.com, http://webservices20.blogspot.com/"},"dependencies":{"xmldom":"git+https://github.com/yaronn/xmldom.git","xpath.js":">=0.0.3"},"devDependencies":{"nodeunit":">=0.6.4"},"repository":{"type":"git","url":"https://github.com/yaronn/xml-crypto.git"},"main":"./index.js","directories":{"lib":"./lib"},"keywords":["xml","digital signature","xml encryption","x.509 certificate"],"licenses":[{"type":"MIT License","url":"http://www.opensource.org/licenses/mit-license.php"}],"scripts":{"test":"nodeunit ./test/canonicalization-unit-tests.js ./test/signature-unit-tests.js ./test/saml-response-test.js ./test/signature-integration-tests.js"},"readme":"## xml-crypto\r\nAn xml digital signature library for node. Xml encryption is coming soon. Written in pure javascript!\r\n\r\nFor more information visit [my blog](http://webservices20.blogspot.com/) or [my twitter](https://twitter.com/YaronNaveh).\r\n\r\n## Install\r\nInstall with [npm](http://github.com/isaacs/npm):\r\n\r\n    npm install xml-crypto\r\n\r\nA pre requisite it to have [openssl](http://www.openssl.org/) installed and its /bin to be on the system path. I used version 1.0.1c but it should work on older versions too.\r\n\r\n## Signing Xml documents\r\nUse this code:\r\n\r\n`````javascript\r\n\tvar SignedXml = require('xml-crypto').SignedXml\t  \r\n\t  , fs = require('fs')\r\n\r\n\tvar xml = \"<library>\" +\r\n\t            \"<book>\" +\r\n\t              \"<name>Harry Potter</name>\" +\r\n\t            \"</book>\"\r\n\t          \"</library>\"\r\n\r\n\tvar sig = new SignedXml()\r\n\tsig.addReference(\"//*[local-name(.)='book']\")    \r\n\tsig.signingKey = fs.readFileSync(\"client.pem\")\r\n\tsig.computeSignature(xml)\r\n\tfs.writeFileSync(\"signed.xml\", sig.getSignedXml())\r\n\r\n`````\r\n\r\nThe result wil be:\r\n\r\n\r\n`````xml\r\n\t<library>\r\n\t  <book Id=\"_0\">\r\n\t    <name>Harry Potter</name>\r\n\t  </book>\r\n\t  <Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\">\r\n\t    <SignedInfo>\r\n\t      <CanonicalizationMethod Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\" />\r\n\t      <SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\" />\r\n\t      <Reference URI=\"#_0\">\r\n\t        <Transforms>\r\n\t          <Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\" />\r\n\t        </Transforms>\r\n\t        <DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" />\r\n\t        <DigestValue>cdiS43aFDQMnb3X8yaIUej3+z9Q=</DigestValue>\r\n\t      </Reference>\r\n\t    </SignedInfo>\r\n\t    <SignatureValue>vhWzpQyIYuncHUZV9W...[long base64 removed]...</SignatureValue>\r\n\t  </Signature>\r\n\t</library>\r\n`````\r\n\r\n\r\nNotes:\r\n\r\nsig.getSignedXml() returns the original xml document with the signature pushed as the last child of the root node (as above). This assumes you are not signing the root node but only sub node(s) otherwise this is not valid. If you do sign the root node call sig.getSignatureXml() to get just the signature part and sig.getOriginalXmlWithIds() to get the original xml with Id attributes added on relevant elements (required for validation).\r\n\r\n## Verifying Xml documents\r\n\r\nYou can use any dom parser you want in your code (or none, depending on your usage). This sample uses [xmldom](https://github.com/jindw/xmldom) so you should install it first:\r\n\r\n    npm install xmldom    \r\n\r\nThen run:\r\n\r\n`````javascript\r\n\tvar select = require('xml-crypto').xpath\r\n\t  , dom = require('xmldom').DOMParser\r\n\t  , SignedXml = require('xml-crypto').SignedXml\r\n\t  , FileKeyInfo = require('xml-crypto').FileKeyInfo  \r\n\t  , fs = require('fs')\r\n\r\n\tvar xml = fs.readFileSync(\"signed.xml\").toString()\r\n\tvar doc = new dom().parseFromString(xml)    \r\n\r\n\tvar signature = select(doc, \"/*/*[local-name(.)='Signature' and namespace-uri(.)='http://www.w3.org/2000/09/xmldsig#']\")[0]\r\n\tvar sig = new SignedXml()\r\n\tsig.keyInfoProvider = new FileKeyInfo(\"client_public.pem\")\r\n\tsig.loadSignature(signature.toString())\r\n\tvar res = sig.checkSignature(xml)\r\n\tif (!res) console.log(sig.validationErrors)\r\n`````\r\n\r\nNote: \r\n\r\nThe xml-crypto api requires you to supply it separately the xml signature (\"&lt;Signature&gt;...&lt;/Signature&gt;\", in loadSignature) and the signed xml (in checkSignature). The signed xml may or may not contain the signature in it, but you are still required to supply the signature separately.\r\n\r\n## Supported Algorithms\r\nThe first release always uses the following algorithems:\r\n\r\n* Exclusive Canonicalization http://www.w3.org/2001/10/xml-exc-c14n#\r\n* SHA1 digests http://www.w3.org/2000/09/xmldsig#sha1\r\n* RSA-SHA1 signature algorithm http://www.w3.org/2000/09/xmldsig#rsa-sha1\r\n\r\nyou are able to extend xml-crypto with further algorithms.\r\n\r\n## Customizing Algorithms\r\nThe following sample shows how to sign a message using custom algorithms.\r\n\r\nFirst import some modules:\r\n\r\n`````javascript\r\n\tvar SignedXml = require('xml-crypto').SignedXml\r\n\t  , fs = require('fs')\r\n`````\r\n\r\n\r\nNow define the extension point you want to implement. You can choose one ore more.\r\n\r\nA key info provider is used to extract and construct the key and the KeyInfo xml section.\r\nImplement it if you want to create a signature with a KeyInfo section, or you want to read your key in a different way then the default file read option.\r\n`````javascript\r\n\t/**/\r\n\tfunction MyKeyInfo() {\r\n\t  this.getKeyInfo = function(key) {\r\n\t    return \"<X509Data></X509Data>\"\r\n\t  }\r\n\t  this.getKey = function(keyInfo) {\r\n\t    //you can use the keyInfo parameter to extract the key in any way you want      \r\n\t    return fs.readFileSync(\"key.pem\")\r\n\t  }\r\n\t}\r\n`````\r\n\r\nA custom hash algorithm is used to calculate digests. Implement it if you want a hash other than the default SHA1.\r\n\r\n`````javascript\r\n\tfunction MyDigest() {\r\n\r\n\r\n\t  this.getHash = function(xml) {    \r\n\t    return \"the base64 hash representation of the given xml string\"\r\n\t  }\r\n\r\n\t  this.getAlgorithmName = function() {\r\n\t    return \"http://myDigestAlgorithm\"\r\n\t  }\r\n\t}\r\n`````\r\n\r\nA custom signing algorithm. The default is RSA-SHA1\r\n`````javascript\t\r\n\tfunction MySignatureAlgorithm() {\r\n\r\n\t  /*sign the given SignedInfo using the key. return base64 signature value*/\r\n\t  this.getSignature = function(signedInfo, signingKey) {            \r\n\t    return \"signature of signedInfo as base64...\"\r\n\t  }\r\n\r\n\t  this.getAlgorithmName = function() {\r\n\t    return \"http://mySigningAlgorithm\"\r\n\t  }\r\n\r\n\t}\r\n`````\r\n\r\nCustom transformation algorithm. The default is exclusive canonicalization.\r\n\r\n`````javascript\t\r\n\tfunction MyTransformation() {\r\n\t  \r\n\t  /*given a node (from the xmldom module) return its canonical representation (as string)*/\r\n\t  this.process = function(node) {\t  \t\r\n\t  \t//you should apply your transformation before returning\r\n\t    return node.toString()\r\n\t  }\r\n\r\n\t  this.getAlgorithmName = function() {\r\n\t    return \"http://myTransformation\"\r\n\t  }\r\n\t}\r\n`````\r\nCustom canonicalization is actually the same as custom transformation. It is applied on the SignedInfo rather than on references.\r\n\r\n`````javascript\r\n\tfunction MyCanonicalization() {\r\n\r\n\t  /*given a node (from the xmldom module) return its canonical representation (as string)*/\r\n\t  this.process = function(node) {\r\n\t    //you should apply your transformation before returning\r\n\t    return \"< x/>\"\r\n\t  }\r\n\r\n\t   this.getAlgorithmName = function() {\r\n\t    return \"http://myCanonicalization\"\r\n\t  }\r\n\t}\r\n`````\r\n\r\nNow you need to register the new algorithms:\r\n\r\n`````javascript\r\n\t/*register all the custom algorithms*/\r\n\r\n\tSignedXml.CanonicalizationAlgorithms[\"http://MyTransformation\"] = MyTransformation\r\n\tSignedXml.CanonicalizationAlgorithms[\"http://MyCanonicalization\"] = MyCanonicalization\r\n\tSignedXml.HashAlgorithms[\"http://myDigestAlgorithm\"] = MyDigest\r\n\tSignedXml.SignatureAlgorithms[\"http://mySigningAlgorithm\"] = MySignatureAlgorithm\r\n`````\r\n\r\nNow do the signing. Note how we configure the signature to use the above algorithms:\r\n\r\n`````javascript\r\n\tfunction signXml(xml, xpath, key, dest)\r\n\t{\r\n\t  var sig = new SignedXml()\r\n\r\n\t  /*configure the signature object to use the custom algorithms*/\r\n\t  sig.signatureAlgorithm = \"http://mySignatureAlgorithm\"\r\n\t  sig.keyInfoProvider = new MyKeyInfo()\r\n\t  sig.canonicalizationAlgorithm = \"http://MyCanonicalization\"\r\n\t  sig.addReference(\"//*[local-name(.)='x']\", [\"http://MyTransformation\"], \"http://myDigestAlgorithm\")\r\n\r\n\t  sig.signingKey = fs.readFileSync(key)\r\n\t  sig.addReference(xpath)    \r\n\t  sig.computeSignature(xml)\r\n\t  fs.writeFileSync(dest, sig.getSignedXml())\r\n\t}\r\n\r\n\tvar xml = \"<library>\" +\r\n\t            \"<book>\" +\r\n\t              \"<name>Harry Potter</name>\" +\r\n\t            \"</book>\"\r\n\t          \"</library>\"\r\n\r\n\tsignXml(xml, \r\n\t  \"//*[local-name(.)='book']\", \r\n\t  \"client.pem\", \r\n\t  \"result.xml\")\r\n`````\r\n\r\nYou can always look at the actual code as a sample (or drop me a [mail](mailto:yaronn01@gmail.com)).\r\n\r\n\r\n## X.509 / Key formats\r\nXml-Crypto internally relies on node's crypto module. This means pem encoded certificates are supported. So to sign an xml use key.pem that looks like this (only the begining of the key content is shown):\r\n\r\n\t-----BEGIN PRIVATE KEY-----\r\n\tMIICdwIBADANBgkqhkiG9w0...\r\n\t-----END PRIVATE KEY-----\r\n\r\nAnd for verification use key_public.pem:\r\n\r\n\t-----BEGIN CERTIFICATE-----\r\n\tMIIBxDCCAW6gAwIBAgIQxUSX...\r\n\t-----END CERTIFICATE-----\r\n\r\n**Converting .pfx certificates to pem**\r\n\r\nIf you have .pfx certificates you can convert them to .pem using [openssl](http://www.openssl.org/):\r\n\r\n\topenssl pkcs12 -in c:\\certs\\yourcert.pfx -out c:\\certs\\cag.pem\r\n\r\nThen you could use the result as is for the purpose of signing. For the purpose of validation open the resulting .pem with a text editor and copy from -----BEGIN CERTIFICATE----- to  -----END CERTIFICATE----- (including) to a new text file and save it as .pem.\r\n\r\n## Development\r\nThe test framework is [nodeunit](https://github.com/caolan/nodeunit). To run tests use:\r\n\r\n    $> npm test\r\n\r\n## More information\r\nVisit my [blog](http://webservices20.blogspot.com/) or my [twitter](http://twitter.com/#!/YaronNaveh)\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/yaronn/xml-crypto/issues"},"homepage":"https://github.com/yaronn/xml-crypto","_id":"xml-crypto@0.0.17","_shasum":"2d37e1d0c05653bfea14292fe00e121c429a25a8","_from":"https://github.com/auth0/xml-crypto/tarball/master","_resolved":"https://github.com/auth0/xml-crypto/tarball/master"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/test/canonicalization-unit-tests.js","id":"xml-crypto/test/canonicalization-unit-tests.js","options":{},"isModule":true,"requiredModules":["xml-crypto/lib/exclusive-canonicalization.js","xmldom/dom-parser.js","xpath.js/xpath.js","xml-crypto/lib/signed-xml.js"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/test/saml-response-test.js","id":"xml-crypto/test/saml-response-test.js","options":{},"isModule":true,"requiredModules":["xml-crypto/index.js","xmldom/dom-parser.js","fs"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/test/signature-integration-tests.js","id":"xml-crypto/test/signature-integration-tests.js","options":{},"isModule":true,"requiredModules":["xpath.js/xpath.js","xmldom/dom-parser.js","xml-crypto/lib/signed-xml.js","fs","xml-crypto/index.js","child_process"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/test/signature-unit-tests.js","id":"xml-crypto/test/signature-unit-tests.js","options":{},"isModule":true,"requiredModules":["xpath.js/xpath.js","xmldom/dom-parser.js","xml-crypto/lib/signed-xml.js","xml-crypto/test/xml-assert.js","fs"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xml-crypto/test/xml-assert.js","id":"xml-crypto/test/xml-assert.js","options":{},"isModule":true,"requiredModules":["xpath.js/xpath.js","xmldom/dom-parser.js"],"mtime":1407852561000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xmldom/__package__.js","id":"xmldom/__package__.js","options":{},"isModule":true,"mtime":1386919106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xmldom/component.json","id":"xmldom/component.json","options":{},"isModule":true,"mtime":1386919106000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xmldom/dom-parser.js","id":"xmldom/dom-parser.js","options":{},"isModule":true,"requiredModules":["xmldom/sax.js","xmldom/dom.js"],"mtime":1390921688000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xmldom/dom.js","id":"xmldom/dom.js","options":{},"isModule":true,"mtime":1386919106000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xmldom/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xmldom/package.json","data":{"name":"xmldom","version":"0.1.19","description":"A W3C Standard XML DOM(Level2 CORE) implementation and parser(DOMParser/XMLSerializer).","keywords":["w3c","dom","xml","parser","javascript","DOMParser","XMLSerializer"],"author":{"name":"jindw","email":"jindw@xidea.org","url":"http://www.xidea.org"},"homepage":"https://github.com/jindw/xmldom","repository":{"type":"git","url":"git://github.com/jindw/xmldom.git"},"main":"./dom-parser.js","scripts":{"test":"proof platform win32 && proof test */*/*.t.js || t/test"},"engines":{"node":">=0.1"},"dependencies":{},"devDependencies":{"proof":"0.0.28"},"maintainers":[{"name":"jindw","email":"jindw@xidea.org","url":"http://www.xidea.org"}],"contributors":[{"name":"Yaron Naveh","email":"yaronn01@gmail.com","url":"http://webservices20.blogspot.com/"},{"name":"Harutyun Amirjanyan","email":"amirjanyan@gmail.com","url":"https://github.com/nightwing"},{"name":"Alan Gutierrez","email":"alan@prettyrobots.com","url":"http://www.prettyrobots.com/"}],"bugs":{"url":"http://github.com/jindw/xmldom/issues","email":"jindw@xidea.org"},"licenses":[{"type":"LGPL","url":"http://www.gnu.org/licenses/lgpl.html","MIT":"http://opensource.org/licenses/MIT"}],"readme":"# XMLDOM [![Build Status](https://secure.travis-ci.org/bigeasy/xmldom.png?branch=master)](http://travis-ci.org/bigeasy/xmldom) [![Coverage Status](https://coveralls.io/repos/bigeasy/xmldom/badge.png?branch=master)](https://coveralls.io/r/bigeasy/xmldom) [![NPM version](https://badge.fury.io/js/xmldom.png)](http://badge.fury.io/js/xmldom)\n\nA JavaScript implementation of W3C DOM for Node.js, Rhino and the browser. Fully\ncompatible with `W3C DOM level2`; and some compatible with `level3`. Supports\n`DOMParser` and `XMLSerializer` interface such as in browser.\n\nInstall:\n-------\n>npm install xmldom\n\nExample:\n====\n```javascript\nvar DOMParser = require('xmldom').DOMParser;\nvar doc = new DOMParser().parseFromString(\n    '<xml xmlns=\"a\" xmlns:c=\"./lite\">\\n'+\n        '\\t<child>test</child>\\n'+\n        '\\t<child></child>\\n'+\n        '\\t<child/>\\n'+\n    '</xml>'\n    ,'text/xml');\ndoc.documentElement.setAttribute('x','y');\ndoc.documentElement.setAttributeNS('./lite','c:x','y2');\nvar nsAttr = doc.documentElement.getAttributeNS('./lite','x')\nconsole.info(nsAttr)\nconsole.info(doc)\n```\nAPI Reference\n=====\n\n * [DOMParser](https://developer.mozilla.org/en/DOMParser):\n\n\t```javascript\n\tparseFromString(xmlsource,mimeType)\n\t```\n\t* **options extension** _by xmldom_(not BOM standard!!)\n\n\t```javascript\n\t//added the options argument\n\tnew DOMParser(options)\n\t\n\t//errorHandler is supported\n\tnew DOMParser({\n\t\t/**\n\t\t * locator is always need for error position info\n\t\t */\n\t\tlocator:{},\n\t\t/**\n\t\t * you can override the errorHandler for xml parser\n\t\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t\t */\n\t\terrorHandler:{warning:function(w){console.warn(w)},error:callback,fatalError:callback}\n\t\t//only callback model\n\t\t//errorHandler:function(level,msg){console.log(level,msg)}\n\t})\n\t\t\n\t```\n\n * [XMLSerializer](https://developer.mozilla.org/en/XMLSerializer)\n \n\t```javascript\n\tserializeToString(node)\n\t```\nDOM level2 method and attribute:\n------\n\n * [Node](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247)\n\t\n\t\tattribute:\n\t\t\tnodeValue|prefix\n\t\treadonly attribute:\n\t\t\tnodeName|nodeType|parentNode|childNodes|firstChild|lastChild|previousSibling|nextSibling|attributes|ownerDocument|namespaceURI|localName\n\t\tmethod:\t\n\t\t\tinsertBefore(newChild, refChild)\n\t\t\treplaceChild(newChild, oldChild)\n\t\t\tremoveChild(oldChild)\n\t\t\tappendChild(newChild)\n\t\t\thasChildNodes()\n\t\t\tcloneNode(deep)\n\t\t\tnormalize()\n\t\t\tisSupported(feature, version)\n\t\t\thasAttributes()\n\n * [DOMImplementation](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-102161490)\n\t\t\n\t\tmethod:\n\t\t\thasFeature(feature, version)\n\t\t\tcreateDocumentType(qualifiedName, publicId, systemId)\n\t\t\tcreateDocument(namespaceURI, qualifiedName, doctype)\n\n * [Document](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#i-Document) : Node\n\t\t\n\t\treadonly attribute:\n\t\t\tdoctype|implementation|documentElement\n\t\tmethod:\n\t\t\tcreateElement(tagName)\n\t\t\tcreateDocumentFragment()\n\t\t\tcreateTextNode(data)\n\t\t\tcreateComment(data)\n\t\t\tcreateCDATASection(data)\n\t\t\tcreateProcessingInstruction(target, data)\n\t\t\tcreateAttribute(name)\n\t\t\tcreateEntityReference(name)\n\t\t\tgetElementsByTagName(tagname)\n\t\t\timportNode(importedNode, deep)\n\t\t\tcreateElementNS(namespaceURI, qualifiedName)\n\t\t\tcreateAttributeNS(namespaceURI, qualifiedName)\n\t\t\tgetElementsByTagNameNS(namespaceURI, localName)\n\t\t\tgetElementById(elementId)\n\n * [DocumentFragment](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-B63ED1A3) : Node\n * [Element](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-745549614) : Node\n\t\t\n\t\treadonly attribute:\n\t\t\ttagName\n\t\tmethod:\n\t\t\tgetAttribute(name)\n\t\t\tsetAttribute(name, value)\n\t\t\tremoveAttribute(name)\n\t\t\tgetAttributeNode(name)\n\t\t\tsetAttributeNode(newAttr)\n\t\t\tremoveAttributeNode(oldAttr)\n\t\t\tgetElementsByTagName(name)\n\t\t\tgetAttributeNS(namespaceURI, localName)\n\t\t\tsetAttributeNS(namespaceURI, qualifiedName, value)\n\t\t\tremoveAttributeNS(namespaceURI, localName)\n\t\t\tgetAttributeNodeNS(namespaceURI, localName)\n\t\t\tsetAttributeNodeNS(newAttr)\n\t\t\tgetElementsByTagNameNS(namespaceURI, localName)\n\t\t\thasAttribute(name)\n\t\t\thasAttributeNS(namespaceURI, localName)\n\n * [Attr](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-637646024) : Node\n\t\n\t\tattribute:\n\t\t\tvalue\n\t\treadonly attribute:\n\t\t\tname|specified|ownerElement\n\n * [NodeList](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177)\n\t\t\n\t\treadonly attribute:\n\t\t\tlength\n\t\tmethod:\n\t\t\titem(index)\n\t\n * [NamedNodeMap](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1780488922)\n\n\t\treadonly attribute:\n\t\t\tlength\n\t\tmethod:\n\t\t\tgetNamedItem(name)\n\t\t\tsetNamedItem(arg)\n\t\t\tremoveNamedItem(name)\n\t\t\titem(index)\n\t\t\tgetNamedItemNS(namespaceURI, localName)\n\t\t\tsetNamedItemNS(arg)\n\t\t\tremoveNamedItemNS(namespaceURI, localName)\n\t\t\n * [CharacterData](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-FF21A306) : Node\n\t\n\t\tmethod:\n\t\t\tsubstringData(offset, count)\n\t\t\tappendData(arg)\n\t\t\tinsertData(offset, arg)\n\t\t\tdeleteData(offset, count)\n\t\t\treplaceData(offset, count, arg)\n\t\t\n * [Text](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1312295772) : CharacterData\n\t\n\t\tmethod:\n\t\t\tsplitText(offset)\n\t\t\t\n * [CDATASection](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-667469212)\n * [Comment](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1728279322) : CharacterData\n\t\n * [DocumentType](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-412266927)\n\t\n\t\treadonly attribute:\n\t\t\tname|entities|notations|publicId|systemId|internalSubset\n\t\t\t\n * Notation : Node\n\t\n\t\treadonly attribute:\n\t\t\tpublicId|systemId\n\t\t\t\n * Entity : Node\n\t\n\t\treadonly attribute:\n\t\t\tpublicId|systemId|notationName\n\t\t\t\n * EntityReference : Node \n * ProcessingInstruction : Node \n\t\n\t\tattribute:\n\t\t\tdata\n\t\treadonly attribute:\n\t\t\ttarget\n\t\t\nDOM level 3 support:\n-----\n\n * [Node](http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent)\n\t\t\n\t\tattribute:\n\t\t\ttextContent\n\t\tmethod:\n\t\t\tisDefaultNamespace(namespaceURI){\n\t\t\tlookupNamespaceURI(prefix)\n\nDOM extension by xmldom\n---\n * [Node] Source position extension; \n\t\t\n\t\tattribute:\n\t\t\t//Numbered starting from '1'\n\t\t\tlineNumber\n\t\t\t//Numbered starting from '1'\n\t\t\tcolumnNumber\n","readmeFilename":"readme.md","_id":"xmldom@0.1.19","_shasum":"631fc07776efd84118bf25171b37ed4d075a0abc","_from":"xmldom@0.1.19","_resolved":"https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/node_modules/xmldom/sax.js","id":"xmldom/sax.js","options":{},"isModule":true,"mtime":1390922007000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/saml20/package.json","data":{"name":"saml20","version":"0.1.9","description":"SAML 2.0 and 1.1 token parser for Node.js","main":"./lib/index.js","dependencies":{"xml-crypto":"https://github.com/auth0/xml-crypto/tarball/master","xmldom":"0.1.19","xml2js":"0.4.4","thumbprint":"0.0.1"},"repository":{"type":"git","url":"https://github.com/leandrob/saml20.git"},"keywords":["SAML 2.0","SAML 1.1","Token Parser"],"scripts":{"test":"mocha -R spec test"},"author":{"name":"Leandro Boffi","url":"me@leandrob.com"},"license":"MIT","readmeFilename":"README.md","readme":"SAML 2.0 & 1.1 Assertion Parser & Validator\n=============\nsaml20 is a simple module that allows you to parse and validate SAML 2.0 and 1.1 tokens. It has been tested with [Microsoft ADFS](http://en.wikipedia.org/wiki/Active_Directory_Federation_Services) tokens.\n\n## Installation\n\n```bash\n$ npm install saml20\n```\n\n## Usage\n\n### saml.parse(rawAssertion, cb)\n\n`rawAssertion` is the SAML Assertion in string format.\n\nParses the `rawAssertion` without validating signature, expiration and audience. It allows you to get information from the token like the Issuer name in order to obtain the right public key to validate the token in a multi-providers scenario.\n\n```javascript\n\nvar saml = require('saml20');\n\nsaml.parse(rawAssertion, function(err, profile) {\n\t// err\n\n\tvar claims = profile.claims; // Array of user attributes;\n\tvar issuer = profile.issuer; // String Issuer name.\n});\n\n```\n\n### saml.validate(rawAssertion, options, cb)\n\n`rawAssertion` is the SAML Assertion in string format.\n\n`options`:\n\n* `thumbprint` is the thumbprint of the trusted public key (uses the public key that comes in the assertion).\n* `publicKey` is the trusted public key.\n* `audience` (optional). If it is included audience validation will take place.\n* `bypassExpiration` (optional). This flag indicates expiration validation bypass (useful for testing, not recommended in production environments);\n\nYou can use either `thumbprint` or `publicKey` but you should use at least one.\n\n```javascript\n\nvar saml = require('saml20');\n\nvar options = {\n\tthumbprint: '1aeabdfa4473ecc7efc5947b18436c575574baf8',\n\taudince: 'http://myservice.com/'\n}\n\nsaml.validate(rawAssertion, options, function(err, profile) {\n\t// err\n\n\tvar claims = profile.claims; // Array of user attributes;\n\tvar issuer = profile.issuer; // String Issuer name.\n});\n\n```\n\nor using publicKey:\n\n```javascript\n\nvar saml = require('saml20');\n\nvar options = {\n\tpublicKey: 'MIICDzCCAXygAwIBAgIQVWXAvbbQyI5Bc...',\n\taudince: 'http://myservice.com/'\n}\n\nsaml.validate(rawAssertion, options, function(err, profile) {\n\t// err\n\n\tvar claims = profile.claims; // Array of user attributes;\n\tvar issuer = profile.issuer; // String Issuer name.\n});\n\n```\n\n## Tests\n\n### Configure test/lib.index.js\n\nIn order to run the tests you must configure `lib.index.js` with these variables:\n\n```javascript\n\nvar issuerName = 'https://your-issuer.com';\nvar thumbprint = '1aeabdfa4473ecc7efc5947b19436c575574baf8';\nvar certificate = 'MIICDzCCAXygAwIBAgIQVWXAvbbQyI5BcFe0ssmeKTAJBgU...';\nvar audience = 'http://your-service.com/';\n\n```\n\nYou also need to include a valid and an invalid SAML 2.0 token on `test/assets/invalidToken.xml` and test/assets/validToken.xml`\n\n```xml\n\n<Assertion ID=\"_1308c268-38e2-4849-9957-b7babd4a0659\" IssueInstant=\"2014-03-01T04:04:52.919Z\" Version=\"2.0\" xmlns=\"urn:oasis:names:tc:SAML:2.0:assertion\"><Issuer>https://your-issuer.com/</Issuer><ds:Signature xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\" /><ds:SignatureMethod Algorithm=\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\" /><ds:Reference URI=\"#_1308c268-38e2-4849-9957-b7babd4a0659\"><ds:Transforms><ds:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\" /><ds:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\" /></ds:Transforms><ds:DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#sha256\" /><ds:DigestValue>qJQjAuaj7adyLkl6m3T1oRhtYytu4bebq9JcQObZIu8=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>amPTOSqkEq5ppbCyUgGgm....</Assertion>\n\n```\n\nTo run the tests use:\n\n```bash\n$ npm test\n```\n\n## License\n\nMIT\n\n\n\n\n","bugs":{"url":"https://github.com/leandrob/saml20/issues"},"homepage":"https://github.com/leandrob/saml20","_id":"saml20@0.1.9","_shasum":"02769fecc9d7ca7f585bc581c99d8be46a181e52","_from":"saml20@^0.1.2","_resolved":"https://registry.npmjs.org/saml20/-/saml20-0.1.9.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/test/lib.saml11.js","id":"saml20/test/lib.saml11.js","options":{},"isModule":true,"requiredModules":["assert","saml20/lib/index.js","fs"],"mtime":1408044471000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/saml20/test/lib.saml20.js","id":"saml20/test/lib.saml20.js","options":{},"isModule":true,"requiredModules":["assert","saml20/lib/index.js","fs"],"mtime":1408051379000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/index.js","id":"sendgrid/index.js","options":{},"isModule":true,"requiredModules":["sendgrid/lib/sendgrid.js"],"mtime":1405381827000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/lib/email.js","id":"sendgrid/lib/email.js","options":{},"isModule":true,"requiredModules":["sendgrid/lib/file_handler.js","smtpapi/lib/main.js","lodash/index.js","request/index.js","fs"],"mtime":1423005060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/lib/file_handler.js","id":"sendgrid/lib/file_handler.js","options":{},"isModule":true,"requiredModules":["http","mime/mime.js","lodash/index.js","url","fs"],"mtime":1405381827000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/lib/sendgrid.js","id":"sendgrid/lib/sendgrid.js","options":{},"isModule":true,"requiredModules":["/Users/james/dev/maxwell-edi/node_modules/sendgrid/package.json","lodash/index.js","request/index.js","smtpapi/lib/main.js","sendgrid/lib/email.js"],"mtime":1412868821000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/dist/lodash.compat.js","id":"lodash/dist/lodash.compat.js","options":{},"isModule":true,"mtime":1430076516000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/dist/lodash.compat.min.js","id":"lodash/dist/lodash.compat.min.js","options":{},"isModule":true,"mtime":1430076089000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/dist/lodash.js","id":"lodash/dist/lodash.js","options":{},"isModule":true,"mtime":1430076546000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/dist/lodash.min.js","id":"lodash/dist/lodash.min.js","options":{},"isModule":true,"mtime":1430076022000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/dist/lodash.underscore.js","id":"lodash/dist/lodash.underscore.js","options":{},"isModule":true,"mtime":1430076558000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/dist/lodash.underscore.min.js","id":"lodash/dist/lodash.underscore.min.js","options":{},"isModule":true,"mtime":1430076000000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/lodash.js","id":"lodash/lodash.js","options":{},"isModule":true,"mtime":1430076530000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/lodash/package.json","data":{"name":"lodash","version":"2.4.2","description":"A utility library delivering consistency, customization, performance, & extras.","homepage":"http://lodash.com/","license":"MIT","main":"dist/lodash.js","keywords":["amd","browser","client","customize","functional","server","util"],"author":{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},"contributors":[{"name":"John-David Dalton","email":"john.david.dalton@gmail.com","url":"http://allyoucanleet.com/"},{"name":"Blaine Bublitz","email":"blaine@iceddev.com","url":"http://www.iceddev.com/"},{"name":"Kit Cambridge","email":"github@kitcambridge.be","url":"http://kitcambridge.be/"},{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"http://mathiasbynens.be/"}],"bugs":{"url":"https://github.com/lodash/lodash/issues"},"repository":{"type":"git","url":"git+https://github.com/lodash/lodash.git"},"engines":["node","rhino"],"files":["LICENSE.txt","lodash.js","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"],"jam":{"main":"dist/lodash.compat.js","include":["LICENSE.txt","dist/lodash.js","dist/lodash.min.js","dist/lodash.compat.js","dist/lodash.compat.min.js","dist/lodash.underscore.js","dist/lodash.underscore.min.js"]},"volo":{"type":"directory","ignore":[".*","*.custom.*","*.min.*","*.template.*","*.map","*.md","lodash.js","index.js","bower.json","component.json","doc","modularize","node_modules","perf","test","vendor"]},"readme":"# Lo-Dash v2.4.2\nA utility library delivering consistency, [customization](https://lodash.com/custom-builds), [performance](https://lodash.com/benchmarks), & [extras](https://lodash.com/#features).\n\n## Download\n\nCheck out our [wiki]([https://github.com/lodash/lodash/wiki/build-differences]) for details over the differences between builds.\n\n* Modern builds perfect for newer browsers/environments:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.min.js)\n\n* Compatibility builds for older environment support too:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.compat.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.compat.min.js)\n\n* Underscore builds to use as a drop-in replacement:<br>\n[Development](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.underscore.js) &\n[Production](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.underscore.min.js)\n\nCDN copies are available on [cdnjs](http://cdnjs.com/libraries/lodash.js/) & [jsDelivr](http://www.jsdelivr.com/#!lodash). For smaller file sizes, create [custom builds](https://lodash.com/custom-builds) with only the features needed.\n\nLove modules? We’ve got you covered with [lodash-amd](https://npmjs.org/package/lodash-amd), [lodash-es6](https://github.com/lodash/lodash-es6), [lodash-node](https://npmjs.org/package/lodash-node), & [npm packages](https://npmjs.org/browse/keyword/lodash-modularized) per method.\n\n## Dive in\n\nThere’s plenty of **[documentation](https://lodash.com/docs)**, [unit tests](https://lodash.com/tests), & [benchmarks](https://lodash.com/benchmarks).<br>\nCheck out <a href=\"http://devdocs.io/lodash/\">DevDocs</a> as a fast, organized, & searchable interface for our documentation.\n\nThe full changelog for this release is available on our [wiki](https://github.com/lodash/lodash/wiki/Changelog).<br>\nA list of upcoming features is available on our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Installation & usage\n\nIn browsers:\n\n```html\n<script src=\"lodash.js\"></script>\n```\n\nUsing [`npm`](http://npmjs.org/):\n\n```bash\nnpm i --save lodash\n\n{sudo} npm i -g lodash\nnpm ln lodash\n```\n\nIn [Node.js](http://nodejs.org/) & [Ringo](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n// or as Underscore\nvar _ = require('lodash/dist/lodash.underscore');\n```\n\n**Notes:**\n * Don’t assign values to [special variable](http://nodejs.org/api/repl.html#repl_repl_features) `_` when in the REPL\n * If Lo-Dash is installed globally, run [`npm ln lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory *before* requiring it\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader:\n\n```js\nrequire({\n  'packages': [\n    { 'name': 'lodash', 'location': 'path/to/lodash', 'main': 'lodash' }\n  ]\n},\n['lodash'], function(_) {\n  console.log(_.VERSION);\n});\n```\n\n## Resources\n\n * Podcasts\n  - [JavaScript Jabber](http://javascriptjabber.com/079-jsj-lo-dash-with-john-david-dalton/)\n\n * Posts\n  - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/)\n  - [Custom builds in Lo-Dash 2.0](http://kitcambridge.be/blog/custom-builds-in-lo-dash-2-dot-0/)\n\n * Videos\n  - [Introduction](https://vimeo.com/44154599)\n  - [Origins](https://vimeo.com/44154600)\n  - [Optimizations & builds](https://vimeo.com/44154601)\n  - [Native method use](https://vimeo.com/48576012)\n  - [Testing](https://vimeo.com/45865290)\n  - [CascadiaJS ’12](http://www.youtube.com/watch?v=dpPy4f_SeEk)\n\n A list of other community created podcasts, posts, & videos is available on our [wiki](https://github.com/lodash/lodash/wiki/Resources).\n\n## Features\n\n * AMD loader support ([curl](https://github.com/cujojs/curl), [dojo](http://dojotoolkit.org/), [requirejs](http://requirejs.org/), etc.)\n * [_(…)](https://lodash.com/docs#_) supports intuitive chaining\n * [_.at](https://lodash.com/docs#at) for cherry-picking collection values\n * [_.bindKey](https://lodash.com/docs#bindKey) for binding [*“lazy”*](http://michaux.ca/articles/lazy-function-definition-pattern) defined methods\n * [_.clone](https://lodash.com/docs#clone) supports shallow cloning of `Date` & `RegExp` objects\n * [_.cloneDeep](https://lodash.com/docs#cloneDeep) for deep cloning arrays & objects\n * [_.constant](https://lodash.com/docs#constant) & [_.property](https://lodash.com/docs#property) function generators for composing functions\n * [_.contains](https://lodash.com/docs#contains) accepts a `fromIndex`\n * [_.create](https://lodash.com/docs#create) for easier object inheritance\n * [_.createCallback](https://lodash.com/docs#createCallback) for extending callbacks in methods & mixins\n * [_.curry](https://lodash.com/docs#curry) for creating [curried](http://hughfdjackson.com/javascript/2013/07/06/why-curry-helps/) functions\n * [_.debounce](https://lodash.com/docs#debounce) & [_.throttle](https://lodash.com/docs#throttle) accept additional `options` for more control\n * [_.findIndex](https://lodash.com/docs#findIndex) & [_.findKey](https://lodash.com/docs#findKey) for finding indexes & keys\n * [_.forEach](https://lodash.com/docs#forEach) is chainable & supports exiting early\n * [_.forIn](https://lodash.com/docs#forIn) for iterating own & inherited properties\n * [_.forOwn](https://lodash.com/docs#forOwn) for iterating own properties\n * [_.isPlainObject](https://lodash.com/docs#isPlainObject) for checking if values are created by `Object`\n * [_.mapValues](https://lodash.com/docs#mapValues) for [mapping](https://lodash.com/docs#map) values to an object\n * [_.memoize](https://lodash.com/docs#memoize) exposes the `cache` of memoized functions\n * [_.merge](https://lodash.com/docs#merge) for a deep [_.extend](https://lodash.com/docs#extend)\n * [_.noop](https://lodash.com/docs#noop) for function placeholders\n * [_.now](https://lodash.com/docs#now) as a cross-browser `Date.now` alternative\n * [_.parseInt](https://lodash.com/docs#parseInt) for consistent behavior\n * [_.pull](https://lodash.com/docs#pull) & [_.remove](https://lodash.com/docs#remove) for mutating arrays\n * [_.random](https://lodash.com/docs#random) supports returning floating-point numbers\n * [_.runInContext](https://lodash.com/docs#runInContext) for easier mocking\n * [_.sortBy](https://lodash.com/docs#sortBy) supports sorting by multiple properties\n * [_.support](https://lodash.com/docs#support) for flagging environment features\n * [_.template](https://lodash.com/docs#template) supports [*“imports”*](https://lodash.com/docs#templateSettings_imports) options & [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals)\n * [_.transform](https://lodash.com/docs#transform) as a powerful alternative to [_.reduce](https://lodash.com/docs#reduce) for transforming objects\n * [_.where](https://lodash.com/docs#where) supports deep object comparisons\n * [_.xor](https://lodash.com/docs#xor) as a companion to [_.difference](https://lodash.com/docs#difference), [_.intersection](https://lodash.com/docs#intersection), & [_.union](https://lodash.com/docs#union)\n * [_.zip](https://lodash.com/docs#zip) is capable of unzipping values\n * [_.omit](https://lodash.com/docs#omit), [_.pick](https://lodash.com/docs#pick), &\n   [more](https://lodash.com/docs \"_.assign, _.clone, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest\") accept callbacks\n * [_.contains](https://lodash.com/docs#contains), [_.toArray](https://lodash.com/docs#toArray), &\n   [more](https://lodash.com/docs \"_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.forEachRight, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.size, _.some, _.sortBy, _.where\") accept strings\n * [_.filter](https://lodash.com/docs#filter), [_.map](https://lodash.com/docs#map), &\n   [more](https://lodash.com/docs \"_.countBy, _.every, _.find, _.findKey, _.findLast, _.findLastIndex, _.findLastKey, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq\") support *“_.pluck”* & *“_.where”* shorthands\n * [_.findLast](https://lodash.com/docs#findLast), [_.findLastIndex](https://lodash.com/docs#findLastIndex), &\n   [more](https://lodash.com/docs \"_.findLastKey, _.forEachRight, _.forInRight, _.forOwnRight, _.partialRight\") right-associative methods\n\n## Support\n\nTested in Chrome 5~31, Firefox 2~25, IE 6-11, Opera 9.25-17, Safari 3-7, Node.js 0.6.21-0.10.22, Narwhal 0.3.2, PhantomJS 1.9.2, RingoJS 0.9, & Rhino 1.7RC5.\n","readmeFilename":"README.md","_id":"lodash@2.4.2","_shasum":"fadd834b9683073da179b3eae6d9c0d15053f73e","_from":"lodash@>=2.0.0 <3.0.0","_resolved":"https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz","scripts":{}},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/mime/build/build.js","id":"mime/build/build.js","options":{},"isModule":true,"requiredModules":["mime-db/index.js"],"mtime":1423164488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/mime/build/test.js","id":"mime/build/test.js","options":{},"isModule":true,"requiredModules":["mime/mime.js","assert","path"],"mtime":1423164488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/mime/cli.js","id":"mime/cli.js","options":{},"isModule":true,"requiredModules":["mime/mime.js"],"mtime":1423166570000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/mime/mime.js","id":"mime/mime.js","options":{},"isModule":true,"requiredModules":["path","fs","mime/types.json"],"mtime":1423164636000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/mime/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/mime/package.json","data":{"author":{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"},"scripts":{"prepublish":"node build/build.js > types.json","test":"node build/test.js"},"bin":{"mime":"cli.js"},"contributors":[{"name":"Benjamin Thomas","email":"benjamin@benjaminthomas.org","url":"http://github.com/bentomas"}],"description":"A comprehensive library for mime-type mapping","licenses":[{"type":"MIT","url":"https://raw.github.com/broofa/node-mime/master/LICENSE"}],"dependencies":{},"devDependencies":{"mime-db":"^1.2.0"},"keywords":["util","mime"],"main":"mime.js","name":"mime","repository":{"url":"git+https://github.com/broofa/node-mime.git","type":"git"},"version":"1.3.4","readme":"# mime\n\nComprehensive MIME type mapping API based on mime-db module.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n    npm install mime\n\n## Contributing / Testing\n\n    npm run test\n\n## Command Line\n\n    mime [path_string]\n\nE.g.\n\n    > mime scripts/jquery.js\n    application/javascript\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.\n\n```js\nvar mime = require('mime');\n\nmime.lookup('/path/to/file.txt');         // => 'text/plain'\nmime.lookup('file.txt');                  // => 'text/plain'\nmime.lookup('.TXT');                      // => 'text/plain'\nmime.lookup('htm');                       // => 'text/html'\n```\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n```js\nmime.extension('text/html');                 // => 'html'\nmime.extension('application/octet-stream');  // => 'bin'\n```\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n```js\nmime.charsets.lookup('text/plain');        // => 'UTF-8'\n```\n\n(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nCustom type mappings can be added on a per-project basis via the following APIs.\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n```js\nmime.define({\n    'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],\n    'application/x-my-type': ['x-mt', 'x-mtt'],\n    // etc ...\n});\n\nmime.lookup('x-sft');                 // => 'text/x-some-format'\n```\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n```js\nmime.extension('text/x-some-format'); // => 'x-sf'\n```\n\n### mime.load(filepath)\n\nLoad mappings from an Apache \".types\" format file\n\n```js\nmime.load('./my_project.types');\n```\nThe .types file format is simple -  See the `types` dir for examples.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/broofa/node-mime/issues"},"homepage":"https://github.com/broofa/node-mime","_id":"mime@1.3.4","_shasum":"115f9e3b6b3daf2959983cb38f149a2d40eb5d53","_from":"mime@>=1.2.9 <2.0.0","_resolved":"https://registry.npmjs.org/mime/-/mime-1.3.4.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/mime/types.json","id":"mime/types.json","options":{},"isModule":true,"mtime":1423267267000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/smtpapi/lib/main.js","id":"smtpapi/lib/main.js","options":{},"isModule":true,"requiredModules":["/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/smtpapi/package.json"],"mtime":1437340329000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/smtpapi/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/smtpapi/package.json","data":{"name":"smtpapi","version":"1.2.0","description":"Build SendGrid X-SMTPAPI headers in nodejs.","main":"lib/main.js","directories":{"test":"test"},"scripts":{"test":"mocha test/*.js"},"repository":{"type":"git","url":"git://github.com/sendgrid/smtpapi-nodejs.git"},"keywords":["smtpapi","x-smtpapi","smtp","sendgrid","headers","email"],"author":{"name":"scottmotte"},"license":"BSD","dependencies":{},"devDependencies":{"mocha":"","should":""},"contributors":[{"name":"Yamil Asusta","email":"yamil@sendgrid.com","url":"yamilasusta.com"},{"name":"Scott Motte","email":"scott@scottmotte.com","url":"scottmotte.com"}],"gitHead":"866604875fe6b3baef846ebee50342cc19aa990e","bugs":{"url":"https://github.com/sendgrid/smtpapi-nodejs/issues"},"homepage":"https://github.com/sendgrid/smtpapi-nodejs#readme","_id":"smtpapi@1.2.0","_shasum":"3508f0bcd57b09b224636b39538d5a5190f3bd07","_from":"smtpapi@>=1.1.0 <2.0.0","_npmVersion":"2.11.2","_nodeVersion":"0.12.6","_npmUser":{"name":"eddiezane","email":"eddiezane@gmail.com"},"maintainers":[{"name":"scottmotte","email":"scott@scottmotte.com"},{"name":"nquinlan","email":"nick@nicholasquinlan.com"},{"name":"elbuo8","email":"yamil.asusta@upr.edu"},{"name":"eddiezane","email":"eddiezane@gmail.com"},{"name":"motdotla","email":"mot@mot.la"}],"dist":{"shasum":"3508f0bcd57b09b224636b39538d5a5190f3bd07","tarball":"http://registry.npmjs.org/smtpapi/-/smtpapi-1.2.0.tgz"},"_resolved":"https://registry.npmjs.org/smtpapi/-/smtpapi-1.2.0.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/smtpapi/test/main.js","id":"smtpapi/test/main.js","options":{},"isModule":true,"requiredModules":["assert","should/lib/should.js","smtpapi/lib/main.js","smtpapi/test/smtpapi_test_strings.json"],"mtime":1437340346000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/node_modules/smtpapi/test/smtpapi_test_strings.json","id":"smtpapi/test/smtpapi_test_strings.json","options":{},"isModule":true,"mtime":1437340329000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/package.json","data":{"author":{"name":"SendGrid","email":"info@sendgrid.com","url":"sendgrid.com"},"contributors":[{"name":"Kyle Partridge","email":"kyle.partridge@sendgrid.com"},{"name":"David Tomberlin","email":"david.tomberlin@sendgrid.com"},{"name":"Swift","email":"swift@sendgrid.com"},{"name":"Brandon West","email":"brandon.west@sendgrid.com"},{"name":"Scott Motte","email":"scott.motte@sendgrid.com"},{"name":"Robert Acosta","email":"robert.acosta@sendgrid.com"}],"name":"sendgrid","description":"Official SendGrid NodeJS library.","version":"1.6.0","homepage":"http://sendgrid.com","repository":{"type":"git","url":"git://github.com/sendgrid/sendgrid-nodejs.git"},"engines":{"node":">= 0.4.7"},"dependencies":{"mime":"^1.2.9","request":"^2.40.0","lodash":"^2.0.0","smtpapi":"^1.1.0"},"devDependencies":{"dotenv":"0.0.2","mocha":">= 0.9.0","chai":">= 0.1.6","nock":"^0.16.0","sinon":"^1.6.0"},"scripts":{"test":"mocha --grep '#skip' --invert","skipped":"mocha --grep '#skip'"},"optionalDependencies":{},"gitHead":"76c97be0f77c732d882bf8d35c916880e6963368","bugs":{"url":"https://github.com/sendgrid/sendgrid-nodejs/issues"},"_id":"sendgrid@1.6.0","_shasum":"bcf4a09a06fbf6094c1eea5d1c11ad21b9ca152c","_from":"sendgrid@1.6.0","_npmVersion":"2.3.0","_nodeVersion":"0.10.35","_npmUser":{"name":"eddiezane","email":"eddiezane@gmail.com"},"maintainers":[{"name":"siyegen","email":"siyegen@gmail.com"},{"name":"partkyle","email":"partkyle@gmail.com"},{"name":"theycallmeswift","email":"theycallmeswift@gmail.com"},{"name":"scottmotte","email":"scott@scottmotte.com"},{"name":"nquinlan","email":"nick@nicholasquinlan.com"},{"name":"eddiezane","email":"eddiezane@gmail.com"},{"name":"elbuo8","email":"yamil.asusta@upr.edu"},{"name":"motdotla","email":"mot@mot.la"}],"dist":{"shasum":"bcf4a09a06fbf6094c1eea5d1c11ad21b9ca152c","tarball":"http://registry.npmjs.org/sendgrid/-/sendgrid-1.6.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/sendgrid/-/sendgrid-1.6.0.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/test/index.test.js","id":"sendgrid/test/index.test.js","options":{},"isModule":true,"requiredModules":["sendgrid/index.js"],"mtime":1405381827000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/test/integration/sendgrid.test.js","id":"sendgrid/test/integration/sendgrid.test.js","options":{},"isModule":true,"requiredModules":["dotenv","sendgrid/lib/sendgrid.js","sendgrid/lib/email.js"],"mtime":1423005060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/test/lib/email.test.js","id":"sendgrid/test/lib/email.test.js","options":{},"isModule":true,"requiredModules":["sendgrid/lib/email.js","fs"],"mtime":1423005060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/test/lib/file_handler.test.js","id":"sendgrid/test/lib/file_handler.test.js","options":{},"isModule":true,"requiredModules":["sendgrid/lib/file_handler.js"],"mtime":1405381827000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/test/lib/sendgrid.test.js","id":"sendgrid/test/lib/sendgrid.test.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon.js","nock/index.js","sendgrid/lib/sendgrid.js","https"],"mtime":1423005060000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid/test/test_helper.js","id":"sendgrid/test/test_helper.js","options":{},"isModule":true,"requiredModules":["dotenv","http","sendgrid/lib/sendgrid.js","chai/index.js"],"mtime":1405381827000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/lib/sendgrid.js","id":"sendgrid-web/lib/sendgrid.js","options":{},"isModule":true,"requiredModules":["url","request/index.js"],"mtime":1384284076000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/index.js","id":"request/index.js","options":{},"isModule":true,"requiredModules":["cookie-jar/index.js","request/lib/copy.js","request/request.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/lib/copy.js","id":"request/lib/copy.js","options":{},"isModule":true,"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/lib/debug.js","id":"request/lib/debug.js","options":{},"isModule":true,"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/lib/getSafe.js","id":"request/lib/getSafe.js","options":{},"isModule":true,"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/aws-sign/index.js","id":"aws-sign/index.js","options":{},"isModule":true,"requiredModules":["crypto","url"],"mtime":1362168282000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/aws-sign/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/aws-sign/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"aws-sign","description":"AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.","version":"0.3.0","repository":{"url":"https://github.com/mikeal/aws-sign"},"main":"index.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"aws-sign\n========\n\nAWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/aws-sign/issues"},"homepage":"https://github.com/mikeal/aws-sign","_id":"aws-sign@0.3.0","_from":"aws-sign@~0.3.0","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/cookie-jar/index.js","id":"cookie-jar/index.js","options":{},"isModule":true,"requiredModules":["url","cookie-jar/jar.js"],"mtime":1362167190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/cookie-jar/jar.js","id":"cookie-jar/jar.js","options":{},"isModule":true,"requiredModules":["url"],"mtime":1362166690000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/cookie-jar/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/cookie-jar/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"cookie-jar","description":"Cookie Jar. Originally pulled form tobi, maintained as vendor in request, now a standalone module.","version":"0.3.0","repository":{"url":"https://github.com/mikeal/cookie-jar"},"main":"index.js","scripts":{"test":"node tests/run.js"},"dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"cookie-jar\n==========\n\nCookie Jar. Originally pulled from LearnBoost/tobi, maintained as vendor in request, now a standalone module.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/cookie-jar/issues"},"homepage":"https://github.com/mikeal/cookie-jar","_id":"cookie-jar@0.3.0","_from":"cookie-jar@~0.3.0"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/cookie-jar/tests/run.js","id":"cookie-jar/tests/run.js","options":{},"isModule":true,"requiredModules":["child_process","fs"],"mtime":1362167131000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/cookie-jar/tests/test-cookie.js","id":"cookie-jar/tests/test-cookie.js","options":{},"isModule":true,"requiredModules":["cookie-jar/index.js","assert"],"mtime":1362167190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/cookie-jar/tests/test-cookiejar.js","id":"cookie-jar/tests/test-cookiejar.js","options":{},"isModule":true,"requiredModules":["cookie-jar/index.js","assert"],"mtime":1362167190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/forever-agent/index.js","id":"forever-agent/index.js","options":{},"isModule":true,"requiredModules":["util/util.js","http","net","tls","https"],"mtime":1391554449000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/forever-agent/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/forever-agent/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"forever-agent","description":"HTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.","version":"0.5.2","repository":{"url":"https://github.com/mikeal/forever-agent"},"main":"index.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"forever-agent\n=============\n\nHTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/forever-agent/issues"},"homepage":"https://github.com/mikeal/forever-agent","_id":"forever-agent@0.5.2","_from":"forever-agent@~0.5.0","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/lib/form_data.js","id":"form-data/lib/form_data.js","options":{},"isModule":true,"requiredModules":["combined-stream/lib/combined_stream.js","util/util.js","path","http","https","url","fs","mime/mime.js","async/lib/async.js"],"mtime":1403590719000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/async/component.json","id":"async/component.json","options":{},"isModule":true,"mtime":1396176151000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1400235603000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./lib/async","author":{"name":"Caolan McMahon"},"version":"0.9.0","repository":{"type":"git","url":"https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"https://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"]},"scripts":{"test":"nodeunit test/test-async.js"},"readme":"# Async.js\n\n[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async)\n\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [Node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns\nfor asynchronous control flow (`parallel`, `series`, `waterfall`…). All these\nfunctions assume you follow the Node.js convention of providing a single\ncallback as the last argument of your `async` function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n\nasync.parallel([\n    function(){ ... },\n    function(){ ... }\n], callback);\n\nasync.series([\n    function(){ ... },\n    function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about `bind`, not about `async`. If you are wondering how to\nmake `async` execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n  squareExponent: 2,\n  square: function(number, callback){ \n    var result = Math.pow(number, this.squareExponent);\n    setTimeout(function(){\n      callback(null, result);\n    }, 200);\n  }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n  // result is [NaN, NaN, NaN]\n  // This fails because the `this.squareExponent` expression in the square\n  // function is not evaluated in the context of AsyncSquaringLibrary, and is\n  // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n  // result is [1, 4, 9]\n  // With the help of bind we can attach a context to the iterator before\n  // passing it to async. Now the square function will be executed in its \n  // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n  // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (`npm`):\n\n    npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. \n\nUsage:\n\n```html\n<script type=\"text/javascript\" src=\"async.js\"></script>\n<script type=\"text/javascript\">\n\n    async.map(data, asyncProcess, function(err, results){\n        alert(results);\n    });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [`each`](#each)\n* [`eachSeries`](#eachSeries)\n* [`eachLimit`](#eachLimit)\n* [`map`](#map)\n* [`mapSeries`](#mapSeries)\n* [`mapLimit`](#mapLimit)\n* [`filter`](#filter)\n* [`filterSeries`](#filterSeries)\n* [`reject`](#reject)\n* [`rejectSeries`](#rejectSeries)\n* [`reduce`](#reduce)\n* [`reduceRight`](#reduceRight)\n* [`detect`](#detect)\n* [`detectSeries`](#detectSeries)\n* [`sortBy`](#sortBy)\n* [`some`](#some)\n* [`every`](#every)\n* [`concat`](#concat)\n* [`concatSeries`](#concatSeries)\n\n### Control Flow\n\n* [`series`](#seriestasks-callback)\n* [`parallel`](#parallel)\n* [`parallelLimit`](#parallellimittasks-limit-callback)\n* [`whilst`](#whilst)\n* [`doWhilst`](#doWhilst)\n* [`until`](#until)\n* [`doUntil`](#doUntil)\n* [`forever`](#forever)\n* [`waterfall`](#waterfall)\n* [`compose`](#compose)\n* [`seq`](#seq)\n* [`applyEach`](#applyEach)\n* [`applyEachSeries`](#applyEachSeries)\n* [`queue`](#queue)\n* [`priorityQueue`](#priorityQueue)\n* [`cargo`](#cargo)\n* [`auto`](#auto)\n* [`retry`](#retry)\n* [`iterator`](#iterator)\n* [`apply`](#apply)\n* [`nextTick`](#nextTick)\n* [`times`](#times)\n* [`timesSeries`](#timesSeries)\n\n### Utils\n\n* [`memoize`](#memoize)\n* [`unmemoize`](#unmemoize)\n* [`log`](#log)\n* [`dir`](#dir)\n* [`noConflict`](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n<a name=\"each\" />\n### each(arr, iterator, callback)\n\nApplies the function `iterator` to each item in `arr`, in parallel.\nThe `iterator` is called with an item from the list, and a callback for when it\nhas finished. If the `iterator` passes an error to its `callback`, the main\n`callback` (for the `each` function) is immediately called with the error.\n\nNote, that since this function applies `iterator` to each item in parallel,\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n  The iterator is passed a `callback(err)` which must be called once it has \n  completed. If no error has occured, the `callback` should be run without \n  arguments or with an explicit `null` argument.\n* `callback(err)` - A callback which is called when all `iterator` functions\n  have finished, or an error occurs.\n\n__Examples__\n\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n```js\n// assuming openFiles is an array of file names \n\nasync.each(openFiles, function( file, callback) {\n  \n  // Perform operation on file here.\n  console.log('Processing file ' + file);\n  \n  if( file.length > 32 ) {\n    console.log('This file name is too long');\n    callback('File name too long');\n  } else {\n    // Do work to process file here\n    console.log('File processed');\n    callback();\n  }\n}, function(err){\n    // if any of the file processing produced an error, err would equal that error\n    if( err ) {\n      // One of the iterations produced an error.\n      // All processing will now stop.\n      console.log('A file failed to process');\n    } else {\n      console.log('All files have been processed successfully');\n    }\n});\n```\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n<a name=\"eachSeries\" />\n### eachSeries(arr, iterator, callback)\n\nThe same as [`each`](#each), only `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThis means the `iterator` functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n<a name=\"eachLimit\" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as [`each`](#each), only no more than `limit` `iterator`s will be simultaneously \nrunning at any time.\n\nNote that the items in `arr` are not processed in batches, so there is no guarantee that \nthe first `limit` `iterator` functions will complete before any others are started.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `limit` - The maximum number of `iterator`s to run at any time.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n  The iterator is passed a `callback(err)` which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit `null` argument.\n* `callback(err)` - A callback which is called when all `iterator` functions\n  have finished, or an error occurs.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in `arr` through\nthe `iterator` function. The `iterator` is called with an item from `arr` and a\ncallback for when it has finished processing. Each of these callback takes 2 arguments: \nan `error`, and the transformed item from `arr`. If `iterator` passes an error to this \ncallback, the main `callback` (for the `map` function) is immediately called with the error.\n\nNote, that since this function applies the `iterator` to each item in parallel,\nthere is no guarantee that the `iterator` functions will complete in order. \nHowever, the results array will be in the same order as the original `arr`.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n  The iterator is passed a `callback(err, transformed)` which must be called once \n  it has completed with an error (which can be `null`) and a transformed item.\n* `callback(err, results)` - A callback which is called when all `iterator`\n  functions have finished, or an error occurs. Results is an array of the\n  transformed items from the `arr`.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as [`map`](#map), only the `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"mapLimit\" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as [`map`](#map), only no more than `limit` `iterator`s will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that \nthe first `limit` `iterator` functions will complete before any others are started.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `limit` - The maximum number of `iterator`s to run at any time.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n  The iterator is passed a `callback(err, transformed)` which must be called once \n  it has completed with an error (which can be `null`) and a transformed item.\n* `callback(err, results)` - A callback which is called when all `iterator`\n  calls have finished, or an error occurs. The result is an array of the\n  transformed items from the original `arr`.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"select\" />\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ `select`\n\nReturns a new array of all the values in `arr` which pass an async truth test.\n_The callback for each `iterator` call only accepts a single argument of `true` or\n`false`; it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like `fs.exists`. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A truth test to apply to each item in `arr`.\n  The `iterator` is passed a `callback(truthValue)`, which must be called with a \n  boolean argument once it has completed.\n* `callback(results)` - A callback which is called after all the `iterator`\n  functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name=\"selectSeries\" />\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__Alias:__ `selectSeries`\n\nThe same as [`filter`](#filter) only the `iterator` is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of [`filter`](#filter). Removes values that pass an `async` truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as [`reject`](#reject), only the `iterator` is applied to each item in `arr`\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__Aliases:__ `inject`, `foldl`\n\nReduces `arr` into a single value using an async `iterator` to return\neach successive step. `memo` is the initial state of the reduction. \nThis function only operates in series. \n\nFor performance reasons, it may make sense to split a call to this function into \na parallel map, and then use the normal `Array.prototype.reduce` on the results. \nThis function is for situations where each step in the reduction needs to be async; \nif you can get the data before reducing it, then it's probably a good idea to do so.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `memo` - The initial state of the reduction.\n* `iterator(memo, item, callback)` - A function applied to each item in the\n  array to produce the next step in the reduction. The `iterator` is passed a\n  `callback(err, reduction)` which accepts an optional error as its first \n  argument, and the state of the reduction as the second. If an error is \n  passed to the callback, the reduction is stopped and the main `callback` is \n  immediately called with the error.\n* `callback(err, result)` - A callback which is called after all the `iterator`\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n    // pointless async:\n    process.nextTick(function(){\n        callback(null, memo + item)\n    });\n}, function(err, result){\n    // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ `foldr`\n\nSame as [`reduce`](#reduce), only operates on `arr` in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in `arr` that passes an async truth test. The\n`iterator` is applied in parallel, meaning the first iterator to return `true` will\nfire the detect `callback` with that result. That means the result might not be\nthe first item in the original `arr` (in terms of order) that passes the test.\n\nIf order within the original `arr` is important, then look at [`detectSeries`](#detectSeries).\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A truth test to apply to each item in `arr`.\n  The iterator is passed a `callback(truthValue)` which must be called with a \n  boolean argument once it has completed.\n* `callback(result)` - A callback which is called as soon as any iterator returns\n  `true`, or after all the `iterator` functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value `undefined` if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n    // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as [`detect`](#detect), only the `iterator` is applied to each item in `arr`\nin series. This means the result is always the first in the original `arr` (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each `arr` value through an async `iterator`.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n  The iterator is passed a `callback(err, sortValue)` which must be called once it\n  has completed with an error (which can be `null`) and a value to use as the sort\n  criteria.\n* `callback(err, results)` - A callback which is called after all the `iterator`\n  functions have finished, or an error occurs. Results is the items from\n  the original `arr` sorted by the values returned by the `iterator` calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n    fs.stat(file, function(err, stats){\n        callback(err, stats.mtime);\n    });\n}, function(err, results){\n    // results is now the original array of files sorted by\n    // modified date\n});\n```\n\n__Sort Order__\n\nBy modifying the callback parameter the sorting order can be influenced:\n\n```js\n//ascending order\nasync.sortBy([1,9,3,5], function(x, callback){\n    callback(err, x);\n}, function(err,result){\n    //result callback\n} );\n\n//descending order\nasync.sortBy([1,9,3,5], function(x, callback){\n    callback(err, x*-1);    //<- x*-1 instead of x, turns the order around\n}, function(err,result){\n    //result callback\n} );\n```\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ `any`\n\nReturns `true` if at least one element in the `arr` satisfies an async test.\n_The callback for each iterator call only accepts a single argument of `true` or\n`false`; it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like `fs.exists`. Once any iterator\ncall returns `true`, the main `callback` is immediately called.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A truth test to apply to each item in the array\n  in parallel. The iterator is passed a callback(truthValue) which must be \n  called with a boolean argument once it has completed.\n* `callback(result)` - A callback which is called as soon as any iterator returns\n  `true`, or after all the iterator functions have finished. Result will be\n  either `true` or `false` depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ `all`\n\nReturns `true` if every element in `arr` satisfies an async test.\n_The callback for each `iterator` call only accepts a single argument of `true` or\n`false`; it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like `fs.exists`.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A truth test to apply to each item in the array\n  in parallel. The iterator is passed a callback(truthValue) which must be \n  called with a  boolean argument once it has completed.\n* `callback(result)` - A callback which is called after all the `iterator`\n  functions have finished. Result will be either `true` or `false` depending on\n  the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies `iterator` to each item in `arr`, concatenating the results. Returns the\nconcatenated list. The `iterator`s are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of `arr` passed to the `iterator` function.\n\n__Arguments__\n\n* `arr` - An array to iterate over.\n* `iterator(item, callback)` - A function to apply to each item in `arr`.\n  The iterator is passed a `callback(err, results)` which must be called once it \n  has completed with an error (which can be `null`) and an array of results.\n* `callback(err, results)` - A callback which is called after all the `iterator`\n  functions have finished, or an error occurs. Results is an array containing\n  the concatenated results of the `iterator` function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n    // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as [`concat`](#concat), but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun the functions in the `tasks` array in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run, and `callback` is immediately called with the value of the error. \nOtherwise, `callback` receives an array of results when `tasks` have completed.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function, and the results will be passed to the final `callback` as an object\ninstead of an array. This can be a more readable way of handling results from\n[`series`](#series).\n\n**Note** that while many implementations preserve the order of object properties, the\n[ECMAScript Language Specifcation](http://www.ecma-international.org/ecma-262/5.1/#sec-8.6) \nexplicitly states that\n\n> The mechanics and order of enumerating the properties is not specified.\n\nSo if you rely on the order in which your series of functions are executed, and want\nthis to work on all platforms, consider using an array. \n\n__Arguments__\n\n* `tasks` - An array or object containing functions to run, each function is passed\n  a `callback(err, result)` it must call on completion with an error `err` (which can\n  be `null`) and an optional `result` value.\n* `callback(err, results)` - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the `task` callbacks.\n\n__Example__\n\n```js\nasync.series([\n    function(callback){\n        // do some stuff ...\n        callback(null, 'one');\n    },\n    function(callback){\n        // do some more stuff ...\n        callback(null, 'two');\n    }\n],\n// optional callback\nfunction(err, results){\n    // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun the `tasks` array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main `callback` is immediately called with the value of the error.\nOnce the `tasks` have completed, the results are passed to the final `callback` as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final `callback` as an object\ninstead of an array. This can be a more readable way of handling results from\n[`parallel`](#parallel).\n\n\n__Arguments__\n\n* `tasks` - An array or object containing functions to run. Each function is passed \n  a `callback(err, result)` which it must call on completion with an error `err` \n  (which can be `null`) and an optional `result` value.\n* `callback(err, results)` - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'one');\n        }, 200);\n    },\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'two');\n        }, 100);\n    }\n],\n// optional callback\nfunction(err, results){\n    // the results array will equal ['one','two'] even though\n    // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallelLimit\" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as [`parallel`](#parallel), only `tasks` are executed in parallel \nwith a maximum of `limit` tasks executing at any time.\n\nNote that the `tasks` are not executed in batches, so there is no guarantee that \nthe first `limit` tasks will complete before any others are started.\n\n__Arguments__\n\n* `tasks` - An array or object containing functions to run, each function is passed \n  a `callback(err, result)` it must call on completion with an error `err` (which can\n  be `null`) and an optional `result` value.\n* `limit` - The maximum number of `tasks` to run at any time.\n* `callback(err, results)` - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the `task` callbacks.\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call `fn`, while `test` returns `true`. Calls `callback` when stopped,\nor an error occurs.\n\n__Arguments__\n\n* `test()` - synchronous truth test to perform before each execution of `fn`.\n* `fn(callback)` - A function which is called each time `test` passes. The function is\n  passed a `callback(err)`, which must be called once it has completed with an \n  optional `err` argument.\n* `callback(err)` - A callback which is called after the test fails and repeated\n  execution of `fn` has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n    function () { return count < 5; },\n    function (callback) {\n        count++;\n        setTimeout(callback, 1000);\n    },\n    function (err) {\n        // 5 seconds have passed\n    }\n);\n```\n\n---------------------------------------\n\n<a name=\"doWhilst\" />\n### doWhilst(fn, test, callback)\n\nThe post-check version of [`whilst`](#whilst). To reflect the difference in \nthe order of operations, the arguments `test` and `fn` are switched. \n\n`doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call `fn` until `test` returns `true`. Calls `callback` when stopped,\nor an error occurs.\n\nThe inverse of [`whilst`](#whilst).\n\n---------------------------------------\n\n<a name=\"doUntil\" />\n### doUntil(fn, test, callback)\n\nLike [`doWhilst`](#doWhilst), except the `test` is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name=\"forever\" />\n### forever(fn, errback)\n\nCalls the asynchronous function `fn` with a callback parameter that allows it to\ncall itself again, in series, indefinitely.\n\nIf an error is passed to the callback then `errback` is called with the\nerror, and execution stops, otherwise it will never be called.\n\n```js\nasync.forever(\n    function(next) {\n        // next is suitable for passing to things that need a callback(err [, whatever]);\n        // it will result in this function being called again.\n    },\n    function(err) {\n        // if next is called with a value in its first parameter, it will appear\n        // in here as 'err', and execution will stop.\n    }\n);\n```\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns the `tasks` array of functions in series, each passing their results to the next in\nthe array. However, if any of the `tasks` pass an error to their own callback, the\nnext function is not executed, and the main `callback` is immediately called with\nthe error.\n\n__Arguments__\n\n* `tasks` - An array of functions to run, each function is passed a \n  `callback(err, result1, result2, ...)` it must call on completion. The first\n  argument is an error (which can be `null`) and any further arguments will be \n  passed as arguments in order to the next task.\n* `callback(err, [results])` - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n    function(callback){\n        callback(null, 'one', 'two');\n    },\n    function(arg1, arg2, callback){\n      // arg1 now equals 'one' and arg2 now equals 'two'\n        callback(null, 'three');\n    },\n    function(arg1, callback){\n        // arg1 now equals 'three'\n        callback(null, 'done');\n    }\n], function (err, result) {\n   // result now equals 'done'    \n});\n```\n\n---------------------------------------\n<a name=\"compose\" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions `f()`, `g()`, and `h()` would produce the result of\n`f(g(h()))`, only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* `functions...` - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n    setTimeout(function () {\n        callback(null, n + 1);\n    }, 10);\n}\n\nfunction mul3(n, callback) {\n    setTimeout(function () {\n        callback(null, n * 3);\n    }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n   // result now equals 15\n});\n```\n\n---------------------------------------\n<a name=\"seq\" />\n### seq(fn1, fn2...)\n\nVersion of the compose function that is more natural to read.\nEach following function consumes the return value of the latter function. \n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\n// Requires lodash (or underscore), express3 and dresende's orm2.\n// Part of an app, that fetches cats of the logged user.\n// This example uses `seq` function to avoid overnesting and error \n// handling clutter.\napp.get('/cats', function(request, response) {\n  function handleError(err, data, callback) {\n    if (err) {\n      console.error(err);\n      response.json({ status: 'error', message: err.message });\n    }\n    else {\n      callback(data);\n    }\n  }\n  var User = request.models.User;\n  async.seq(\n    _.bind(User.get, User),  // 'User.get' has signature (id, callback(err, data))\n    handleError,\n    function(user, fn) {\n      user.getCats(fn);      // 'getCats' has signature (callback(err, data))\n    },\n    handleError,\n    function(cats) {\n      response.json({ status: 'ok', message: 'Cats found', data: cats });\n    }\n  )(req.session.user_id);\n  }\n});\n```\n\n---------------------------------------\n<a name=\"applyEach\" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling \n`callback` after all functions have completed. If you only provide the first\nargument, then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* `fns` - the asynchronous functions to all call with the same arguments\n* `args...` - any number of separate arguments to pass to the function\n* `callback` - the final argument should be the callback, called when all\n  functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n    buckets,\n    async.applyEach([enableSearch, updateSchema]),\n    callback\n);\n```\n\n---------------------------------------\n\n<a name=\"applyEachSeries\" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as [`applyEach`](#applyEach) only the functions are applied in series.\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a `queue` object with the specified `concurrency`. Tasks added to the\n`queue` are processed in parallel (up to the `concurrency` limit). If all\n`worker`s are in progress, the task is queued until one becomes available. \nOnce a `worker` completes a `task`, that `task`'s callback is called.\n\n__Arguments__\n\n* `worker(task, callback)` - An asynchronous function for processing a queued\n  task, which must call its `callback(err)` argument when finished, with an \n  optional `error` as an argument.\n* `concurrency` - An `integer` for determining how many `worker` functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe `queue` object returned by this function has the following properties and\nmethods:\n\n* `length()` - a function returning the number of items waiting to be processed.\n* `started` - a function returning whether or not any items have been pushed and processed by the queue\n* `running()` - a function returning the number of items currently being processed.\n* `idle()` - a function returning false if there are items waiting or being processed, or true if not.\n* `concurrency` - an integer for determining how many `worker` functions should be\n  run in parallel. This property can be changed after a `queue` is created to\n  alter the concurrency on-the-fly.\n* `push(task, [callback])` - add a new task to the `queue`. Calls `callback` once \n  the `worker` has finished processing the task. Instead of a single task, a `tasks` array\n  can be submitted. The respective callback is used for every task in the list.\n* `unshift(task, [callback])` - add a new task to the front of the `queue`.\n* `saturated` - a callback that is called when the `queue` length hits the `concurrency` limit, \n   and further tasks will be queued.\n* `empty` - a callback that is called when the last item from the `queue` is given to a `worker`.\n* `drain` - a callback that is called when the last item from the `queue` has returned from the `worker`.\n* `paused` - a boolean for determining whether the queue is in a paused state\n* `pause()` - a function that pauses the processing of tasks until `resume()` is called.\n* `resume()` - a function that resumes the processing of queued tasks when the queue is paused.\n* `kill()` - a function that empties remaining tasks from the queue forcing it to go idle.\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n    console.log('hello ' + task.name);\n    callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n    console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n```\n\n\n---------------------------------------\n\n<a name=\"priorityQueue\" />\n### priorityQueue(worker, concurrency)\n\nThe same as [`queue`](#queue) only tasks are assigned a priority and completed in ascending priority order. There are two differences between `queue` and `priorityQueue` objects:\n\n* `push(task, priority, [callback])` - `priority` should be a number. If an array of\n  `tasks` is given, all tasks will be assigned the same priority.\n* The `unshift` method was removed.\n\n---------------------------------------\n\n<a name=\"cargo\" />\n### cargo(worker, [payload])\n\nCreates a `cargo` object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the `payload` limit). If the\n`worker` is in progress, the task is queued until it becomes available. Once\nthe `worker` has completed some tasks, each callback of those tasks is called.\nCheck out [this animation](https://camo.githubusercontent.com/6bbd36f4cf5b35a0f11a96dcd2e97711ffc2fb37/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f313637363837312f36383130382f62626330636662302d356632392d313165322d393734662d3333393763363464633835382e676966) for how `cargo` and `queue` work.\n\nWhile [queue](#queue) passes only one task to one of a group of workers\nat a time, cargo passes an array of tasks to a single worker, repeating\nwhen the worker is finished.\n\n__Arguments__\n\n* `worker(tasks, callback)` - An asynchronous function for processing an array of\n  queued tasks, which must call its `callback(err)` argument when finished, with \n  an optional `err` argument.\n* `payload` - An optional `integer` for determining how many tasks should be\n  processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe `cargo` object returned by this function has the following properties and\nmethods:\n\n* `length()` - A function returning the number of items waiting to be processed.\n* `payload` - An `integer` for determining how many tasks should be\n  process per round. This property can be changed after a `cargo` is created to\n  alter the payload on-the-fly.\n* `push(task, [callback])` - Adds `task` to the `queue`. The callback is called\n  once the `worker` has finished processing the task. Instead of a single task, an array of `tasks` \n  can be submitted. The respective callback is used for every task in the list.\n* `saturated` - A callback that is called when the `queue.length()` hits the concurrency and further tasks will be queued.\n* `empty` - A callback that is called when the last item from the `queue` is given to a `worker`.\n* `drain` - A callback that is called when the last item from the `queue` has returned from the `worker`.\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n    for(var i=0; i<tasks.length; i++){\n      console.log('hello ' + tasks[i].name);\n    }\n    callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\ncargo.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\ncargo.push({name: 'baz'}, function (err) {\n    console.log('finished processing baz');\n});\n```\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running the functions in `tasks`, based on their \nrequirements. Each function can optionally depend on other functions being completed \nfirst, and each function is run as soon as its requirements are satisfied. \n\nIf any of the functions pass an error to their callback, it will not \ncomplete (so any other functions depending on it will not run), and the main \n`callback` is immediately called with the error. Functions also receive an \nobject containing the results of functions which have completed so far.\n\nNote, all functions are called with a `results` object as a second argument, \nso it is unsafe to pass functions in the `tasks` object which cannot handle the\nextra argument. \n\nFor example, this snippet of code:\n\n```js\nasync.auto({\n  readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling `readFile` with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to `readFile` in a function which does not forward the \n`results` object:\n\n```js\nasync.auto({\n  readData: function(cb, results){\n    fs.readFile('data.txt', 'utf-8', cb);\n  }\n}, callback);\n```\n\n__Arguments__\n\n* `tasks` - An object. Each of its properties is either a function or an array of\n  requirements, with the function itself the last item in the array. The object's key\n  of a property serves as the name of the task defined by that property,\n  i.e. can be used when specifying requirements for other tasks.\n  The function receives two arguments: (1) a `callback(err, result)` which must be \n  called when finished, passing an `error` (which can be `null`) and the result of \n  the function's execution, and (2) a `results` object, containing the results of\n  the previously executed functions.\n* `callback(err, results)` - An optional callback which is called when all the\n  tasks have been completed. It receives the `err` argument if any `tasks` \n  pass an error to their callback. Results are always returned; however, if \n  an error occurs, no further `tasks` will be performed, and the results\n  object will only contain partial results.\n\n\n__Example__\n\n```js\nasync.auto({\n    get_data: function(callback){\n        console.log('in get_data');\n        // async code to get some data\n        callback(null, 'data', 'converted to array');\n    },\n    make_folder: function(callback){\n        console.log('in make_folder');\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n        callback(null, 'folder');\n    },\n    write_file: ['get_data', 'make_folder', function(callback, results){\n        console.log('in write_file', JSON.stringify(results));\n        // once there is some data and the directory exists,\n        // write the data to a file in the directory\n        callback(null, 'filename');\n    }],\n    email_link: ['write_file', function(callback, results){\n        console.log('in email_link', JSON.stringify(results));\n        // once the file is written let's email a link to it...\n        // results.write_file contains the filename returned by write_file.\n        callback(null, {'file':results.write_file, 'email':'user@example.com'});\n    }]\n}, function(err, results) {\n    console.log('err = ', err);\n    console.log('results = ', results);\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n    function(callback){\n        console.log('in get_data');\n        // async code to get some data\n        callback(null, 'data', 'converted to array');\n    },\n    function(callback){\n        console.log('in make_folder');\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n        callback(null, 'folder');\n    }\n],\nfunction(err, results){\n    async.series([\n        function(callback){\n            console.log('in write_file', JSON.stringify(results));\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n            results.push('filename');\n            callback(null);\n        },\n        function(callback){\n            console.log('in email_link', JSON.stringify(results));\n            // once the file is written let's email a link to it...\n            callback(null, {'file':results.pop(), 'email':'user@example.com'});\n        }\n    ]);\n});\n```\n\nFor a complicated series of `async` tasks, using the [`auto`](#auto) function makes adding\nnew tasks much easier (and the code more readable).\n\n\n---------------------------------------\n\n<a name=\"retry\" />\n### retry([times = 5], task, [callback])\n\nAttempts to get a successful response from `task` no more than `times` times before\nreturning an error. If the task is successful, the `callback` will be passed the result\nof the successfull task. If all attemps fail, the callback will be passed the error and\nresult (if any) of the final attempt.\n\n__Arguments__\n\n* `times` - An integer indicating how many times to attempt the `task` before giving up. Defaults to 5.\n* `task(callback, results)` - A function which receives two arguments: (1) a `callback(err, result)`\n  which must be called when finished, passing `err` (which can be `null`) and the `result` of \n  the function's execution, and (2) a `results` object, containing the results of\n  the previously executed functions (if nested inside another control flow).\n* `callback(err, results)` - An optional callback which is called when the\n  task has succeeded, or after the final failed attempt. It receives the `err` and `result` arguments of the last attempt at completing the `task`.\n\nThe [`retry`](#retry) function can be used as a stand-alone control flow by passing a\ncallback, as shown below:\n\n```js\nasync.retry(3, apiMethod, function(err, result) {\n    // do something with the result\n});\n```\n\nIt can also be embeded within other control flow functions to retry individual methods\nthat are not as reliable, like this:\n\n```js\nasync.auto({\n    users: api.getUsers.bind(api),\n    payments: async.retry(3, api.getPayments.bind(api))\n}, function(err, results) {\n  // do something with the results\n});\n```\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the `tasks` array,\nreturning a continuation to call the next one after that. It's also possible to\n“peek” at the next iterator with `iterator.next()`.\n\nThis function is used internally by the `async` module, but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* `tasks` - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n    function(){ sys.p('one'); },\n    function(){ sys.p('two'); },\n    function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied. \n\nUseful as a shorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* `function` - The function you want to eventually apply all arguments to.\n* `arguments...` - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n    async.apply(fs.writeFile, 'testfile1', 'test1'),\n    async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n    function(callback){\n        fs.writeFile('testfile1', 'test1', callback);\n    },\n    function(callback){\n        fs.writeFile('testfile2', 'test2', callback);\n    }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls `callback` on a later loop around the event loop. In Node.js this just\ncalls `process.nextTick`; in the browser it falls back to `setImmediate(callback)`\nif available, otherwise `setTimeout(callback, 0)`, which means other higher priority\nevents may precede the execution of `callback`.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* `callback` - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n    call_order.push('two');\n    // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n<a name=\"times\" />\n### times(n, callback)\n\nCalls the `callback` function `n` times, and accumulates results in the same manner\nyou would use with [`map`](#map).\n\n__Arguments__\n\n* `n` - The number of times to run the function.\n* `callback` - The function to call `n` times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n  callback(null, {\n    id: 'user' + id\n  })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n    createUser(n, function(err, user) {\n      next(err, user)\n    })\n}, function(err, users) {\n  // we should now have 5 users\n});\n```\n\n<a name=\"timesSeries\" />\n### timesSeries(n, callback)\n\nThe same as [`times`](#times), only the iterator is applied to each item in `arr` in\nseries. The next `iterator` is only called once the current one has completed. \nThe results array will be in the same order as the original.\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an `async` function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* `fn` - The function to proxy and cache results from.\n* `hasher` - Tn optional function for generating a custom hash for storing\n  results. It has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n    // do something\n    callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n    // callback\n});\n```\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a [`memoize`](#memoize)d function, reverting it to the original, unmemoized\nform. Handy for testing.\n\n__Arguments__\n\n* `fn` - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an `async` function to the `console`. Only works in Node.js or\nin browsers that support `console.log` and `console.error` (such as FF and Chrome).\nIf multiple arguments are returned from the async function, `console.log` is\ncalled on each argument in order.\n\n__Arguments__\n\n* `function` - The function you want to eventually apply all arguments to.\n* `arguments...` - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, 'hello ' + name);\n    }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an `async` function to the `console` using `console.dir` to\ndisplay the properties of the resulting object. Only works in Node.js or\nin browsers that support `console.dir` and `console.error` (such as FF and Chrome).\nIf multiple arguments are returned from the async function, `console.dir` is\ncalled on each argument in order.\n\n__Arguments__\n\n* `function` - The function you want to eventually apply all arguments to.\n* `arguments...` - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, {hello: name});\n    }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of `async` back to its original value, returning a reference to the\n`async` object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.9.0","_from":"async@~0.9.0"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js","id":"combined-stream/lib/combined_stream.js","options":{},"isModule":true,"requiredModules":["util/util.js","stream","delayed-stream/lib/delayed_stream.js"],"mtime":1414750567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js","id":"delayed-stream/lib/delayed_stream.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js"],"mtime":1306224584000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"delayed-stream","description":"Buffers events from a stream until you are ready to handle them.","version":"0.0.5","homepage":"https://github.com/felixge/node-delayed-stream","repository":{"type":"git","url":"git://github.com/felixge/node-delayed-stream.git"},"main":"./lib/delayed_stream","engines":{"node":">=0.4.0"},"dependencies":{},"devDependencies":{"fake":"0.2.0","far":"0.0.1"},"readme":"# delayed-stream\n\nBuffers events from a stream until you are ready to handle them.\n\n## Installation\n\n``` bash\nnpm install delayed-stream\n```\n\n## Usage\n\nThe following example shows how to write a http echo server that delays its\nresponse by 1000 ms.\n\n``` javascript\nvar DelayedStream = require('delayed-stream');\nvar http = require('http');\n\nhttp.createServer(function(req, res) {\n  var delayed = DelayedStream.create(req);\n\n  setTimeout(function() {\n    res.writeHead(200);\n    delayed.pipe(res);\n  }, 1000);\n});\n```\n\nIf you are not using `Stream#pipe`, you can also manually release the buffered\nevents by calling `delayedStream.resume()`:\n\n``` javascript\nvar delayed = DelayedStream.create(req);\n\nsetTimeout(function() {\n  // Emit all buffered events and resume underlaying source\n  delayed.resume();\n}, 1000);\n```\n\n## Implementation\n\nIn order to use this meta stream properly, here are a few things you should\nknow about the implementation.\n\n### Event Buffering / Proxying\n\nAll events of the `source` stream are hijacked by overwriting the `source.emit`\nmethod. Until node implements a catch-all event listener, this is the only way.\n\nHowever, delayed-stream still continues to emit all events it captures on the\n`source`, regardless of whether you have released the delayed stream yet or\nnot.\n\nUpon creation, delayed-stream captures all `source` events and stores them in\nan internal event buffer. Once `delayedStream.release()` is called, all\nbuffered events are emitted on the `delayedStream`, and the event buffer is\ncleared. After that, delayed-stream merely acts as a proxy for the underlaying\nsource.\n\n### Error handling\n\nError events on `source` are buffered / proxied just like any other events.\nHowever, `delayedStream.create` attaches a no-op `'error'` listener to the\n`source`. This way you only have to handle errors on the `delayedStream`\nobject, rather than in two places.\n\n### Buffer limits\n\ndelayed-stream provides a `maxDataSize` property that can be used to limit\nthe amount of data being buffered. In order to protect you from bad `source`\nstreams that don't react to `source.pause()`, this feature is enabled by\ndefault.\n\n## API\n\n### DelayedStream.create(source, [options])\n\nReturns a new `delayedStream`. Available options are:\n\n* `pauseStream`\n* `maxDataSize`\n\nThe description for those properties can be found below.\n\n### delayedStream.source\n\nThe `source` stream managed by this object. This is useful if you are\npassing your `delayedStream` around, and you still want to access properties\non the `source` object.\n\n### delayedStream.pauseStream = true\n\nWhether to pause the underlaying `source` when calling\n`DelayedStream.create()`. Modifying this property afterwards has no effect.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature. You can also modify this property during runtime.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature.\n\n### delayedStream.dataSize = 0\n\nThe amount of data buffered so far.\n\n### delayedStream.readable\n\nAn ECMA5 getter that returns the value of `source.readable`.\n\n### delayedStream.resume()\n\nIf the `delayedStream` has not been released so far, `delayedStream.release()`\nis called.\n\nIn either case, `source.resume()` is called.\n\n### delayedStream.pause()\n\nCalls `source.pause()`.\n\n### delayedStream.pipe(dest)\n\nCalls `delayedStream.resume()` and then proxies the arguments to `source.pipe`.\n\n### delayedStream.release()\n\nEmits and clears all events that have been buffered up so far. This does not\nresume the underlaying source, use `delayedStream.resume()` instead.\n\n## License\n\ndelayed-stream is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-delayed-stream/issues"},"_id":"delayed-stream@0.0.5","_shasum":"d4b1f43a93e8296dfe02694f4680bc37a313c73f","_from":"delayed-stream@0.0.5","_resolved":"https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js","id":"delayed-stream/test/common.js","options":{},"isModule":true,"requiredModules":["delayed-stream/lib/delayed_stream.js","assert","fake"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js","id":"delayed-stream/test/integration/test-delayed-http-upload.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","http"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js","id":"delayed-stream/test/integration/test-delayed-stream-auto-pause.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js","id":"delayed-stream/test/integration/test-delayed-stream-pause.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js","id":"delayed-stream/test/integration/test-delayed-stream.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js","id":"delayed-stream/test/integration/test-handle-source-errors.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js","id":"delayed-stream/test/integration/test-max-data-size.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js","id":"delayed-stream/test/integration/test-pipe-resumes.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js","id":"delayed-stream/test/integration/test-proxy-readable.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js","id":"delayed-stream/test/run.js","options":{},"isModule":true,"requiredModules":["far"],"mtime":1306224584000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"combined-stream","description":"A stream that emits multiple other streams one after another.","version":"0.0.7","homepage":"https://github.com/felixge/node-combined-stream","repository":{"type":"git","url":"git://github.com/felixge/node-combined-stream.git"},"main":"./lib/combined_stream","scripts":{"test":"node test/run.js"},"engines":{"node":">= 0.8"},"dependencies":{"delayed-stream":"0.0.5"},"devDependencies":{"far":"~0.0.7"},"readme":"# combined-stream [![Build Status](https://travis-ci.org/felixge/node-combined-stream.svg?branch=master)](https://travis-ci.org/felixge/node-combined-stream)\n\nA stream that emits multiple other streams one after another.\n\n## Installation\n\n``` bash\nnpm install combined-stream\n```\n\n## Usage\n\nHere is a simple example that shows how you can use combined-stream to combine\ntwo files into one:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(fs.createReadStream('file1.txt'));\ncombinedStream.append(fs.createReadStream('file2.txt'));\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\nWhile the example above works great, it will pause all source streams until\nthey are needed. If you don't want that to happen, you can set `pauseStreams`\nto `false`:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create({pauseStreams: false});\ncombinedStream.append(fs.createReadStream('file1.txt'));\ncombinedStream.append(fs.createReadStream('file2.txt'));\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\nHowever, what if you don't have all the source streams yet, or you don't want\nto allocate the resources (file descriptors, memory, etc.) for them right away?\nWell, in that case you can simply provide a callback that supplies the stream\nby calling a `next()` function:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(function(next) {\n  next(fs.createReadStream('file1.txt'));\n});\ncombinedStream.append(function(next) {\n  next(fs.createReadStream('file2.txt'));\n});\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\n## API\n\n### CombinedStream.create([options])\n\nReturns a new combined stream object. Available options are:\n\n* `maxDataSize`\n* `pauseStreams`\n\nThe effect of those options is described below.\n\n### combinedStream.pauseStreams = `true`\n\nWhether to apply back pressure to the underlaying streams. If set to `false`,\nthe underlaying streams will never be paused. If set to `true`, the\nunderlaying streams will be paused right after being appended, as well as when\n`delayedStream.pipe()` wants to throttle.\n\n### combinedStream.maxDataSize = `2 * 1024 * 1024`\n\nThe maximum amount of bytes (or characters) to buffer for all source streams.\nIf this value is exceeded, `combinedStream` emits an `'error'` event.\n\n### combinedStream.dataSize = `0`\n\nThe amount of bytes (or characters) currently buffered by `combinedStream`.\n\n### combinedStream.append(stream)\n\nAppends the given `stream` to the combinedStream object. If `pauseStreams` is\nset to `true, this stream will also be paused right away.\n\n`streams` can also be a function that takes one parameter called `next`. `next`\nis a function that must be invoked in order to provide the `next` stream, see\nexample above.\n\nRegardless of how the `stream` is appended, combined-stream always attaches an\n`'error'` listener to it, so you don't have to do that manually.\n\nSpecial case: `stream` can also be a String or Buffer.\n\n### combinedStream.write(data)\n\nYou should not call this, `combinedStream` takes care of piping the appended\nstreams into itself for you.\n\n### combinedStream.resume()\n\nCauses `combinedStream` to start drain the streams it manages. The function is\nidempotent, and also emits a `'resume'` event each time which usually goes to\nthe stream that is currently being drained.\n\n### combinedStream.pause();\n\nIf `combinedStream.pauseStreams` is set to `false`, this does nothing.\nOtherwise a `'pause'` event is emitted, this goes to the stream that is\ncurrently being drained, so you can use it to apply back pressure.\n\n### combinedStream.end();\n\nSets `combinedStream.writable` to false, emits an `'end'` event, and removes\nall streams from the queue.\n\n### combinedStream.destroy();\n\nSame as `combinedStream.end()`, except it emits a `'close'` event instead of\n`'end'`.\n\n## License\n\ncombined-stream is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-combined-stream/issues"},"_id":"combined-stream@0.0.7","_shasum":"0137e657baa5a7541c57ac37ac5fc07d73b4dc1f","_from":"combined-stream@~0.0.4","_resolved":"https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz"},"mtime":1415897191000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/form-data/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"form-data","description":"A module to create readable \"multipart/form-data\" streams.  Can be used to submit forms and file uploads to other web applications.","version":"0.1.4","repository":{"type":"git","url":"git://github.com/felixge/node-form-data.git"},"main":"./lib/form_data","scripts":{"test":"node test/run.js"},"engines":{"node":">= 0.8"},"dependencies":{"combined-stream":"~0.0.4","mime":"~1.2.11","async":"~0.9.0"},"licenses":[{"type":"MIT","url":"https://raw.github.com/felixge/node-form-data/master/License"}],"devDependencies":{"fake":"~0.2.2","far":"~0.0.7","formidable":"~1.0.14","request":"~2.36.0"},"readme":"# Form-Data [![Build Status](https://travis-ci.org/felixge/node-form-data.png?branch=master)](https://travis-ci.org/felixge/node-form-data) [![Dependency Status](https://gemnasium.com/felixge/node-form-data.png)](https://gemnasium.com/felixge/node-form-data)\n\nA module to create readable ```\"multipart/form-data\"``` streams. Can be used to submit forms and file uploads to other web applications.\n\nThe API of this module is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd].\n\n[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface\n[streams2-thing]: http://nodejs.org/api/stream.html#stream_compatibility_with_older_node_versions\n\n## Install\n\n```\nnpm install form-data\n```\n\n## Usage\n\nIn this example we are constructing a form with 3 fields that contain a string,\na buffer and a file stream.\n\n``` javascript\nvar FormData = require('form-data');\nvar fs = require('fs');\n\nvar form = new FormData();\nform.append('my_field', 'my value');\nform.append('my_buffer', new Buffer(10));\nform.append('my_file', fs.createReadStream('/foo/bar.jpg'));\n```\n\nAlso you can use http-response stream:\n\n``` javascript\nvar FormData = require('form-data');\nvar http = require('http');\n\nvar form = new FormData();\n\nhttp.request('http://nodejs.org/images/logo.png', function(response) {\n  form.append('my_field', 'my value');\n  form.append('my_buffer', new Buffer(10));\n  form.append('my_logo', response);\n});\n```\n\nOr @mikeal's request stream:\n\n``` javascript\nvar FormData = require('form-data');\nvar request = require('request');\n\nvar form = new FormData();\n\nform.append('my_field', 'my value');\nform.append('my_buffer', new Buffer(10));\nform.append('my_logo', request('http://nodejs.org/images/logo.png'));\n```\n\nIn order to submit this form to a web application, call ```submit(url, [callback])``` method:\n\n``` javascript\nform.submit('http://example.org/', function(err, res) {\n  // res – response object (http.IncomingMessage)  //\n  res.resume(); // for node-0.10.x\n});\n\n```\n\nFor more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods.\n\n### Alternative submission methods\n\nYou can use node's http client interface:\n\n``` javascript\nvar http = require('http');\n\nvar request = http.request({\n  method: 'post',\n  host: 'example.org',\n  path: '/upload',\n  headers: form.getHeaders()\n});\n\nform.pipe(request);\n\nrequest.on('response', function(res) {\n  console.log(res.statusCode);\n});\n```\n\nOr if you would prefer the `'Content-Length'` header to be set for you:\n\n``` javascript\nform.submit('example.org/upload', function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\nTo use custom headers and pre-known length in parts:\n\n``` javascript\nvar CRLF = '\\r\\n';\nvar form = new FormData();\n\nvar options = {\n  header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF,\n  knownLength: 1\n};\n\nform.append('my_buffer', buffer, options);\n\nform.submit('http://example.com/', function(err, res) {\n  if (err) throw err;\n  console.log('Done');\n});\n```\n\nForm-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal's request```), for some other types of streams you'd need to provide \"file\"-related information manually:\n\n``` javascript\nsomeModule.stream(function(err, stdout, stderr) {\n  if (err) throw err;\n\n  var form = new FormData();\n\n  form.append('file', stdout, {\n    filename: 'unicycle.jpg',\n    contentType: 'image/jpg',\n    knownLength: 19806\n  });\n\n  form.submit('http://example.com/', function(err, res) {\n    if (err) throw err;\n    console.log('Done');\n  });\n});\n```\n\nFor edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter:\n\n``` javascript\nform.submit({\n  host: 'example.com',\n  path: '/probably.php?extra=params',\n  auth: 'username:password'\n}, function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\nIn case you need to also send custom HTTP headers with the POST request, you can use the `headers` key in first parameter of `form.submit()`:\n\n``` javascript\nform.submit({\n  host: 'example.com',\n  path: '/surelynot.php',\n  headers: {'x-test-header': 'test-header-value'}\n}, function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\n## Notes\n\n- ```getLengthSync()``` method DOESN'T calculate length for streams, use ```knownLength``` options as workaround.\n- If it feels like FormData hangs after submit and you're on ```node-0.10```, please check [Compatibility with Older Node Versions][streams2-thing]\n\n## TODO\n\n- Add new streams (0.10) support and try really hard not to break it for 0.8.x.\n\n## License\n\nForm-Data is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-form-data/issues"},"homepage":"https://github.com/felixge/node-form-data","_id":"form-data@0.1.4","_shasum":"91abd788aba9702b1aabfa8bc01031a2ac9e3b12","_from":"form-data@~0.1.0","_resolved":"https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/example/usage.js","id":"hawk/example/usage.js","options":{},"isModule":true,"requiredModules":["http","request/index.js","hawk/lib/index.js"],"mtime":1369143922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/index.js","id":"hawk/index.js","options":{},"isModule":true,"requiredModules":["hawk/lib/index.js"],"mtime":1369143922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/lib/browser.js","id":"hawk/lib/browser.js","options":{},"isModule":true,"mtime":1369231558000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/lib/client.js","id":"hawk/lib/client.js","options":{},"isModule":true,"requiredModules":["url","hoek/index.js","cryptiles/index.js","hawk/lib/crypto.js","hawk/lib/utils.js"],"mtime":1369231558000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/lib/crypto.js","id":"hawk/lib/crypto.js","options":{},"isModule":true,"requiredModules":["crypto","url","hawk/lib/utils.js"],"mtime":1369196242000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/lib/index.js","id":"hawk/lib/index.js","options":{},"isModule":true,"requiredModules":["boom/lib/index.js","sntp/index.js","hawk/lib/server.js","hawk/lib/client.js","hawk/lib/crypto.js","hawk/lib/utils.js"],"mtime":1369143922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/lib/server.js","id":"hawk/lib/server.js","options":{},"isModule":true,"requiredModules":["boom/lib/index.js","hoek/index.js","cryptiles/index.js","hawk/lib/crypto.js","hawk/lib/utils.js"],"mtime":1372542021000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/lib/utils.js","id":"hawk/lib/utils.js","options":{},"isModule":true,"requiredModules":["hoek/index.js","sntp/index.js","boom/lib/index.js"],"mtime":1372547261000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/boom/index.js","id":"boom/index.js","options":{},"isModule":true,"requiredModules":["boom/lib/index.js"],"mtime":1365488312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js","id":"boom/lib/index.js","options":{},"isModule":true,"requiredModules":["http","util/util.js","hoek/index.js"],"mtime":1369144077000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/boom/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/boom/package.json","data":{"name":"boom","description":"HTTP-friendly error objects","version":"0.4.2","author":{"name":"Eran Hammer","email":"eran@hueniverse.com","url":"http://hueniverse.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/spumko/boom"},"main":"index","keywords":["error","http"],"engines":{"node":">=0.8.0"},"dependencies":{"hoek":"0.9.x"},"devDependencies":{"lab":"0.1.x","complexity-report":"0.x.x"},"scripts":{"test":"make test-cov"},"licenses":[{"type":"BSD","url":"http://github.com/spumko/boom/raw/master/LICENSE"}],"readme":"<a href=\"https://github.com/spumko\"><img src=\"https://raw.github.com/spumko/spumko/master/images/from.png\" align=\"right\" /></a>\n![boom Logo](https://raw.github.com/spumko/boom/master/images/boom.png)\n\nHTTP-friendly error objects\n\n[![Build Status](https://secure.travis-ci.org/spumko/boom.png)](http://travis-ci.org/spumko/boom)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/spumko/boom/issues"},"homepage":"https://github.com/spumko/boom","_id":"boom@0.4.2","_from":"boom@0.4.x"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/boom/test/index.js","id":"boom/test/index.js","options":{},"isModule":true,"requiredModules":["lab","boom/lib/index.js"],"mtime":1365488312000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/cryptiles/index.js","id":"cryptiles/index.js","options":{},"isModule":true,"requiredModules":["cryptiles/lib/index.js"],"mtime":1372866517000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js","id":"cryptiles/lib/index.js","options":{},"isModule":true,"requiredModules":["crypto","boom/lib/index.js"],"mtime":1372866517000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json","data":{"name":"cryptiles","description":"General purpose crypto utilities","version":"0.2.2","author":{"name":"Eran Hammer","email":"eran@hueniverse.com","url":"http://hueniverse.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/hueniverse/cryptiles"},"main":"index","keywords":["cryptography","security","utilites"],"engines":{"node":">=0.8.0"},"dependencies":{"boom":"0.4.x"},"devDependencies":{"lab":"0.1.x","complexity-report":"0.x.x"},"scripts":{"test":"make test-cov"},"licenses":[{"type":"BSD","url":"http://github.com/hueniverse/cryptiles/raw/master/LICENSE"}],"readme":"cryptiles\n=========\n\nGeneral purpose crypto utilities\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/cryptiles.png)](http://travis-ci.org/hueniverse/cryptiles)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/hueniverse/cryptiles/issues"},"homepage":"https://github.com/hueniverse/cryptiles","_id":"cryptiles@0.2.2","_from":"cryptiles@0.2.x"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js","id":"cryptiles/test/index.js","options":{},"isModule":true,"requiredModules":["lab","cryptiles/lib/index.js"],"mtime":1372866517000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/index.js","id":"hoek/index.js","options":{},"isModule":true,"requiredModules":["hoek/lib/index.js"],"mtime":1368629552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js","id":"hoek/lib/escape.js","options":{},"isModule":true,"mtime":1368629552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js","id":"hoek/lib/index.js","options":{},"isModule":true,"requiredModules":["fs","hoek/lib/escape.js"],"mtime":1368653676000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/package.json","data":{"name":"hoek","description":"General purpose node utilities","version":"0.9.1","author":{"name":"Eran Hammer","email":"eran@hueniverse.com","url":"http://hueniverse.com"},"contributors":[{"name":"Van Nguyen","email":"the.gol.effect@gmail.com"}],"repository":{"type":"git","url":"git://github.com/spumko/hoek"},"main":"index","keywords":["utilities"],"engines":{"node":">=0.8.0"},"dependencies":{},"devDependencies":{"lab":"0.1.x","complexity-report":"0.x.x"},"scripts":{"test":"make test-cov"},"licenses":[{"type":"BSD","url":"http://github.com/spumko/hoek/raw/master/LICENSE"}],"readme":"<a href=\"https://github.com/spumko\"><img src=\"https://raw.github.com/spumko/spumko/master/images/from.png\" align=\"right\" /></a>\r\n![hoek Logo](https://raw.github.com/spumko/hoek/master/images/hoek.png)\r\n\r\nGeneral purpose node utilities\r\n\r\n[![Build Status](https://secure.travis-ci.org/spumko/hoek.png)](http://travis-ci.org/spumko/hoek)\r\n\r\n# Table of Contents\r\n\r\n* [Introduction](#introduction \"Introduction\")\r\n* [Object](#object \"Object\")\r\n  * [clone](#cloneobj \"clone\")\r\n  * [merge](#mergetarget-source-isnulloverride-ismergearrays \"merge\")\r\n  * [applyToDefaults](#applytodefaultsdefaults-options \"applyToDefaults\")\r\n  * [unique](#uniquearray-key \"unique\")\r\n  * [mapToObject](#maptoobjectarray-key \"mapToObject\")\r\n  * [intersect](#intersectarray1-array2 \"intersect\")\r\n  * [matchKeys](#matchkeysobj-keys \"matchKeys\")\r\n  * [flatten](#flattenarray-target \"flatten\")\r\n  * [removeKeys](#removekeysobject-keys \"removeKeys\")\r\n  * [reach](#reachobj-chain \"reach\")\r\n  * [inheritAsync](#inheritasyncself-obj-keys \"inheritAsync\")\r\n  * [rename](#renameobj-from-to \"rename\")\r\n* [Timer](#timer \"Timer\")\r\n* [Binary Encoding/Decoding](#binary \"Binary Encoding/Decoding\")\r\n  * [base64urlEncode](#binary64urlEncodevalue \"binary64urlEncode\")\r\n  * [base64urlDecode](#binary64urlDecodevalue \"binary64urlDecode\")\r\n* [Escaping Characters](#escaped \"Escaping Characters\")\r\n  * [escapeHtml](#escapeHtmlstring \"escapeHtml\")\r\n  * [escapeHeaderAttribute](#escapeHeaderAttributeattribute \"escapeHeaderAttribute\")\r\n  * [escapeRegex](#escapeRegexstring \"escapeRegex\")\r\n* [Errors](#errors \"Errors\")\r\n  * [assert](#assertmessage \"assert\")\r\n  * [abort](#abortmessage \"abort\")\r\n  * [displayStack](#displayStackslice \"displayStack\")\r\n  * [callStack](#callStackslice \"callStack\")\r\n  * [toss](#tosscondition \"toss\")\r\n* [Load files](#load-files \"Load Files\")\r\n  * [loadPackage](#loadPackagedir \"loadpackage\")\r\n  * [loadDirModules](#loadDirModulespath-excludefiles-target \"loaddirmodules\")\r\n\r\n\r\n\r\n# Introduction\r\n\r\nThe *Hoek* general purpose node utilities library is used to aid in a variety of manners. It comes with useful methods for Arrays (clone, merge, applyToDefaults), Objects (removeKeys, copy), Asserting and more. \r\n\r\nFor example, to use Hoek to set configuration with default options:\r\n```javascript\r\nvar Hoek = require('hoek');\r\n\r\nvar default = {url : \"www.github.com\", port : \"8000\", debug : true}\r\n\r\nvar config = Hoek.applyToDefaults(default, {port : \"3000\", admin : true});\r\n\r\n// In this case, config would be { url: 'www.github.com', port: '3000', debug: true, admin: true }\r\n```\r\n\r\nUnder each of the sections (such as Array), there are subsections which correspond to Hoek methods. Each subsection will explain how to use the corresponding method. In each js excerpt below, the var Hoek = require('hoek') is omitted for brevity.\r\n\r\n## Object\r\n\r\nHoek provides several helpful methods for objects and arrays.\r\n\r\n### clone(obj)\r\n\r\nThis method is used to clone an object or an array. A *deep copy* is made (duplicates everything, including values that are objects). \r\n\r\n```javascript\r\n\r\nvar nestedObj = {\r\n        w: /^something$/ig,\r\n        x: {\r\n            a: [1, 2, 3],\r\n            b: 123456,\r\n            c: new Date()\r\n        },\r\n        y: 'y',\r\n        z: new Date()\r\n    };\r\n\r\nvar copy = Hoek.clone(nestedObj);\r\n\r\ncopy.x.b = 100;\r\n\r\nconsole.log(copy.y)        // results in 'y'\r\nconsole.log(nestedObj.x.b) // results in 123456\r\nconsole.log(copy.x.b)      // results in 100\r\n```\r\n\r\n### merge(target, source, isNullOverride, isMergeArrays)\r\nisNullOverride, isMergeArrays default to true\r\n\r\nMerge all the properties of source into target, source wins in conflic, and by default null and undefined from source are applied\r\n\r\n\r\n```javascript\r\n\r\nvar target = {a: 1, b : 2}\r\nvar source = {a: 0, c: 5}\r\nvar source2 = {a: null, c: 5}\r\n\r\nvar targetArray = [1, 2, 3];\r\nvar sourceArray = [4, 5];\r\n\r\nvar newTarget = Hoek.merge(target, source);     // results in {a: 0, b: 2, c: 5}\r\nnewTarget = Hoek.merge(target, source2);        // results in {a: null, b: 2, c: 5}\r\nnewTarget = Hoek.merge(target, source2, false); // results in {a: 1, b: 2, c: 5}\r\n\r\nnewTarget = Hoek.merge(targetArray, sourceArray)              // results in [1, 2, 3, 4, 5]\r\nnewTarget = Hoek.merge(targetArray, sourceArray, true, false) // results in [4, 5]\r\n\r\n\r\n\r\n\r\n```\r\n\r\n### applyToDefaults(defaults, options)\r\n\r\nApply options to a copy of the defaults\r\n\r\n```javascript\r\n\r\nvar defaults = {host: \"localhost\", port: 8000};\r\nvar options = {port: 8080};\r\n\r\nvar config = Hoek.applyToDefaults(defaults, options); // results in {host: \"localhost\", port: 8080};\r\n\r\n\r\n```\r\n\r\n### unique(array, key)\r\n\r\nRemove duplicate items from Array\r\n\r\n```javascript\r\n\r\nvar array = [1, 2, 2, 3, 3, 4, 5, 6];\r\n\r\nvar newArray = Hoek.unique(array); // results in [1,2,3,4,5,6];\r\n\r\narray = [{id: 1}, {id: 1}, {id: 2}];\r\n\r\nnewArray = Hoek.unique(array, \"id\") // results in [{id: 1}, {id: 2}]\r\n\r\n```\r\n\r\n### mapToObject(array, key)\r\n\r\nConvert an Array into an Object\r\n\r\n```javascript\r\n\r\nvar array = [1,2,3];\r\nvar newObject = Hoek.mapToObject(array); // results in [{\"1\": true}, {\"2\": true}, {\"3\": true}]\r\n\r\narray = [{id: 1}, {id: 2}];\r\nnewObject = Hoek.mapToObject(array, \"id\") // results in [{\"id\": 1}, {\"id\": 2}]\r\n\r\n```\r\n### intersect(array1, array2)\r\n\r\nFind the common unique items in two arrays\r\n\r\n```javascript\r\n\r\nvar array1 = [1, 2, 3];\r\nvar array2 = [1, 4, 5];\r\n\r\nvar newArray = Hoek.intersect(array1, array2) // results in [1]\r\n\r\n```\r\n\r\n### matchKeys(obj, keys) \r\n\r\nFind which keys are present\r\n\r\n```javascript\r\n\r\nvar obj = {a: 1, b: 2, c: 3};\r\nvar keys = [\"a\", \"e\"];\r\n\r\nHoek.matchKeys(obj, keys) // returns [\"a\"]\r\n\r\n```\r\n\r\n### flatten(array, target)\r\n\r\nFlatten an array\r\n\r\n```javascript\r\n\r\nvar array = [1, 2, 3];\r\nvar target = [4, 5]; \r\n\r\nvar flattenedArray = Hoek.flatten(array, target) // results in [4, 5, 1, 2, 3];\r\n\r\n```\r\n\r\n### removeKeys(object, keys)\r\n\r\nRemove keys\r\n\r\n```javascript\r\n\r\nvar object = {a: 1, b: 2, c: 3, d: 4};\r\n\r\nvar keys = [\"a\", \"b\"];\r\n\r\nHoek.removeKeys(object, keys) // object is now {c: 3, d: 4}\r\n\r\n```\r\n\r\n### reach(obj, chain)\r\n\r\nConverts an object key chain string to reference\r\n\r\n```javascript\r\n\r\nvar chain = 'a.b.c';\r\nvar obj = {a : {b : { c : 1}}};\r\n\r\nHoek.reach(obj, chain) // returns 1\r\n\r\n```\r\n\r\n### inheritAsync(self, obj, keys) \r\n\r\nInherits a selected set of methods from an object, wrapping functions in asynchronous syntax and catching errors\r\n\r\n```javascript\r\n\r\nvar targetFunc = function () { };\r\n\r\nvar proto = {\r\n                a: function () {\r\n                    return 'a!';\r\n                },\r\n                b: function () {\r\n                    return 'b!';\r\n                },\r\n                c: function () {\r\n                    throw new Error('c!');\r\n                }\r\n            };\r\n\r\nvar keys = ['a', 'c'];\r\n\r\nHoek.inheritAsync(targetFunc, proto, ['a', 'c']);\r\n\r\nvar target = new targetFunc();\r\n\r\ntarget.a(function(err, result){console.log(result)}         // returns 'a!'       \r\n\r\ntarget.c(function(err, result){console.log(result)}         // returns undefined\r\n\r\ntarget.b(function(err, result){console.log(result)}         // gives error: Object [object Object] has no method 'b'\r\n\r\n```\r\n\r\n### rename(obj, from, to)\r\n\r\nRename a key of an object\r\n\r\n```javascript\r\n\r\nvar obj = {a : 1, b : 2};\r\n\r\nHoek.rename(obj, \"a\", \"c\");     // obj is now {c : 1, b : 2}\r\n\r\n```\r\n\r\n\r\n# Timer\r\n\r\nA Timer object. Initializing a new timer object sets the ts to the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.\r\n\r\n```javascript\r\n\r\n\r\nexample : \r\n\r\n\r\nvar timerObj = new Hoek.Timer();\r\nconsole.log(\"Time is now: \" + timerObj.ts)\r\nconsole.log(\"Elapsed time from initialization: \" + timerObj.elapsed() + 'milliseconds')\r\n\r\n```\r\n\r\n# Binary Encoding/Decoding\r\n\r\n### base64urlEncode(value)\r\n\r\nEncodes value in Base64 or URL encoding\r\n\r\n### base64urlDecode(value)\r\n\r\nDecodes data in Base64 or URL encoding.\r\n# Escaping Characters\r\n\r\nHoek provides convenient methods for escaping html characters. The escaped characters are as followed:\r\n\r\n```javascript\r\n\r\ninternals.htmlEscaped = {\r\n    '&': '&amp;',\r\n    '<': '&lt;',\r\n    '>': '&gt;',\r\n    '\"': '&quot;',\r\n    \"'\": '&#x27;',\r\n    '`': '&#x60;'\r\n};\r\n\r\n```\r\n\r\n### escapeHtml(string)\r\n\r\n```javascript\r\n\r\nvar string = '<html> hey </html>';\r\nvar escapedString = Hoek.escapeHtml(string); // returns &lt;html&gt; hey &lt;/html&gt;\r\n\r\n```\r\n\r\n### escapeHeaderAttribute(attribute)\r\n\r\nEscape attribute value for use in HTTP header\r\n\r\n```javascript\r\n\r\nvar a = Hoek.escapeHeaderAttribute('I said \"go w\\\\o me\"');  //returns I said \\\"go w\\\\o me\\\"\r\n\r\n\r\n```\r\n\r\n\r\n### escapeRegex(string)\r\n\r\nEscape string for Regex construction\r\n\r\n```javascript\r\n\r\nvar a = Hoek.escapeRegex('4^f$s.4*5+-_?%=#!:@|~\\\\/`\"(>)[<]d{}s,');  // returns 4\\^f\\$s\\.4\\*5\\+\\-_\\?%\\=#\\!\\:@\\|~\\\\\\/`\"\\(>\\)\\[<\\]d\\{\\}s\\,\r\n\r\n\r\n\r\n```\r\n\r\n# Errors\r\n\r\n### assert(message)\r\n\r\n```javascript\r\n\r\nvar a = 1, b =2;\r\n\r\nHoek.assert(a === b, 'a should equal b');  // ABORT: a should equal b\r\n\r\n```\r\n\r\n### abort(message)\r\n\r\nFirst checks if process.env.NODE_ENV === 'test', and if so, throws error message. Otherwise,\r\ndisplays most recent stack and then exits process.\r\n\r\n\r\n\r\n### displayStack(slice)\r\n\r\nDisplays the trace stack\r\n\r\n```javascript\r\n\r\nvar stack = Hoek.displayStack();\r\nconsole.log(stack) // returns something like:\r\n\r\n[ 'null (/Users/user/Desktop/hoek/test.js:4:18)',\r\n  'Module._compile (module.js:449:26)',\r\n  'Module._extensions..js (module.js:467:10)',\r\n  'Module.load (module.js:356:32)',\r\n  'Module._load (module.js:312:12)',\r\n  'Module.runMain (module.js:492:10)',\r\n  'startup.processNextTick.process._tickCallback (node.js:244:9)' ]\r\n\r\n```\r\n\r\n### callStack(slice)\r\n\r\nReturns a trace stack array.\r\n\r\n```javascript\r\n\r\nvar stack = Hoek.callStack();\r\nconsole.log(stack)  // returns something like:\r\n\r\n[ [ '/Users/user/Desktop/hoek/test.js', 4, 18, null, false ],\r\n  [ 'module.js', 449, 26, 'Module._compile', false ],\r\n  [ 'module.js', 467, 10, 'Module._extensions..js', false ],\r\n  [ 'module.js', 356, 32, 'Module.load', false ],\r\n  [ 'module.js', 312, 12, 'Module._load', false ],\r\n  [ 'module.js', 492, 10, 'Module.runMain', false ],\r\n  [ 'node.js',\r\n    244,\r\n    9,\r\n    'startup.processNextTick.process._tickCallback',\r\n    false ] ]\r\n\r\n\r\n```\r\n\r\n### toss(condition)\r\n\r\ntoss(condition /*, [message], callback */)\r\n\r\nReturn an error as first argument of a callback\r\n\r\n\r\n# Load Files\r\n\r\n### loadPackage(dir)\r\n\r\nLoad and parse package.json process root or given directory\r\n\r\n```javascript\r\n\r\nvar pack = Hoek.loadPackage();  // pack.name === 'hoek'\r\n\r\n```\r\n\r\n### loadDirModules(path, excludeFiles, target) \r\n\r\nLoads modules from a given path; option to exclude files (array).\r\n\r\n\r\n\r\n\r\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/spumko/hoek/issues"},"homepage":"https://github.com/spumko/hoek","_id":"hoek@0.9.1","_from":"hoek@0.9.x"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js","id":"hoek/test/escaper.js","options":{},"isModule":true,"requiredModules":["lab","hoek/lib/index.js"],"mtime":1368629552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js","id":"hoek/test/index.js","options":{},"isModule":true,"requiredModules":["lab","hoek/lib/index.js"],"mtime":1368653325000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js","id":"hoek/test/modules/test1.js","options":{},"isModule":true,"mtime":1368629552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js","id":"hoek/test/modules/test2.js","options":{},"isModule":true,"mtime":1368629552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js","id":"hoek/test/modules/test3.js","options":{},"isModule":true,"mtime":1368629552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js","id":"sntp/examples/offset.js","options":{},"isModule":true,"requiredModules":["sntp/lib/index.js"],"mtime":1365306274000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js","id":"sntp/examples/time.js","options":{},"isModule":true,"requiredModules":["sntp/lib/index.js"],"mtime":1365306274000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/sntp/index.js","id":"sntp/index.js","options":{},"isModule":true,"requiredModules":["sntp/lib/index.js"],"mtime":1365306274000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js","id":"sntp/lib/index.js","options":{},"isModule":true,"requiredModules":["dgram","dns","hoek/index.js"],"mtime":1369144574000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/sntp/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/sntp/package.json","data":{"name":"sntp","description":"SNTP Client","version":"0.2.4","author":{"name":"Eran Hammer","email":"eran@hueniverse.com","url":"http://hueniverse.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/hueniverse/sntp"},"main":"index","keywords":["sntp","ntp","time"],"engines":{"node":">=0.8.0"},"dependencies":{"hoek":"0.9.x"},"devDependencies":{"lab":"0.1.x","complexity-report":"0.x.x"},"scripts":{"test":"make test-cov"},"licenses":[{"type":"BSD","url":"http://github.com/hueniverse/sntp/raw/master/LICENSE"}],"readme":"# sntp\n\nAn SNTP v4 client (RFC4330) for node. Simpy connects to the NTP or SNTP server requested and returns the server time\nalong with the roundtrip duration and clock offset. To adjust the local time to the NTP time, add the returned `t` offset\nto the local time.\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/sntp.png)](http://travis-ci.org/hueniverse/sntp)\n\n# Usage\n\n```javascript\nvar Sntp = require('sntp');\n\n// All options are optional\n\nvar options = {\n    host: 'nist1-sj.ustiming.org',  // Defaults to pool.ntp.org\n    port: 123,                      // Defaults to 123 (NTP)\n    resolveReference: true,         // Default to false (not resolving)\n    timeout: 1000                   // Defaults to zero (no timeout)\n};\n\n// Request server time\n\nSntp.time(options, function (err, time) {\n\n    if (err) {\n        console.log('Failed: ' + err.message);\n        process.exit(1);\n    }\n\n    console.log('Local clock is off by: ' + time.t + ' milliseconds');\n    process.exit(0);\n});\n```\n\nIf an application needs to maintain continuous time synchronization, the module provides a stateful method for\nquerying the current offset only when the last one is too old (defaults to daily).\n\n```javascript\n// Request offset once\n\nSntp.offset(function (err, offset) {\n\n    console.log(offset);                    // New (served fresh)\n\n    // Request offset again\n\n    Sntp.offset(function (err, offset) {\n\n        console.log(offset);                // Identical (served from cache)\n    });\n});\n```\n\nTo set a background offset refresh, start the interval and use the provided now() method. If for any reason the\nclient fails to obtain an up-to-date offset, the current system clock is used.\n\n```javascript\nvar before = Sntp.now();                    // System time without offset\n\nSntp.start(function () {\n\n    var now = Sntp.now();                   // With offset\n    Sntp.stop();\n});\n```\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/hueniverse/sntp/issues"},"homepage":"https://github.com/hueniverse/sntp","_id":"sntp@0.2.4","_from":"sntp@0.2.x"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js","id":"sntp/test/index.js","options":{},"isModule":true,"requiredModules":["dgram","lab","sntp/lib/index.js"],"mtime":1369144574000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/package.json","data":{"name":"hawk","description":"HTTP Hawk Authentication Scheme","version":"1.0.0","author":{"name":"Eran Hammer","email":"eran@hueniverse.com","url":"http://hueniverse.com"},"contributors":[],"repository":{"type":"git","url":"git://github.com/hueniverse/hawk"},"main":"index","keywords":["http","authentication","scheme","hawk"],"engines":{"node":">=0.8.0"},"dependencies":{"hoek":"0.9.x","boom":"0.4.x","cryptiles":"0.2.x","sntp":"0.2.x"},"devDependencies":{"lab":"0.1.x","complexity-report":"0.x.x","localStorage":"1.0.x"},"scripts":{"test":"make test-cov"},"licenses":[{"type":"BSD","url":"http://github.com/hueniverse/hawk/raw/master/LICENSE"}],"readme":"![hawk Logo](https://raw.github.com/hueniverse/hawk/master/images/hawk.png)\n\n<img align=\"right\" src=\"https://raw.github.com/hueniverse/hawk/master/images/logo.png\" /> **Hawk** is an HTTP authentication scheme using a message authentication code (MAC) algorithm to provide partial\nHTTP request cryptographic verification. For more complex use cases such as access delegation, see [Oz](https://github.com/hueniverse/oz).\n\nCurrent version: **1.0**\n\n[![Build Status](https://secure.travis-ci.org/hueniverse/hawk.png)](http://travis-ci.org/hueniverse/hawk)\n\n# Table of Content\n\n- [**Introduction**](#introduction)\n  - [Replay Protection](#replay-protection)\n  - [Usage Example](#usage-example)\n  - [Protocol Example](#protocol-example)\n    - [Payload Validation](#payload-validation)\n    - [Response Payload Validation](#response-payload-validation)\n  - [Browser Support and Considerations](#browser-support-and-considerations)\n<p></p>\n- [**Single URI Authorization**](#single-uri-authorization)\n  - [Usage Example](#bewit-usage-example)\n<p></p>\n- [**Security Considerations**](#security-considerations)\n  - [MAC Keys Transmission](#mac-keys-transmission)\n  - [Confidentiality of Requests](#confidentiality-of-requests)\n  - [Spoofing by Counterfeit Servers](#spoofing-by-counterfeit-servers)\n  - [Plaintext Storage of Credentials](#plaintext-storage-of-credentials)\n  - [Entropy of Keys](#entropy-of-keys)\n  - [Coverage Limitations](#coverage-limitations)\n  - [Future Time Manipulation](#future-time-manipulation)\n  - [Client Clock Poisoning](#client-clock-poisoning)\n  - [Bewit Limitations](#bewit-limitations)\n  - [Host Header Forgery](#host-header-forgery)\n<p></p>\n- [**Frequently Asked Questions**](#frequently-asked-questions)\n<p></p>\n- [**Acknowledgements**](#acknowledgements)\n\n# Introduction\n\n**Hawk** is an HTTP authentication scheme providing mechanisms for making authenticated HTTP requests with\npartial cryptographic verification of the request and response, covering the HTTP method, request URI, host,\nand optionally the request payload.\n\nSimilar to the HTTP [Digest access authentication schemes](http://www.ietf.org/rfc/rfc2617.txt), **Hawk** uses a set of\nclient credentials which include an identifier (e.g. username) and key (e.g. password). Likewise, just as with the Digest scheme,\nthe key is never included in authenticated requests. Instead, it is used to calculate a request MAC value which is\nincluded in its place.\n\nHowever, **Hawk** has several differences from Digest. In particular, while both use a nonce to limit the possibility of\nreplay attacks, in **Hawk** the client generates the nonce and uses it in combination with a timestamp, leading to less\n\"chattiness\" (interaction with the server).\n\nAlso unlike Digest, this scheme is not intended to protect the key itself (the password in Digest) because\nthe client and server must both have access to the key material in the clear.\n\nThe primary design goals of this scheme are to:\n* simplify and improve HTTP authentication for services that are unwilling or unable to deploy TLS for all resources,\n* secure credentials against leakage (e.g., when the client uses some form of dynamic configuration to determine where\n  to send an authenticated request), and\n* avoid the exposure of credentials sent to a malicious server over an unauthenticated secure channel due to client\n  failure to validate the server's identity as part of its TLS handshake.\n\nIn addition, **Hawk** supports a method for granting third-parties temporary access to individual resources using\na query parameter called _bewit_ (in falconry, a leather strap used to attach a tracking device to the leg of a hawk).\n\nThe **Hawk** scheme requires the establishment of a shared symmetric key between the client and the server,\nwhich is beyond the scope of this module. Typically, the shared credentials are established via an initial\nTLS-protected phase or derived from some other shared confidential information available to both the client\nand the server.\n\n\n## Replay Protection\n\nWithout replay protection, an attacker can use a compromised (but otherwise valid and authenticated) request more \nthan once, gaining access to a protected resource. To mitigate this, clients include both a nonce and a timestamp when \nmaking requests. This gives the server enough information to prevent replay attacks.\n\nThe nonce is generated by the client, and is a string unique across all requests with the same timestamp and\nkey identifier combination. \n\nThe timestamp enables the server to restrict the validity period of the credentials where requests occuring afterwards\nare rejected. It also removes the need for the server to retain an unbounded number of nonce values for future checks.\nBy default, **Hawk** uses a time window of 1 minute to allow for time skew between the client and server (which in\npractice translates to a maximum of 2 minutes as the skew can be positive or negative).\n\nUsing a timestamp requires the client's clock to be in sync with the server's clock. **Hawk** requires both the client\nclock and the server clock to use NTP to ensure synchronization. However, given the limitations of some client types\n(e.g. browsers) to deploy NTP, the server provides the client with its current time (in seconds precision) in response\nto a bad timestamp.\n\nThere is no expectation that the client will adjust its system clock to match the server (in fact, this would be a\npotential attack vector). Instead, the client only uses the server's time to calculate an offset used only\nfor communications with that particular server. The protocol rewards clients with synchronized clocks by reducing\nthe number of round trips required to authenticate the first request.\n\n\n## Usage Example\n\nServer code:\n\n```javascript\nvar Http = require('http');\nvar Hawk = require('hawk');\n\n\n// Credentials lookup function\n\nvar credentialsFunc = function (id, callback) {\n\n    var credentials = {\n        key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn',\n        algorithm: 'sha256',\n        user: 'Steve'\n    };\n\n    return callback(null, credentials);\n};\n\n// Create HTTP server\n\nvar handler = function (req, res) {\n\n    // Authenticate incoming request\n\n    Hawk.server.authenticate(req, credentialsFunc, {}, function (err, credentials, artifacts) {\n\n        // Prepare response\n\n        var payload = (!err ? 'Hello ' + credentials.user + ' ' + artifacts.ext : 'Shoosh!');\n        var headers = { 'Content-Type': 'text/plain' };\n\n        // Generate Server-Authorization response header\n\n        var header = Hawk.server.header(credentials, artifacts, { payload: payload, contentType: headers['Content-Type'] });\n        headers['Server-Authorization'] = header;\n\n        // Send the response back\n\n        res.writeHead(!err ? 200 : 401, headers);\n        res.end(payload);\n    });\n};\n\n// Start server\n\nHttp.createServer(handler).listen(8000, 'example.com');\n```\n\nClient code:\n\n```javascript\nvar Request = require('request');\nvar Hawk = require('hawk');\n\n\n// Client credentials\n\nvar credentials = {\n    id: 'dh37fgj492je',\n    key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn',\n    algorithm: 'sha256'\n}\n\n// Request options\n\nvar requestOptions = {\n    uri: 'http://example.com:8000/resource/1?b=1&a=2',\n    method: 'GET',\n    headers: {}\n};\n\n// Generate Authorization request header\n\nvar header = Hawk.client.header('http://example.com:8000/resource/1?b=1&a=2', 'GET', { credentials: credentials, ext: 'some-app-data' });\nrequestOptions.headers.Authorization = header.field;\n\n// Send authenticated request\n\nRequest(requestOptions, function (error, response, body) {\n\n    // Authenticate the server's response\n\n    var isValid = Hawk.client.authenticate(response, credentials, header.artifacts, { payload: body });\n\n    // Output results\n\n    console.log(response.statusCode + ': ' + body + (isValid ? ' (valid)' : ' (invalid)'));\n});\n```\n\n**Hawk** utilized the [**SNTP**](https://github.com/hueniverse/sntp) module for time sync management. By default, the local\nmachine time is used. To automatically retrieve and synchronice the clock within the application, use the SNTP 'start()' method.\n\n```javascript\nHawk.sntp.start();\n```\n\n\n## Protocol Example\n\nThe client attempts to access a protected resource without authentication, sending the following HTTP request to\nthe resource server:\n\n```\nGET /resource/1?b=1&a=2 HTTP/1.1\nHost: example.com:8000\n```\n\nThe resource server returns an authentication challenge.\n\n```\nHTTP/1.1 401 Unauthorized\nWWW-Authenticate: Hawk\n```\n\nThe client has previously obtained a set of **Hawk** credentials for accessing resources on the \"http://example.com/\"\nserver. The **Hawk** credentials issued to the client include the following attributes:\n\n* Key identifier: dh37fgj492je\n* Key: werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn\n* Algorithm: sha256\n\nThe client generates the authentication header by calculating a timestamp (e.g. the number of seconds since January 1,\n1970 00:00:00 GMT), generating a nonce, and constructing the normalized request string (each value followed by a newline\ncharacter):\n\n```\nhawk.1.header\n1353832234\nj4h3g2\nGET\n/resource/1?b=1&a=2\nexample.com\n8000\n\nsome-app-ext-data\n\n```\n\nThe request MAC is calculated using HMAC with the specified hash algorithm \"sha256\" and the key over the normalized request string.\nThe result is base64-encoded to produce the request MAC:\n\n```\n6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE=\n```\n\nThe client includes the **Hawk** key identifier, timestamp, nonce, application specific data, and request MAC with the request using\nthe HTTP `Authorization` request header field:\n\n```\nGET /resource/1?b=1&a=2 HTTP/1.1\nHost: example.com:8000\nAuthorization: Hawk id=\"dh37fgj492je\", ts=\"1353832234\", nonce=\"j4h3g2\", ext=\"some-app-ext-data\", mac=\"6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE=\"\n```\n\nThe server validates the request by calculating the request MAC again based on the request received and verifies the validity\nand scope of the **Hawk** credentials. If valid, the server responds with the requested resource.\n\n\n### Payload Validation\n\n**Hawk** provides optional payload validation. When generating the authentication header, the client calculates a payload hash\nusing the specified hash algorithm. The hash is calculated over the concatenated value of (each followed by a newline character):\n* `hawk.1.payload`\n* the content-type in lowercase, without any parameters (e.g. `application/json`)\n* the request payload prior to any content encoding (the exact representation requirements should be specified by the server for payloads other than simple single-part ascii to ensure interoperability)\n\nFor example:\n\n* Payload: `Thank you for flying Hawk`\n* Content Type: `text/plain`\n* Hash (sha256): `Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=`\n\nResults in the following input to the payload hash function (newline terminated values):\n\n```\nhawk.1.payload\ntext/plain\nThank you for flying Hawk\n\n```\n\nWhich produces the following hash value:\n\n```\nYi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\n```\n\nThe client constructs the normalized request string (newline terminated values):\n\n```\nhawk.1.header\n1353832234\nj4h3g2\nPOST\n/resource/1?a=1&b=2\nexample.com\n8000\nYi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\nsome-app-ext-data\n\n```\n\nThen calculates the request MAC and includes the **Hawk** key identifier, timestamp, nonce, payload hash, application specific data,\nand request MAC, with the request using the HTTP `Authorization` request header field:\n\n```\nPOST /resource/1?a=1&b=2 HTTP/1.1\nHost: example.com:8000\nAuthorization: Hawk id=\"dh37fgj492je\", ts=\"1353832234\", nonce=\"j4h3g2\", hash=\"Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=\", ext=\"some-app-ext-data\", mac=\"aSe1DERmZuRl3pI36/9BdZmnErTw3sNzOOAUlfeKjVw=\"\n```\n\nIt is up to the server if and when it validates the payload for any given request, based solely on it's security policy\nand the nature of the data included.\n\nIf the payload is available at the time of authentication, the server uses the hash value provided by the client to construct\nthe normalized string and validates the MAC. If the MAC is valid, the server calculates the payload hash and compares the value\nwith the provided payload hash in the header. In many cases, checking the MAC first is faster than calculating the payload hash.\n\nHowever, if the payload is not available at authentication time (e.g. too large to fit in memory, streamed elsewhere, or processed\nat a different stage in the application), the server may choose to defer payload validation for later by retaining the hash value\nprovided by the client after validating the MAC.\n\nIt is important to note that MAC validation does not mean the hash value provided by the client is valid, only that the value\nincluded in the header was not modified. Without calculating the payload hash on the server and comparing it to the value provided\nby the client, the payload may be modified by an attacker.\n\n\n## Response Payload Validation\n\n**Hawk** provides partial response payload validation. The server includes the `Server-Authorization` response header which enables the\nclient to authenticate the response and ensure it is talking to the right server. **Hawk** defines the HTTP `Server-Authorization` header\nas a response header using the exact same syntax as the `Authorization` request header field.\n\nThe header is contructed using the same process as the client's request header. The server uses the same credentials and other\nartifacts provided by the client to constructs the normalized request string. The `ext` and `hash` values are replaced with\nnew values based on the server response. The rest as identical to those used by the client.\n\nThe result MAC digest is included with the optional `hash` and `ext` values:\n\n```\nServer-Authorization: Hawk mac=\"XIJRsMl/4oL+nn+vKoeVZPdCHXB4yJkNnBbTbHFZUYE=\", hash=\"f9cDF/TDm7TkYRLnGwRMfeDzT6LixQVLvrIKhh0vgmM=\", ext=\"response-specific\"\n```\n\n\n## Browser Support and Considerations\n\nA browser script is provided for including using a `<script>` tag in [lib/browser.js](/lib/browser.js).\n\n**Hawk** relies on the _Server-Authorization_ and _WWW-Authenticate_ headers in its response to communicate with the client.\nTherefore, in case of CORS requests, it is important to consider sending _Access-Control-Expose-Headers_ with the value\n_\"WWW-Authenticate, Server-Authorization\"_ on each response from your server. As explained in the\n[specifications](http://www.w3.org/TR/cors/#access-control-expose-headers-response-header), it will indicate that these headers\ncan safely be accessed by the client (using getResponseHeader() on the XmlHttpRequest object). Otherwise you will be met with a\n[\"simple response header\"](http://www.w3.org/TR/cors/#simple-response-header) which excludes these fields and would prevent the\nHawk client from authenticating the requests.You can read more about the why and how in this\n[article](http://www.html5rocks.com/en/tutorials/cors/#toc-adding-cors-support-to-the-server)\n\n\n# Single URI Authorization\n\nThere are cases in which limited and short-term access to a protected resource is granted to a third party which does not\nhave access to the shared credentials. For example, displaying a protected image on a web page accessed by anyone. **Hawk**\nprovides limited support for such URIs in the form of a _bewit_ - a URI query parameter appended to the request URI which contains\nthe necessary credentials to authenticate the request.\n\nBecause of the significant security risks involved in issuing such access, bewit usage is purposely limited only to GET requests\nand for a finite period of time. Both the client and server can issue bewit credentials, however, the server should not use the same\ncredentials as the client to maintain clear traceability as to who issued which credentials.\n\nIn order to simplify implementation, bewit credentials do not support single-use policy and can be replayed multiple times within\nthe granted access timeframe. \n\n\n## Bewit Usage Example\n\nServer code:\n\n```javascript\nvar Http = require('http');\nvar Hawk = require('hawk');\n\n\n// Credentials lookup function\n\nvar credentialsFunc = function (id, callback) {\n\n    var credentials = {\n        key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn',\n        algorithm: 'sha256'\n    };\n\n    return callback(null, credentials);\n};\n\n// Create HTTP server\n\nvar handler = function (req, res) {\n\n    Hawk.uri.authenticate(req, credentialsFunc, {}, function (err, credentials, attributes) {\n\n        res.writeHead(!err ? 200 : 401, { 'Content-Type': 'text/plain' });\n        res.end(!err ? 'Access granted' : 'Shoosh!');\n    });\n};\n\nHttp.createServer(handler).listen(8000, 'example.com');\n```\n\nBewit code generation:\n\n```javascript\nvar Request = require('request');\nvar Hawk = require('hawk');\n\n\n// Client credentials\n\nvar credentials = {\n    id: 'dh37fgj492je',\n    key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn',\n    algorithm: 'sha256'\n}\n\n// Generate bewit\n\nvar duration = 60 * 5;      // 5 Minutes\nvar bewit = Hawk.uri.getBewit('http://example.com:8080/resource/1?b=1&a=2', { credentials: credentials, ttlSec: duration, ext: 'some-app-data' });\nvar uri = 'http://example.com:8000/resource/1?b=1&a=2' + '&bewit=' + bewit;\n```\n\n\n# Security Considerations\n\nThe greatest sources of security risks are usually found not in **Hawk** but in the policies and procedures surrounding its use.\nImplementers are strongly encouraged to assess how this module addresses their security requirements. This section includes\nan incomplete list of security considerations that must be reviewed and understood before deploying **Hawk** on the server.\nMany of the protections provided in **Hawk** depends on whether and how they are used.\n\n### MAC Keys Transmission\n\n**Hawk** does not provide any mechanism for obtaining or transmitting the set of shared credentials required. Any mechanism used\nto obtain **Hawk** credentials must ensure that these transmissions are protected using transport-layer mechanisms such as TLS.\n\n### Confidentiality of Requests\n\nWhile **Hawk** provides a mechanism for verifying the integrity of HTTP requests, it provides no guarantee of request\nconfidentiality. Unless other precautions are taken, eavesdroppers will have full access to the request content. Servers should\ncarefully consider the types of data likely to be sent as part of such requests, and employ transport-layer security mechanisms\nto protect sensitive resources.\n\n### Spoofing by Counterfeit Servers\n\n**Hawk** provides limited verification of the server authenticity. When receiving a response back from the server, the server\nmay choose to include a response `Server-Authorization` header which the client can use to verify the response. However, it is up to\nthe server to determine when such measure is included, to up to the client to enforce that policy.\n\nA hostile party could take advantage of this by intercepting the client's requests and returning misleading or otherwise\nincorrect responses. Service providers should consider such attacks when developing services using this protocol, and should\nrequire transport-layer security for any requests where the authenticity of the resource server or of server responses is an issue.\n\n### Plaintext Storage of Credentials\n\nThe **Hawk** key functions the same way passwords do in traditional authentication systems. In order to compute the request MAC,\nthe server must have access to the key in plaintext form. This is in contrast, for example, to modern operating systems, which\nstore only a one-way hash of user credentials.\n\nIf an attacker were to gain access to these keys - or worse, to the server's database of all such keys - he or she would be able\nto perform any action on behalf of any resource owner. Accordingly, it is critical that servers protect these keys from unauthorized\naccess.\n\n### Entropy of Keys\n\nUnless a transport-layer security protocol is used, eavesdroppers will have full access to authenticated requests and request\nMAC values, and will thus be able to mount offline brute-force attacks to recover the key used. Servers should be careful to\nassign keys which are long enough, and random enough, to resist such attacks for at least the length of time that the **Hawk**\ncredentials are valid.\n\nFor example, if the credentials are valid for two weeks, servers should ensure that it is not possible to mount a brute force\nattack that recovers the key in less than two weeks. Of course, servers are urged to err on the side of caution, and use the\nlongest key reasonable.\n\nIt is equally important that the pseudo-random number generator (PRNG) used to generate these keys be of sufficiently high\nquality. Many PRNG implementations generate number sequences that may appear to be random, but which nevertheless exhibit\npatterns or other weaknesses which make cryptanalysis or brute force attacks easier. Implementers should be careful to use\ncryptographically secure PRNGs to avoid these problems.\n\n### Coverage Limitations\n\nThe request MAC only covers the HTTP `Host` header and optionally the `Content-Type` header. It does not cover any other headers\nwhich can often affect how the request body is interpreted by the server. If the server behavior is influenced by the presence\nor value of such headers, an attacker can manipulate the request headers without being detected. Implementers should use the\n`ext` feature to pass application-specific information via the `Authorization` header which is protected by the request MAC.\n\nThe response authentication, when performed, only covers the response payload, content-type, and the request information \nprovided by the client in it's request (method, resource, timestamp, nonce, etc.). It does not cover the HTTP status code or\nany other response header field (e.g. Location) which can affect the client's behaviour.\n\n### Future Time Manipulation\n\nThe protocol relies on a clock sync between the client and server. To accomplish this, the server informs the client of its\ncurrent time when an invalid timestamp is received.\n\nIf an attacker is able to manipulate this information and cause the client to use an incorrect time, it would be able to cause\nthe client to generate authenticated requests using time in the future. Such requests will fail when sent by the client, and will\nnot likely leave a trace on the server (given the common implementation of nonce, if at all enforced). The attacker will then\nbe able to replay the request at the correct time without detection.\n\nThe client must only use the time information provided by the server if:\n* it was delivered over a TLS connection and the server identity has been verified, or\n* the `tsm` MAC digest calculated using the same client credentials over the timestamp has been verified.\n\n### Client Clock Poisoning\n\nWhen receiving a request with a bad timestamp, the server provides the client with its current time. The client must never use\nthe time received from the server to adjust its own clock, and must only use it to calculate an offset for communicating with\nthat particular server.\n\n### Bewit Limitations\n\nSpecial care must be taken when issuing bewit credentials to third parties. Bewit credentials are valid until expiration and cannot\nbe revoked or limited without using other means. Whatever resource they grant access to will be completely exposed to anyone with\naccess to the bewit credentials which act as bearer credentials for that particular resource. While bewit usage is limited to GET\nrequests only and therefore cannot be used to perform transactions or change server state, it can still be used to expose private\nand sensitive information.\n\n### Host Header Forgery\n\nHawk validates the incoming request MAC against the incoming HTTP Host header. However, unless the optional `host` and `port`\noptions are used with `server.authenticate()`, a malicous client can mint new host names pointing to the server's IP address and\nuse that to craft an attack by sending a valid request that's meant for another hostname than the one used by the server. Server\nimplementors must manually verify that the host header received matches their expectation (or use the options mentioned above).\n\n# Frequently Asked Questions\n\n### Where is the protocol specification?\n\nIf you are looking for some prose explaining how all this works, **this is it**. **Hawk** is being developed as an open source\nproject instead of a standard. In other words, the [code](/hueniverse/hawk/tree/master/lib) is the specification. Not sure about\nsomething? Open an issue!\n\n### Is it done?\n\nAt if version 0.10.0, **Hawk** is feature-complete. However, until this module reaches version 1.0.0 it is considered experimental\nand is likely to change. This also means your feedback and contribution are very welcome. Feel free to open issues with questions\nand suggestions.\n\n### Where can I find **Hawk** implementations in other languages?\n\n**Hawk**'s only reference implementation is provided in JavaScript as a node.js module. However, others are actively porting it to other\nplatforms. There is already a [PHP](https://github.com/alexbilbie/PHP-Hawk),\n[.NET](https://github.com/pcibraro/hawknet), and [JAVA](https://github.com/wealdtech/hawk) libraries available. The full list\nis maintained [here](https://github.com/hueniverse/hawk/issues?labels=port). Please add an issue if you are working on another\nport. A cross-platform test-suite is in the works.\n\n### Why isn't the algorithm part of the challenge or dynamically negotiated?\n\nThe algorithm used is closely related to the key issued as different algorithms require different key sizes (and other\nrequirements). While some keys can be used for multiple algorithm, the protocol is designed to closely bind the key and algorithm\ntogether as part of the issued credentials.\n\n### Why is Host and Content-Type the only headers covered by the request MAC?\n\nIt is really hard to include other headers. Headers can be changed by proxies and other intermediaries and there is no\nwell-established way to normalize them. Many platforms change the case of header field names and values. The only\nstraight-forward solution is to include the headers in some blob (say, base64 encoded JSON) and include that with the request,\nan approach taken by JWT and other such formats. However, that design violates the HTTP header boundaries, repeats information,\nand introduces other security issues because firewalls will not be aware of these \"hidden\" headers. In addition, any information\nrepeated must be compared to the duplicated information in the header and therefore only moves the problem elsewhere.\n\n### Why not just use HTTP Digest?\n\nDigest requires pre-negotiation to establish a nonce. This means you can't just make a request - you must first send\na protocol handshake to the server. This pattern has become unacceptable for most web services, especially mobile\nwhere extra round-trip are costly.\n\n### Why bother with all this nonce and timestamp business?\n\n**Hawk** is an attempt to find a reasonable, practical compromise between security and usability. OAuth 1.0 got timestamp\nand nonces halfway right but failed when it came to scalability and consistent developer experience. **Hawk** addresses\nit by requiring the client to sync its clock, but provides it with tools to accomplish it.\n\nIn general, replay protection is a matter of application-specific threat model. It is less of an issue on a TLS-protected\nsystem where the clients are implemented using best practices and are under the control of the server. Instead of dropping\nreplay protection, **Hawk** offers a required time window and an optional nonce verification. Together, it provides developers\nwith the ability to decide how to enforce their security policy without impacting the client's implementation.\n\n### What are `app` and `dlg` in the authorization header and normalized mac string?\n\nThe original motivation for **Hawk** was to replace the OAuth 1.0 use cases. This included both a simple client-server mode which\nthis module is specifically designed for, and a delegated access mode which is being developed separately in\n[Oz](https://github.com/hueniverse/oz). In addition to the **Hawk** use cases, Oz requires another attribute: the application id `app`.\nThis provides binding between the credentials and the application in a way that prevents an attacker from tricking an application\nto use credentials issued to someone else. It also has an optional 'delegated-by' attribute `dlg` which is the application id of the\napplication the credentials were directly issued to. The goal of these two additions is to allow Oz to utilize **Hawk** directly,\nbut with the additional security of delegated credentials.\n\n### What is the purpose of the static strings used in each normalized MAC input?\n\nWhen calculating a hash or MAC, a static prefix (tag) is added. The prefix is used to prevent MAC values from being\nused or reused for a purpose other than what they were created for (i.e. prevents switching MAC values between a request,\nresponse, and a bewit use cases). It also protects against expliots created after a potential change in how the protocol\ncreates the normalized string. For example, if a future version would switch the order of nonce and timestamp, it\ncan create an exploit opportunity for cases where the nonce is similar in format to a timestamp.\n\n### Does **Hawk** have anything to do with OAuth?\n\nShort answer: no.\n\n**Hawk** was originally proposed as the OAuth MAC Token specification. However, the OAuth working group in its consistent\nincompetence failed to produce a final, usable solution to address one of the most popular use cases of OAuth 1.0 - using it\nto authenticate simple client-server transactions (i.e. two-legged). As you can guess, the OAuth working group is still hard\nat work to produce more garbage.\n\n**Hawk** provides a simple HTTP authentication scheme for making client-server requests. It does not address the OAuth use case\nof delegating access to a third party. If you are looking for an OAuth alternative, check out [Oz](https://github.com/hueniverse/oz).\n\n\n# Acknowledgements\n\n**Hawk** is a derivative work of the [HTTP MAC Authentication Scheme](http://tools.ietf.org/html/draft-hammer-oauth-v2-mac-token-05) proposal\nco-authored by Ben Adida, Adam Barth, and Eran Hammer, which in turn was based on the OAuth 1.0 community specification.\n\nSpecial thanks to Ben Laurie for his always insightful feedback and advice.\n\nThe **Hawk** logo was created by [Chris Carrasco](http://chriscarrasco.com).\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/hueniverse/hawk/issues"},"homepage":"https://github.com/hueniverse/hawk","_id":"hawk@1.0.0","_from":"hawk@~1.0.0"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/browser.js","id":"hawk/test/browser.js","options":{},"isModule":true,"requiredModules":["lab","hoek/index.js","hawk/lib/index.js","hawk/lib/browser.js","localStorage"],"mtime":1369231558000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/client.js","id":"hawk/test/client.js","options":{},"isModule":true,"requiredModules":["url","lab","hawk/lib/index.js"],"mtime":1369143922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/crypto.js","id":"hawk/test/crypto.js","options":{},"isModule":true,"requiredModules":["lab","hawk/lib/index.js"],"mtime":1369143922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/index.js","id":"hawk/test/index.js","options":{},"isModule":true,"requiredModules":["url","lab","hawk/lib/index.js"],"mtime":1369143922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/message.js","id":"hawk/test/message.js","options":{},"isModule":true,"requiredModules":["url","lab","hoek/index.js","hawk/lib/index.js"],"mtime":1369231558000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/readme.js","id":"hawk/test/readme.js","options":{},"isModule":true,"requiredModules":["lab","hoek/index.js","hawk/lib/index.js"],"mtime":1369143922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/server.js","id":"hawk/test/server.js","options":{},"isModule":true,"requiredModules":["url","lab","hawk/lib/index.js"],"mtime":1369283260000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/uri.js","id":"hawk/test/uri.js","options":{},"isModule":true,"requiredModules":["http","lab","hawk/lib/index.js"],"mtime":1369143922000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/test/utils.js","id":"hawk/test/utils.js","options":{},"isModule":true,"requiredModules":["lab","hawk/lib/index.js","/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/hawk/package.json"],"mtime":1372547149000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/lib/index.js","id":"http-signature/lib/index.js","options":{},"isModule":true,"requiredModules":["http-signature/lib/parser.js","http-signature/lib/signer.js","http-signature/lib/verify.js","http-signature/lib/util.js"],"mtime":1367940255000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/lib/parser.js","id":"http-signature/lib/parser.js","options":{},"isModule":true,"requiredModules":["assert-plus/assert.js","util/util.js"],"mtime":1367940255000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/lib/signer.js","id":"http-signature/lib/signer.js","options":{},"isModule":true,"requiredModules":["assert-plus/assert.js","crypto","http","util/util.js"],"mtime":1367940255000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/lib/util.js","id":"http-signature/lib/util.js","options":{},"isModule":true,"requiredModules":["assert-plus/assert.js","crypto","asn1/lib/index.js","ctype/ctype.js"],"mtime":1367940255000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/lib/verify.js","id":"http-signature/lib/verify.js","options":{},"isModule":true,"requiredModules":["assert-plus/assert.js","crypto"],"mtime":1367940255000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js","id":"asn1/lib/ber/errors.js","options":{},"isModule":true,"mtime":1311378950000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js","id":"asn1/lib/ber/index.js","options":{},"isModule":true,"requiredModules":["asn1/lib/ber/errors.js","asn1/lib/ber/types.js","asn1/lib/ber/reader.js","asn1/lib/ber/writer.js"],"mtime":1311127161000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js","id":"asn1/lib/ber/reader.js","options":{},"isModule":true,"requiredModules":["assert","asn1/lib/ber/types.js","asn1/lib/ber/errors.js"],"mtime":1325869045000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js","id":"asn1/lib/ber/types.js","options":{},"isModule":true,"mtime":1325868994000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js","id":"asn1/lib/ber/writer.js","options":{},"isModule":true,"requiredModules":["assert","asn1/lib/ber/types.js","asn1/lib/ber/errors.js"],"mtime":1325869054000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js","id":"asn1/lib/index.js","options":{},"isModule":true,"requiredModules":["asn1/lib/ber/index.js"],"mtime":1311378978000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json","data":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"contributors":[{"name":"David Gwynne","email":"loki@animata.net"},{"name":"Yunong Xiao","email":"yunong@joyent.com"}],"name":"asn1","description":"Contains parsers and serializers for ASN.1 (currently BER only)","version":"0.1.11","repository":{"type":"git","url":"git://github.com/mcavage/node-asn1.git"},"main":"lib/index.js","engines":{"node":">=0.4.9"},"dependencies":{},"devDependencies":{"tap":"0.1.4"},"scripts":{"pretest":"which gjslint; if [[ \"$?\" = 0 ]] ; then  gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi","test":"tap ./tst"},"readme":"node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS.\nCurrently BER encoding is supported; at some point I'll likely have to do DER.\n\n## Usage\n\nMostly, if you're *actually* needing to read and write ASN.1, you probably don't\nneed this readme to explain what and why.  If you have no idea what ASN.1 is,\nsee this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc\n\nThe source is pretty much self-explanatory, and has read/write methods for the\ncommon types out there.\n\n### Decoding\n\nThe following reads an ASN.1 sequence with a boolean.\n\n    var Ber = require('asn1').Ber;\n\n    var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff]));\n\n    reader.readSequence();\n    console.log('Sequence len: ' + reader.length);\n    if (reader.peek() === Ber.Boolean)\n      console.log(reader.readBoolean());\n\n### Encoding\n\nThe following generates the same payload as above.\n\n    var Ber = require('asn1').Ber;\n\n    var writer = new Ber.Writer();\n\n    writer.startSequence();\n    writer.writeBoolean(true);\n    writer.endSequence();\n\n    console.log(writer.buffer);\n\n## Installation\n\n    npm install asn1\n\n## License\n\nMIT.\n\n## Bugs\n\nSee <https://github.com/mcavage/node-asn1/issues>.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mcavage/node-asn1/issues"},"homepage":"https://github.com/mcavage/node-asn1","_id":"asn1@0.1.11","_shasum":"559be18376d08a4ec4dbe80877d27818639b2df7","_from":"asn1@0.1.11","_resolved":"https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js","id":"asn1/tst/ber/reader.test.js","options":{},"isModule":true,"requiredModules":["tap","asn1/lib/index.js"],"mtime":1311446576000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js","id":"asn1/tst/ber/writer.test.js","options":{},"isModule":true,"requiredModules":["tap","sys","asn1/lib/index.js","util/util.js"],"mtime":1323362844000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js","id":"assert-plus/assert.js","options":{},"isModule":true,"requiredModules":["assert","stream","util/util.js"],"mtime":1348004643000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json","data":{"author":{"name":"Mark Cavage","email":"mcavage@gmail.com"},"name":"assert-plus","description":"Extra assertions on top of node's assert module","version":"0.1.2","main":"./assert.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":">=0.6"},"readme":"# node-assert-plus\n\nThis library is a super small wrapper over node's assert module that has two\nthings: (1) the ability to disable assertions with the environment variable\nNODE_NDEBUG, and (2) some API wrappers for argument testing.  Like\n`assert.string(myArg, 'myArg')`.  As a simple example, most of my code looks\nlike this:\n\n    var assert = require('assert-plus');\n\n    function fooAccount(options, callback) {\n\t    assert.object(options, 'options');\n\t\tassert.number(options.id, 'options.id);\n\t\tassert.bool(options.isManager, 'options.isManager');\n\t\tassert.string(options.name, 'options.name');\n\t\tassert.arrayOfString(options.email, 'options.email');\n\t\tassert.func(callback, 'callback');\n\n        // Do stuff\n\t\tcallback(null, {});\n    }\n\n# API\n\nAll methods that *aren't* part of node's core assert API are simply assumed to\ntake an argument, and then a string 'name' that's not a message; `AssertionError`\nwill be thrown if the assertion fails with a message like:\n\n    AssertionError: foo (string) is required\n\tat test (/home/mark/work/foo/foo.js:3:9)\n\tat Object.<anonymous> (/home/mark/work/foo/foo.js:15:1)\n\tat Module._compile (module.js:446:26)\n\tat Object..js (module.js:464:10)\n\tat Module.load (module.js:353:31)\n\tat Function._load (module.js:311:12)\n\tat Array.0 (module.js:484:10)\n\tat EventEmitter._tickCallback (node.js:190:38)\n\nfrom:\n\n    function test(foo) {\n\t    assert.string(foo, 'foo');\n    }\n\nThere you go.  You can check that arrays are of a homogenous type with `Arrayof$Type`:\n\n    function test(foo) {\n\t    assert.arrayOfString(foo, 'foo');\n    }\n\nYou can assert IFF an argument is not `undefined` (i.e., an optional arg):\n\n    assert.optionalString(foo, 'foo');\n\nLastly, you can opt-out of assertion checking altogether by setting the\nenvironment variable `NODE_NDEBUG=1`.  This is pseudo-useful if you have\nlots of assertions, and don't want to pay `typeof ()` taxes to v8 in\nproduction.\n\nThe complete list of APIs is:\n\n* assert.bool\n* assert.buffer\n* assert.func\n* assert.number\n* assert.object\n* assert.string\n* assert.arrayOfBool\n* assert.arrayOfFunc\n* assert.arrayOfNumber\n* assert.arrayOfObject\n* assert.arrayOfString\n* assert.optionalBool\n* assert.optionalBuffer\n* assert.optionalFunc\n* assert.optionalNumber\n* assert.optionalObject\n* assert.optionalString\n* assert.optionalArrayOfBool\n* assert.optionalArrayOfFunc\n* assert.optionalArrayOfNumber\n* assert.optionalArrayOfObject\n* assert.optionalArrayOfString\n* assert.AssertionError\n* assert.fail\n* assert.ok\n* assert.equal\n* assert.notEqual\n* assert.deepEqual\n* assert.notDeepEqual\n* assert.strictEqual\n* assert.notStrictEqual\n* assert.throws\n* assert.doesNotThrow\n* assert.ifError\n\n# Installation\n\n    npm install assert-plus\n\n## License\n\nThe MIT License (MIT)\nCopyright (c) 2012 Mark Cavage\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Bugs\n\nSee <https://github.com/mcavage/node-assert-plus/issues>.\n","readmeFilename":"README.md","_id":"assert-plus@0.1.2","_shasum":"d93ffdbb67ac5507779be316a7d65146417beef8","_from":"assert-plus@0.1.2","_resolved":"https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js","id":"ctype/ctf.js","options":{},"isModule":true,"requiredModules":["assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js","id":"ctype/ctio.js","options":{},"isModule":true,"requiredModules":["assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js","id":"ctype/ctype.js","options":{},"isModule":true,"requiredModules":["ctype/ctf.js","ctype/ctio.js","assert"],"mtime":1349567501000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json","data":{"name":"ctype","version":"0.5.2","description":"read and write binary structures and data types","homepage":"https://github.com/rmustacc/node-ctype","author":{"name":"Robert Mustacchi","email":"rm@fingolfin.org"},"engines":{"node":">= 0.4"},"main":"ctype.js","readme":"Node-CType is a way to read and write binary data in structured and easy to use\nformat. Its name comes from the C header file.\n\nTo get started, simply clone the repository or use npm to install it. Once it is\nthere, simply require it.\n\ngit clone git://github.com/rmustacc/node-ctype\nnpm install ctype\nvar mod_ctype = require('ctype')\n\n\nThere are two APIs that you can use, depending on what abstraction you'd like.\nThe low level API let's you read and write individual integers and floats from\nbuffers. The higher level API let's you read and write structures of these. To\nillustrate this, let's looks look at how we would read and write a binary\nencoded x,y point.\n\nIn C we would define this structure as follows:\n\ntypedef struct point {\n\tuint16_t\tp_x;\n\tuint16_t\tp_y;\n} point_t;\n\nTo read a binary encoded point from a Buffer, we first need to create a CType\nparser (where we specify the endian and other options) and add the typedef.\n\nvar parser = new mod_ctype.Parser({ endian: 'big' });\nparser.typedef('point_t', [\n\t{ x: { type: 'uint16_t' } },\n\t{ y: { type: 'uint16_t' } }\n]);\n\nFrom here, given a buffer buf and an offset into it, we can read a point.\n\nvar out = parser.readData([ { point: { type: 'point_t' } } ], buffer, 0);\nconsole.log(out);\n{ point: { x: 23, y: 42 } }\n\nAnother way to get the same information would be to use the low level methods.\nNote that these require you to manually deal with the offset. Here's how we'd\nget the same values of x and y from the buffer.\n\nvar x = mod_ctype.ruint16(buf, 'big', 0);\nvar y = mod_ctype.ruint16(buf, 'big', 2);\nconsole.log(x + ', ' + y);\n23, 42\n\nThe true power of this API comes from the ability to define and nest typedefs,\njust as you would in C. By default, the following types are defined by default.\nNote that they return a Number, unless indicated otherwise.\n\n    * int8_t\n    * int16_t\n    * int32_t\n    * int64_t (returns an array where val[0] << 32 + val[1] would be the value)\n    * uint8_t\n    * uint16_t\n    * uint32_t\n    * uint64_t (returns an array where val[0] << 32 + val[1] would be the value)\n    * float\n    * double\n    * char (either returns a buffer with that character or a uint8_t)\n    * char[] (returns an object with the buffer and the number of characters read which is either the total amount requested or until the first 0)\n\n\nctf2json integration:\n\nNode-CType supports consuming the output of ctf2json. Once you read in a JSON file,\nall you have to do to add all the definitions it contains is:\n\nvar data, parser;\ndata = JSON.parse(parsedJSONData);\nparser = mod_ctype.parseCTF(data, { endian: 'big' });\n\nFor more documentation, see the file README.old. Full documentation is in the\nprocess of being rewritten as a series of manual pages which will be available\nin the repository and online for viewing.\n\nTo read the ctio manual page simple run, from the root of the workspace:\n\nman -Mman -s 3ctype ctio\n","readmeFilename":"README","_id":"ctype@0.5.2","_shasum":"fe8091d468a373a0b0c9ff8bbfb3425c00973a1d","_from":"ctype@0.5.2","_resolved":"https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz","scripts":{}},"mtime":1415897194000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/float.json","id":"ctype/tst/ctf/float.json","options":{},"isModule":true,"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/int.json","id":"ctype/tst/ctf/int.json","options":{},"isModule":true,"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/psinfo.json","id":"ctype/tst/ctf/psinfo.json","options":{},"isModule":true,"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/struct.json","id":"ctype/tst/ctf/struct.json","options":{},"isModule":true,"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.fail.js","id":"ctype/tst/ctf/tst.fail.js","options":{},"isModule":true,"requiredModules":["assert","ctype/ctype.js"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.float.js","id":"ctype/tst/ctf/tst.float.js","options":{},"isModule":true,"requiredModules":["fs","ctype/ctype.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.int.js","id":"ctype/tst/ctf/tst.int.js","options":{},"isModule":true,"requiredModules":["fs","ctype/ctype.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.psinfo.js","id":"ctype/tst/ctf/tst.psinfo.js","options":{},"isModule":true,"requiredModules":["fs","ctype/ctype.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.struct.js","id":"ctype/tst/ctf/tst.struct.js","options":{},"isModule":true,"requiredModules":["fs","ctype/ctype.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.typedef.js","id":"ctype/tst/ctf/tst.typedef.js","options":{},"isModule":true,"requiredModules":["fs","ctype/ctype.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/typedef.json","id":"ctype/tst/ctf/typedef.json","options":{},"isModule":true,"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.rfloat.js","id":"ctype/tst/ctio/float/tst.rfloat.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.wfloat.js","id":"ctype/tst/ctio/float/tst.wfloat.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.64.js","id":"ctype/tst/ctio/int/tst.64.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.rint.js","id":"ctype/tst/ctio/int/tst.rint.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wbounds.js","id":"ctype/tst/ctio/int/tst.wbounds.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wint.js","id":"ctype/tst/ctio/int/tst.wint.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.64.js","id":"ctype/tst/ctio/uint/tst.64.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.roundtrip.js","id":"ctype/tst/ctio/uint/tst.roundtrip.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.ruint.js","id":"ctype/tst/ctio/uint/tst.ruint.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.wuint.js","id":"ctype/tst/ctio/uint/tst.wuint.js","options":{},"isModule":true,"requiredModules":["ctype/ctio.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicr.js","id":"ctype/tst/ctype/tst.basicr.js","options":{},"isModule":true,"requiredModules":["ctype/ctype.js","assert","sys"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicw.js","id":"ctype/tst/ctype/tst.basicw.js","options":{},"isModule":true,"requiredModules":["ctype/ctype.js","assert","sys"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.char.js","id":"ctype/tst/ctype/tst.char.js","options":{},"isModule":true,"requiredModules":["ctype/ctype.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.endian.js","id":"ctype/tst/ctype/tst.endian.js","options":{},"isModule":true,"requiredModules":["ctype/ctype.js","assert"],"mtime":1349567520000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.oldwrite.js","id":"ctype/tst/ctype/tst.oldwrite.js","options":{},"isModule":true,"requiredModules":["ctype/ctype.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.readSize.js","id":"ctype/tst/ctype/tst.readSize.js","options":{},"isModule":true,"requiredModules":["ctype/ctype.js","assert"],"mtime":1349069684000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.structw.js","id":"ctype/tst/ctype/tst.structw.js","options":{},"isModule":true,"requiredModules":["ctype/ctype.js","assert"],"mtime":1349069100000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.writeStruct.js","id":"ctype/tst/ctype/tst.writeStruct.js","options":{},"isModule":true,"requiredModules":["ctype/ctype.js","assert"],"mtime":1349071371000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/http-signature/package.json","data":{"author":{"name":"Joyent, Inc"},"name":"http-signature","description":"Reference implementation of Joyent's HTTP Signature Scheme","version":"0.10.0","repository":{"type":"git","url":"git://github.com/joyent/node-http-signature.git"},"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"tap tst/*.js"},"dependencies":{"assert-plus":"0.1.2","asn1":"0.1.11","ctype":"0.5.2"},"devDependencies":{"node-uuid":"1.4.0","tap":"0.4.2"},"readme":"# node-http-signature\n\nnode-http-signature is a node.js library that has client and server components\nfor Joyent's [HTTP Signature Scheme](http_signing.md).\n\n## Usage\n\nNote the example below signs a request with the same key/cert used to start an\nHTTP server. This is almost certainly not what you actaully want, but is just\nused to illustrate the API calls; you will need to provide your own key\nmanagement in addition to this library.\n\n### Client\n\n    var fs = require('fs');\n    var https = require('https');\n    var httpSignature = require('http-signature');\n\n    var key = fs.readFileSync('./key.pem', 'ascii');\n\n    var options = {\n      host: 'localhost',\n      port: 8443,\n      path: '/',\n      method: 'GET',\n      headers: {}\n    };\n\n    // Adds a 'Date' header in, signs it, and adds the\n    // 'Authorization' header in.\n    var req = https.request(options, function(res) {\n      console.log(res.statusCode);\n    });\n\n\n    httpSignature.sign(req, {\n      key: key,\n      keyId: './cert.pem'\n    });\n\n    req.end();\n\n### Server\n\n    var fs = require('fs');\n    var https = require('https');\n    var httpSignature = require('http-signature');\n\n    var options = {\n      key: fs.readFileSync('./key.pem'),\n      cert: fs.readFileSync('./cert.pem')\n    };\n\n    https.createServer(options, function (req, res) {\n      var rc = 200;\n      var parsed = httpSignature.parseRequest(req);\n      var pub = fs.readFileSync(parsed.keyId, 'ascii');\n      if (!httpSignature.verifySignature(parsed, pub))\n        rc = 401;\n\n      res.writeHead(rc);\n      res.end();\n    }).listen(8443);\n\n## Installation\n\n    npm install http-signature\n\n## License\n\nMIT.\n\n## Bugs\n\nSee <https://github.com/joyent/node-http-signature/issues>.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/joyent/node-http-signature/issues"},"homepage":"https://github.com/joyent/node-http-signature","_id":"http-signature@0.10.0","_from":"http-signature@~0.10.0"},"mtime":1415897191000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/json-stringify-safe/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/json-stringify-safe/package.json","data":{"name":"json-stringify-safe","version":"5.0.0","description":"Like JSON.stringify, but doesn't blow up on circular refs","main":"stringify.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/isaacs/json-stringify-safe"},"keywords":["json","stringify","circular","safe"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me"},"license":"BSD","readmeFilename":"README.md","readme":"# json-stringify-safe\n\nLike JSON.stringify, but doesn't throw on circular references.\n\n## Usage\n\nTakes the same arguments as `JSON.stringify`.\n\n```javascript\nvar stringify = require('json-stringify-safe');\nvar circularObj = {};\ncircularObj.circularRef = circularObj;\ncircularObj.list = [ circularObj, circularObj ];\nconsole.log(stringify(circularObj, null, 2));\n```\n\nOutput:\n\n```json\n{\n  \"circularRef\": \"[Circular]\",\n  \"list\": [\n    \"[Circular]\",\n    \"[Circular]\"\n  ]\n}\n```\n\n## Details\n\n```\nstringify(obj, serializer, indent, decycler)\n```\n\nThe first three arguments are the same as to JSON.stringify.  The last\nis an argument that's only used when the object has been seen already.\n\nThe default `decycler` function returns the string `'[Circular]'`.\nIf, for example, you pass in `function(k,v){}` (return nothing) then it\nwill prune cycles.  If you pass in `function(k,v){ return {foo: 'bar'}}`,\nthen cyclical objects will always be represented as `{\"foo\":\"bar\"}` in\nthe result.\n\n```\nstringify.getSerialize(serializer, decycler)\n```\n\nReturns a serializer that can be used elsewhere.  This is the actual\nfunction that's passed to JSON.stringify.\n","bugs":{"url":"https://github.com/isaacs/json-stringify-safe/issues"},"homepage":"https://github.com/isaacs/json-stringify-safe","_id":"json-stringify-safe@5.0.0","_from":"json-stringify-safe@~5.0.0"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/json-stringify-safe/stringify.js","id":"json-stringify-safe/stringify.js","options":{},"isModule":true,"mtime":1370391166000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/json-stringify-safe/test.js","id":"json-stringify-safe/test.js","options":{},"isModule":true,"requiredModules":["json-stringify-safe/stringify.js","assert"],"mtime":1370391363000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/mime/mime.js","id":"mime/mime.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1376588058000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/mime/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/mime/package.json","data":{"author":{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"},"contributors":[{"name":"Benjamin Thomas","email":"benjamin@benjaminthomas.org","url":"http://github.com/bentomas"}],"dependencies":{},"description":"A comprehensive library for mime-type mapping","devDependencies":{},"keywords":["util","mime"],"main":"mime.js","name":"mime","repository":{"url":"https://github.com/broofa/node-mime","type":"git"},"version":"1.2.11","readme":"# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n    npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.\n\n    var mime = require('mime');\n\n    mime.lookup('/path/to/file.txt');         // => 'text/plain'\n    mime.lookup('file.txt');                  // => 'text/plain'\n    mime.lookup('.TXT');                      // => 'text/plain'\n    mime.lookup('htm');                       // => 'text/html'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n    mime.extension('text/html');                 // => 'html'\n    mime.extension('application/octet-stream');  // => 'bin'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n    mime.charsets.lookup('text/plain');        // => 'UTF-8'\n\n(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project.  If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n    mime.define({\n        'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],\n        'application/x-my-type': ['x-mt', 'x-mtt'],\n        // etc ...\n    });\n\n    mime.lookup('x-sft');                 // => 'text/x-some-format'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n    mime.extension('text/x-some-format'); // => 'x-sf'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache \".types\" format file\n\n    mime.load('./my_project.types');\n\nThe .types file format is simple -  See the `types` dir for examples.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/broofa/node-mime/issues"},"homepage":"https://github.com/broofa/node-mime","_id":"mime@1.2.11","_shasum":"58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10","_from":"mime@~1.2.9","_resolved":"https://registry.npmjs.org/mime/-/mime-1.2.11.tgz","scripts":{}},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/mime/test.js","id":"mime/test.js","options":{},"isModule":true,"requiredModules":["mime/mime.js","assert","path"],"mtime":1376588031000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js","id":"node-uuid/benchmark/benchmark.js","options":{},"isModule":true,"requiredModules":["node-uuid/uuid.js","uuid","uuid-js"],"mtime":1376743775000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/node-uuid/component.json","id":"node-uuid/component.json","options":{},"isModule":true,"mtime":1376743797000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/node-uuid/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/node-uuid/package.json","data":{"name":"node-uuid","description":"Rigorous implementation of RFC4122 (v1 and v4) UUIDs.","url":"http://github.com/broofa/node-uuid","keywords":["uuid","guid","rfc4122"],"author":{"name":"Robert Kieffer","email":"robert@broofa.com"},"contributors":[{"name":"Christoph Tavan","email":"dev@tavan.de"}],"lib":".","main":"./uuid.js","repository":{"type":"git","url":"https://github.com/broofa/node-uuid.git"},"version":"1.4.1","readme":"# node-uuid\n\nSimple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.\n\nFeatures:\n\n* Generate RFC4122 version 1 or version 4 UUIDs\n* Runs in node.js and all browsers.\n* Registered as a [ComponentJS](https://github.com/component/component) [component](https://github.com/component/component/wiki/Components) ('broofa/node-uuid').\n* Cryptographically strong random # generation on supporting platforms\n* 1.1K minified and gzip'ed  (Want something smaller?  Check this [crazy shit](https://gist.github.com/982883) out! )\n* [Annotated source code](http://broofa.github.com/node-uuid/docs/uuid.html)\n\n## Getting Started\n\nInstall it in your browser:\n\n```html\n<script src=\"uuid.js\"></script>\n```\n\nOr in node.js:\n\n```\nnpm install node-uuid\n```\n\n```javascript\nvar uuid = require('node-uuid');\n```\n\nThen create some ids ...\n\n```javascript\n// Generate a v1 (time-based) id\nuuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'\n\n// Generate a v4 (random) id\nuuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'\n```\n\n## API\n\n### uuid.v1([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v1 (timestamp-based) UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n  * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID.  See note 1.\n  * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence.  Default: An internally maintained clockseq is used.\n  * `msecs` - (Number | Date) Time in milliseconds since unix Epoch.  Default: The current time is used.\n  * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nNotes:\n\n1. The randomly generated node id is only guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v1({\n  node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],\n  clockseq: 0x1234,\n  msecs: new Date('2011-11-01').getTime(),\n  nsecs: 5678\n});   // -> \"710b962e-041c-11e1-9234-0123456789ab\"\n```\n\nExample: In-place generation of two binary IDs\n\n```javascript\n// Generate two ids in an array\nvar arr = new Array(32); // -> []\nuuid.v1(null, arr, 0);   // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\nuuid.v1(null, arr, 16);  // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]\n\n// Optionally use uuid.unparse() to get stringify the ids\nuuid.unparse(buffer);    // -> '02a2ce90-1432-11e1-8558-0b488e4fc115'\nuuid.unparse(buffer, 16) // -> '02a31cb0-1432-11e1-8558-0b488e4fc115'\n```\n\n### uuid.v4([`options` [, `buffer` [, `offset`]]])\n\nGenerate and return a RFC4122 v4 UUID.\n\n* `options` - (Object) Optional uuid state to apply. Properties may include:\n\n  * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values\n  * `rng` - (Function) Random # generator to use.  Set to one of the built-in generators - `uuid.mathRNG` (all platforms), `uuid.nodeRNG` (node.js only), `uuid.whatwgRNG` (WebKit only) - or a custom function that returns an array[16] of byte values.\n\n* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.\n* `offset` - (Number) Starting index in `buffer` at which to begin writing.\n\nReturns `buffer`, if specified, otherwise the string form of the UUID\n\nExample: Generate string UUID with fully-specified options\n\n```javascript\nuuid.v4({\n  random: [\n    0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,\n    0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36\n  ]\n});\n// -> \"109156be-c4fb-41ea-b1b4-efe1671c5836\"\n```\n\nExample: Generate two IDs in a single buffer\n\n```javascript\nvar buffer = new Array(32); // (or 'new Buffer' in node.js)\nuuid.v4(null, buffer, 0);\nuuid.v4(null, buffer, 16);\n```\n\n### uuid.parse(id[, buffer[, offset]])\n### uuid.unparse(buffer[, offset])\n\nParse and unparse UUIDs\n\n  * `id` - (String) UUID(-like) string\n  * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written. Default: A new Array or Buffer is used\n  * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default: 0\n\nExample parsing and unparsing a UUID string\n\n```javascript\nvar bytes = uuid.parse('797ff043-11eb-11e1-80d6-510998755d10'); // -> <Buffer 79 7f f0 43 11 eb 11 e1 80 d6 51 09 98 75 5d 10>\nvar string = uuid.unparse(bytes); // -> '797ff043-11eb-11e1-80d6-510998755d10'\n```\n\n### uuid.noConflict()\n\n(Browsers only) Set `uuid` property back to it's previous value.\n\nReturns the node-uuid object.\n\nExample:\n\n```javascript\nvar myUuid = uuid.noConflict();\nmyUuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'\n```\n\n## Deprecated APIs\n\nSupport for the following v1.2 APIs is available in v1.3, but is deprecated and will be removed in the next major version.\n\n### uuid([format [, buffer [, offset]]])\n\nuuid() has become uuid.v4(), and the `format` argument is now implicit in the `buffer` argument. (i.e. if you specify a buffer, the format is assumed to be binary).\n\n### uuid.BufferClass\n\nThe class of container created when generating binary uuid data if no buffer argument is specified.  This is expected to go away, with no replacement API.\n\n## Testing\n\nIn node.js\n\n```\n> cd test\n> node test.js\n```\n\nIn Browser\n\n```\nopen test/test.html\n```\n\n### Benchmarking\n\nRequires node.js\n\n```\nnpm install uuid uuid-js\nnode benchmark/benchmark.js\n```\n\nFor a more complete discussion of node-uuid performance, please see the `benchmark/README.md` file, and the [benchmark wiki](https://github.com/broofa/node-uuid/wiki/Benchmark)\n\nFor browser performance [checkout the JSPerf tests](http://jsperf.com/node-uuid-performance).\n\n## Release notes\n\n### 1.4.0\n\n* Improved module context detection\n* Removed public RNG functions\n\n### 1.3.2\n\n* Improve tests and handling of v1() options (Issue #24)\n* Expose RNG option to allow for perf testing with different generators\n\n### 1.3.0\n\n* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)!\n* Support for node.js crypto API\n* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/broofa/node-uuid/issues"},"homepage":"https://github.com/broofa/node-uuid","_id":"node-uuid@1.4.1","_from":"node-uuid@~1.4.0","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/node-uuid/test/compare_v1.js","id":"node-uuid/test/compare_v1.js","options":{},"isModule":true,"requiredModules":["assert","node-uuid/uuid.js","uuid-js","uuid","util/util.js","child_process","os"],"mtime":1325557066000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/node-uuid/test/test.js","id":"node-uuid/test/test.js","options":{},"isModule":true,"requiredModules":["node-uuid/uuid.js"],"mtime":1376743775000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/node-uuid/uuid.js","id":"node-uuid/uuid.js","options":{},"isModule":true,"requiredModules":["crypto"],"mtime":1376743797000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/oauth-sign/index.js","id":"oauth-sign/index.js","options":{},"isModule":true,"requiredModules":["crypto","querystring"],"mtime":1362169119000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/oauth-sign/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/oauth-sign/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"oauth-sign","description":"OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.","version":"0.3.0","repository":{"url":"https://github.com/mikeal/oauth-sign"},"main":"index.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"scripts":{"test":"node test.js"},"readme":"oauth-sign\n==========\n\nOAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module. \n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/oauth-sign/issues"},"homepage":"https://github.com/mikeal/oauth-sign","_id":"oauth-sign@0.3.0","_from":"oauth-sign@~0.3.0"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/oauth-sign/test.js","id":"oauth-sign/test.js","options":{},"isModule":true,"requiredModules":["oauth-sign/index.js","assert","querystring"],"mtime":1362169342000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/qs/index.js","id":"qs/index.js","options":{},"isModule":true,"mtime":1386088635000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/qs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/qs/package.json","data":{"name":"qs","description":"querystring parser","version":"0.6.6","keywords":["query string","parser","component"],"repository":{"type":"git","url":"git://github.com/visionmedia/node-querystring.git"},"devDependencies":{"mocha":"*","expect.js":"*"},"scripts":{"test":"make test"},"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"main":"index","engines":{"node":"*"},"readme":"# node-querystring\n\n  query string parser for node and the browser supporting nesting, as it was removed from `0.3.x`, so this library provides the previous and commonly desired behaviour (and twice as fast). Used by [express](http://expressjs.com), [connect](http://senchalabs.github.com/connect) and others.\n\n## Installation\n\n    $ npm install qs\n\n## Examples\n\n```js\nvar qs = require('qs');\n\nqs.parse('user[name][first]=Tobi&user[email]=tobi@learnboost.com');\n// => { user: { name: { first: 'Tobi' }, email: 'tobi@learnboost.com' } }\n\nqs.stringify({ user: { name: 'Tobi', email: 'tobi@learnboost.com' }})\n// => user[name]=Tobi&user[email]=tobi%40learnboost.com\n```\n\n## Testing\n\nInstall dev dependencies:\n\n    $ npm install -d\n\nand execute:\n\n    $ make test\n\nbrowser:\n\n    $ open test/browser/index.html\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/node-querystring/issues"},"homepage":"https://github.com/visionmedia/node-querystring","_id":"qs@0.6.6","_shasum":"6e015098ff51968b8a3c819001d5f2c89bc4b107","_from":"qs@~0.6.0","_resolved":"https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/tunnel-agent/index.js","id":"tunnel-agent/index.js","options":{},"isModule":true,"requiredModules":["net","tls","http","https","events","assert","util/util.js"],"mtime":1362170392000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/tunnel-agent/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/node_modules/tunnel-agent/package.json","data":{"author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com","url":"http://www.futurealoof.com"},"name":"tunnel-agent","description":"HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.","version":"0.3.0","repository":{"url":"https://github.com/mikeal/tunnel-agent"},"main":"index.js","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"readme":"tunnel-agent\n============\n\nHTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/mikeal/tunnel-agent/issues"},"homepage":"https://github.com/mikeal/tunnel-agent","_id":"tunnel-agent@0.3.0","_from":"tunnel-agent@~0.3.0","scripts":{}},"mtime":1415897191000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/package.json","data":{"name":"request","description":"Simplified HTTP request client.","tags":["http","simple","util","utility"],"version":"2.27.0","author":{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com"},"repository":{"type":"git","url":"http://github.com/mikeal/request.git"},"bugs":{"url":"http://github.com/mikeal/request/issues"},"engines":["node >= 0.8.0"],"main":"index.js","dependencies":{"qs":"~0.6.0","json-stringify-safe":"~5.0.0","forever-agent":"~0.5.0","tunnel-agent":"~0.3.0","http-signature":"~0.10.0","hawk":"~1.0.0","aws-sign":"~0.3.0","oauth-sign":"~0.3.0","cookie-jar":"~0.3.0","node-uuid":"~1.4.0","mime":"~1.2.9","form-data":"~0.1.0"},"scripts":{"test":"node tests/run.js"},"readme":"# Request -- Simplified HTTP client\n\n[![NPM](https://nodei.co/npm/request.png)](https://nodei.co/npm/request/)\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require('request');\nrequest('http://www.google.com', function (error, response, body) {\n  if (!error && response.statusCode == 200) {\n    console.log(body) // Print the google web page.\n  }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types, in this case `application/json`, and use the proper content-type in the PUT request if one is not already provided in the headers.\n\n```javascript\nfs.createReadStream('file.json').pipe(request.put('http://mysite.com/obj.json'))\n```\n\nRequest can also pipe to itself. When doing so the content-type and content-length will be preserved in the PUT headers.\n\n```javascript\nrequest.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png'))\n```\n\nNow let's get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n  if (req.url === '/doodle.png') {\n    if (req.method === 'PUT') {\n      req.pipe(request.put('http://mysite.com/doodle.png'))\n    } else if (req.method === 'GET' || req.method === 'HEAD') {\n      request.get('http://mysite.com/doodle.png').pipe(resp)\n    }\n  }\n})\n```\n\nYou can also pipe() from a http.ServerRequest instance and to a http.ServerResponse instance. The HTTP method and headers will be sent as well as the entity-body data. Which means that, if you don't really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n  if (req.url === '/doodle.png') {\n    var x = request('http://mysite.com/doodle.png')\n    req.pipe(x)\n    x.pipe(resp)\n  }\n})\n```\n\nAnd since pipe() returns the destination stream in node 0.5.x you can do one line proxying :)\n\n```javascript\nreq.pipe(request('http://mysite.com/doodle.png')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({'proxy':'http://localproxy.com'})\n\nhttp.createServer(function (req, resp) {\n  if (req.url === '/doodle.png') {\n    r.get('http://google.com/doodle.png').pipe(resp)\n  }\n})\n```\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nUrl encoded forms are simple\n\n```javascript\nrequest.post('http://service.com/upload', {form:{key:'value'}})\n// or\nrequest.post('http://service.com/upload').form({key:'value'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don't need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post('http://service.com/upload')\nvar form = r.form()\nform.append('my_field', 'my_value')\nform.append('my_buffer', new Buffer([1, 2, 3]))\nform.append('my_file', fs.createReadStream(path.join(__dirname, 'doodle.png'))\nform.append('remote_file', request('http://google.com/doodle.png'))\n```\n\n## HTTP Authentication\n\n```javascript\nrequest.get('http://some.server.com/').auth('username', 'password', false);\n// or\nrequest.get('http://some.server.com/', {\n  'auth': {\n    'user': 'username',\n    'pass': 'password',\n    'sendImmediately': false\n  }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional).  The method form takes parameters `auth(username, password, sendImmediately)`.\n\n`sendImmediately` defaults to true, which will cause a basic authentication header to be sent.  If `sendImmediately` is `false`, then `request` will retry with a proper authentication header after receiving a 401 response from the server (which must contain a `WWW-Authenticate` header indicating the required authentication method).\n\nDigest authentication is supported, but it only works with `sendImmediately` set to `false` (otherwise `request` will send basic authentication on the initial request, which will probably cause the request to fail).\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require('querystring')\n  , oauth =\n    { callback: 'http://mysite.com/callback/'\n    , consumer_key: CONSUMER_KEY\n    , consumer_secret: CONSUMER_SECRET\n    }\n  , url = 'https://api.twitter.com/oauth/request_token'\n  ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n  // Ideally, you would take the body in the response\n  // and construct a URL that a user clicks on (like a sign in button).\n  // The verifier is only available in the response after a user has\n  // verified with twitter that they are authorizing your app.\n  var access_token = qs.parse(body)\n    , oauth =\n      { consumer_key: CONSUMER_KEY\n      , consumer_secret: CONSUMER_SECRET\n      , token: access_token.oauth_token\n      , verifier: access_token.oauth_verifier\n      }\n    , url = 'https://api.twitter.com/oauth/access_token'\n    ;\n  request.post({url:url, oauth:oauth}, function (e, r, body) {\n    var perm_token = qs.parse(body)\n      , oauth =\n        { consumer_key: CONSUMER_KEY\n        , consumer_secret: CONSUMER_SECRET\n        , token: perm_token.oauth_token\n        , token_secret: perm_token.oauth_token_secret\n        }\n      , url = 'https://api.twitter.com/1/users/show.json?'\n      , params =\n        { screen_name: perm_token.screen_name\n        , user_id: perm_token.user_id\n        }\n      ;\n    url += qs.stringify(params)\n    request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n      console.log(user)\n    })\n  })\n})\n```\n\n\n\n### request(options, callback)\n\nThe first argument can be either a url or an options object. The only required option is uri, all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from url.parse()\n* `qs` - object containing querystring values to be appended to the uri\n* `method` - http method, defaults to GET\n* `headers` - http headers, defaults to {}\n* `body` - entity body for PATCH, POST and PUT requests. Must be buffer or string.\n* `form` - when passed an object this will set `body` but to a querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no option a FormData instance is returned that will be piped to request.\n* `auth` - A hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional).  See documentation above.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header.  Additionally, parses the response body as json.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects. defaults to true.\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects. defaults to false.\n* `maxRedirects` - the maximum number of redirects to follow, defaults to 10.\n* `encoding` - Encoding to be used on `setEncoding` of response data. If set to `null`, the body is returned as a Buffer.\n* `pool` - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node's default maxSockets.\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\n* `proxy` - An HTTP proxy to be used. Support proxy Auth with Basic Auth the same way it's supported with the `url` parameter by embedding the auth info in the uri.\n* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above.\n* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option.\n* `jar` - Set to `true` if you want cookies to be remembered for future use, or define your custom cookie jar (see examples section)\n* `aws` - object containing aws signing information, should have the properties `key` and `secret` as well as `bucket` unless you're specifying your bucket as part of the path, or you are making a request that doesn't use a bucket (i.e. GET Services)\n* `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent's library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n* `localAddress` - Local interface to bind for network connections.\n\n\nThe callback argument gets 3 arguments. The first is an error when applicable (usually from the http.Client option not the http.ClientRequest object). The second is an http.ClientResponse object. The third is the response body String or Buffer.\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options)\n\nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as request() but defaults to `method: \"PUT\"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.patch\n\nSame as request() but defaults to `method: \"PATCH\"`.\n\n```javascript\nrequest.patch(url)\n```\n\n### request.post\n\nSame as request() but defaults to `method: \"POST\"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: \"HEAD\"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as request() but defaults to `method: \"DELETE\"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nAlias to normal request method for uniformity.\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie('cookie_string_here')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n  var request = require('request')\n    , rand = Math.floor(Math.random()*100000000).toString()\n    ;\n  request(\n    { method: 'PUT'\n    , uri: 'http://mikeal.iriscouch.com/testjs/' + rand\n    , multipart:\n      [ { 'content-type': 'application/json'\n        ,  body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})\n        }\n      , { body: 'I am an attachment' }\n      ]\n    }\n  , function (error, response, body) {\n      if(response.statusCode == 201){\n        console.log('document saved as: http://mikeal.iriscouch.com/testjs/'+ rand)\n      } else {\n        console.log('error: '+ response.statusCode)\n        console.log(body)\n      }\n    }\n  )\n```\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies set jar to true (either in defaults or in the options sent).\n\n```javascript\nvar request = request.defaults({jar: true})\nrequest('http://www.google.com', function () {\n  request('http://images.google.com')\n})\n```\n\nIf you to use a custom cookie jar (instead of letting request use its own global cookie jar) you do so by setting the jar default or by specifying it as an option:\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest('http://www.google.com', function () {\n  request('http://images.google.com')\n})\n```\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie('your_cookie_here')\nj.add(cookie)\nrequest({url: 'http://www.google.com', jar: j}, function () {\n  request('http://images.google.com')\n})\n```\n","readmeFilename":"README.md","homepage":"https://github.com/mikeal/request","_id":"request@2.27.0","_from":"request@~2.27.0"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/request.js","id":"request/request.js","options":{},"isModule":true,"requiredModules":["http","url","util/util.js","stream","qs/index.js","querystring","crypto","oauth-sign/index.js","hawk/index.js","aws-sign/index.js","http-signature/lib/index.js","node-uuid/uuid.js","mime/mime.js","tunnel-agent/index.js","json-stringify-safe/stringify.js","forever-agent/index.js","form-data/lib/form_data.js","cookie-jar/index.js","request/lib/copy.js","request/lib/debug.js","request/lib/getSafe.js","https","tls"],"mtime":1376602202000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/run.js","id":"request/tests/run.js","options":{},"isModule":true,"requiredModules":["child_process","fs"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/server.js","id":"request/tests/server.js","options":{},"isModule":true,"requiredModules":["fs","http","path","https","events","stream","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/ssl/ca/server.js","id":"request/tests/ssl/ca/server.js","options":{},"isModule":true,"requiredModules":["fs","https"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-agentOptions.js","id":"request/tests/test-agentOptions.js","options":{},"isModule":true,"requiredModules":["request/index.js","http","request/tests/server.js","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-basic-auth.js","id":"request/tests/test-basic-auth.js","options":{},"isModule":true,"requiredModules":["assert","http","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-body.js","id":"request/tests/test-body.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","stream","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-defaults.js","id":"request/tests/test-defaults.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-digest-auth.js","id":"request/tests/test-digest-auth.js","options":{},"isModule":true,"requiredModules":["assert","http","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-emptyBody.js","id":"request/tests/test-emptyBody.js","options":{},"isModule":true,"requiredModules":["request/index.js","http","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-errors.js","id":"request/tests/test-errors.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-follow-all-303.js","id":"request/tests/test-follow-all-303.js","options":{},"isModule":true,"requiredModules":["request/index.js","http","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-follow-all.js","id":"request/tests/test-follow-all.js","options":{},"isModule":true,"requiredModules":["request/index.js","http","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-form.js","id":"request/tests/test-form.js","options":{},"isModule":true,"requiredModules":["assert","http","path","mime/mime.js","request/index.js","fs"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-hawk.js","id":"request/tests/test-hawk.js","options":{},"isModule":true,"requiredModules":["http","request/index.js","hawk/index.js","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-headers.js","id":"request/tests/test-headers.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/index.js","cookie-jar/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-http-signature.js","id":"request/tests/test-http-signature.js","options":{},"isModule":true,"requiredModules":["http","request/index.js","http-signature/lib/index.js","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-httpModule.js","id":"request/tests/test-httpModule.js","options":{},"isModule":true,"requiredModules":["http","https","request/tests/server.js","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-https-strict.js","id":"request/tests/test-https-strict.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/index.js","fs","path"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-https.js","id":"request/tests/test-https.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-isUrl.js","id":"request/tests/test-isUrl.js","options":{},"isModule":true,"requiredModules":["assert","request/index.js","http"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-localAddress.js","id":"request/tests/test-localAddress.js","options":{},"isModule":true,"requiredModules":["request/index.js","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-oauth.js","id":"request/tests/test-oauth.js","options":{},"isModule":true,"requiredModules":["oauth-sign/index.js","assert","querystring","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-onelineproxy.js","id":"request/tests/test-onelineproxy.js","options":{},"isModule":true,"requiredModules":["http","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-params.js","id":"request/tests/test-params.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-piped-redirect.js","id":"request/tests/test-piped-redirect.js","options":{},"isModule":true,"requiredModules":["http","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-pipes.js","id":"request/tests/test-pipes.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","stream","assert","fs","request/index.js","path","util/util.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-pool.js","id":"request/tests/test-pool.js","options":{},"isModule":true,"requiredModules":["request/index.js","http","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-protocol-changing-redirect.js","id":"request/tests/test-protocol-changing-redirect.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-proxy.js","id":"request/tests/test-proxy.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","stream","assert","fs","request/index.js","path","util/util.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-qs.js","id":"request/tests/test-qs.js","options":{},"isModule":true,"requiredModules":["request/index.js","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-redirect.js","id":"request/tests/test-redirect.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/index.js","cookie-jar/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-s3.js","id":"request/tests/test-s3.js","options":{},"isModule":true,"requiredModules":["request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-timeout.js","id":"request/tests/test-timeout.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","events","stream","assert","request/index.js"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-toJSON.js","id":"request/tests/test-toJSON.js","options":{},"isModule":true,"requiredModules":["request/index.js","http","assert"],"mtime":1376602101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/node_modules/request/tests/test-tunnel.js","id":"request/tests/test-tunnel.js","options":{},"isModule":true,"requiredModules":["request/tests/server.js","assert","request/index.js","fs","path","child_process"],"mtime":1376602101000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/package.json","data":{"author":{"name":"Joshua Holbrook","email":"josh.holbrook@gmail.com","url":"http://jesusabdullah.github.com"},"name":"sendgrid-web","description":"Easily send emails with sendgrid and node.js","version":"0.0.5","homepage":"https://github.com/jesusabdullah/node-sendgrid-web","repository":{"type":"git","url":"git@github.com:jesusabdullah/node-sendgrid-web.git"},"main":"lib/sendgrid.js","scripts":{"test":"nodeunit test/*.js"},"engines":{"node":"*"},"dependencies":{"request":"~2.27.0"},"devDependencies":{"nodeunit":"~0.8.2"},"readme":"# sendgrid-web\n\nSend emails with [sendgrid](http://sendgrid.com) and node.js! This sendgrid module (there are others) uses their JSON web API and the [request](https://github.com/mikeal/request) module.\n\n## Install:\n\n    npm install sendgrid-web\n\n## Example:\n\n``` js\n    var Sendgrid = require(\"sendgrid-web\");\n\n    var sendgrid = new Sendgrid({\n      user: \"josh.holbrook@gmail.com\",\n      key: \"oh, like you need to know.\"\n    });\n\n    sendgrid.send({\n      to: 'josh.holbrook@gmail.com',\n      from: 'josh.holbrook@gmail.com',\n      subject: 'Hello world!',\n      html: '<h1>Hello world!</h1>'\n    }, function (err) {\n      if (err) {\n        console.log(err);\n      } else {\n        console.log(\"Success.\");\n      }\n    });\n```\n\n## Usage:\n\n### new Sendgrid(credentials)\n\nThis constructor creates a new sendgrid object. The \"credentials\" object should contain:\n\n* `user`: Your sendgrid username\n* `key`: Your sendgrid API key/password\n\n### sendgrid.send(options, cb)\n\nSends an email. Options are the same as those of the [sendgrid json web api](http://sendgrid.com/documentation/display/api/WebMail). Common ones include:\n\n* **to:** The recipient of the email.\n* **from:** The email address to reply back to.\n* **subject:** The subject of the email.\n* **html:** The body of the email, if it's intended to be treated like html.\n* **text:** The body of the email, if it's intended to be treated like plaintext.\n\n## Tests:\n\nIn order to run the tests, sendgrid needs a user, api key, and email addresses to send to and from. Before running these tests, open `./test/config-template.json`, edit it to contain your credentials and information, and save it as `./test/config.json`.\n\nThen, you may run the tests with nodeunit:\n\n    nodeunit test/*.js\n\n**Author:** Joshua Holbrook\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/jesusabdullah/node-sendgrid-web/issues"},"_id":"sendgrid-web@0.0.5","_shasum":"f8730c96b099b0fcd405b8730015b55f3cd7b77f","_from":"sendgrid-web@0.0.5","_resolved":"https://registry.npmjs.org/sendgrid-web/-/sendgrid-web-0.0.5.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/test/config-template.json","id":"sendgrid-web/test/config-template.json","options":{},"isModule":true,"mtime":1384284076000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sendgrid-web/test/test.js","id":"sendgrid-web/test/test.js","options":{},"isModule":true,"requiredModules":["assert","fs"],"mtime":1384284091000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/shell-escape/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/shell-escape/package.json","data":{"name":"shell-escape","version":"0.1.0","description":"Escape and stringify an array of arguments to be executed on the shell","author":{"name":"Dave Eddy","email":"dave@daveeddy.com","url":"http://www.daveeddy.com"},"main":"./shell-escape.js","scripts":{"test":"for f in test/*; do echo \"$f\"; node \"$f\" || exit 1; echo; done; echo Passed; exit 0"},"repository":{"type":"git","url":"git://github.com/bahamas10/node-shell-escape.git"},"license":"MIT","dependencies":{},"readme":"shell-escape\n============\n\nEscape and stringify an array of arguments to be executed on the shell\n\nInstall\n-------\n\n    npm install shell-escape\n\nExample\n-------\n\n### simple\n\n``` js\nvar shellescape = require('shell-escape');\n\nvar args = ['curl', '-v', '-H', 'Location;', '-H', 'User-Agent: dave#10', 'http://www.daveeddy.com/?name=dave&age=24'];\n\nvar escaped = shellescape(args);\nconsole.log(escaped);\n```\n\nyields\n\n```\ncurl -v -H $'Location;' -H $'User-Agent: dave#10' $'http://www.daveeddy.com/?name=dave&age=24'\n```\n\nA command suitable for being executed by the shell\n\n### advanced\n\n``` js\nvar shellescape = require('shell-escape');\n\nvar args = ['echo', 'hello!', 'how are you doing $USER', '\"double\"', \"'single'\"];\n\nvar escaped = shellescape(args);\nconsole.log(escaped);\n```\n\nyields\n\n```\necho $'hello!' $'how are you doing $USER' $'\"double\"' $'\\'single\\''\n```\n\nand when run on the shell\n\n```\n$ echo $'hello!' $'how are you doing $USER' $'\"double\"' $'\\'single\\''\nhello! how are you doing $USER \"double\" 'single'\n```\n\nLicense\n-------\n\nMIT\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/bahamas10/node-shell-escape/issues"},"homepage":"https://github.com/bahamas10/node-shell-escape","_id":"shell-escape@0.1.0","_shasum":"20e996fdd5f0c51be3f3c550119b77723d98e335","_from":"shell-escape@^0.1.0","_resolved":"https://registry.npmjs.org/shell-escape/-/shell-escape-0.1.0.tgz"},"mtime":1415897186000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shell-escape/shell-escape.js","id":"shell-escape/shell-escape.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1392058248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shell-escape/test/advanced.js","id":"shell-escape/test/advanced.js","options":{},"isModule":true,"requiredModules":["shell-escape/shell-escape.js","assert"],"mtime":1392058248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shell-escape/test/more.js","id":"shell-escape/test/more.js","options":{},"isModule":true,"requiredModules":["shell-escape/shell-escape.js","assert"],"mtime":1392058248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shell-escape/test/simple.js","id":"shell-escape/test/simple.js","options":{},"isModule":true,"requiredModules":["shell-escape/shell-escape.js","assert"],"mtime":1392058248000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/.documentup.json","id":"shelljs/.documentup.json","options":{},"isModule":true,"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/global.js","id":"shelljs/global.js","options":{},"isModule":true,"requiredModules":["shelljs/shell.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/make.js","id":"shelljs/make.js","options":{},"isModule":true,"requiredModules":["shelljs/global.js"],"mtime":1398103622000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/shelljs/package.json","data":{"name":"shelljs","version":"0.3.0","author":{"name":"Artur Adib","email":"aadib@mozilla.com"},"description":"Portable Unix shell commands for Node.js","keywords":["unix","shell","makefile","make","jake","synchronous"],"repository":{"type":"git","url":"git://github.com/arturadib/shelljs.git"},"license":"BSD*","homepage":"http://github.com/arturadib/shelljs","main":"./shell.js","scripts":{"test":"node scripts/run-tests"},"bin":{"shjs":"./bin/shjs"},"dependencies":{},"devDependencies":{"jshint":"~2.1.11"},"optionalDependencies":{},"engines":{"node":">=0.8.0"},"readme":"# ShellJS - Unix shell commands for Node.js [![Build Status](https://secure.travis-ci.org/arturadib/shelljs.png)](http://travis-ci.org/arturadib/shelljs)\n\nShellJS is a portable **(Windows/Linux/OS X)** implementation of Unix shell commands on top of the Node.js API. You can use it to eliminate your shell script's dependency on Unix while still keeping its familiar and powerful commands. You can also install it globally so you can run it from outside Node projects - say goodbye to those gnarly Bash scripts!\n\nThe project is [unit-tested](http://travis-ci.org/arturadib/shelljs) and battled-tested in projects like:\n\n+ [PDF.js](http://github.com/mozilla/pdf.js) - Firefox's next-gen PDF reader\n+ [Firebug](http://getfirebug.com/) - Firefox's infamous debugger\n+ [JSHint](http://jshint.com) - Most popular JavaScript linter\n+ [Zepto](http://zeptojs.com) - jQuery-compatible JavaScript library for modern browsers\n+ [Yeoman](http://yeoman.io/) - Web application stack and development tool\n+ [Deployd.com](http://deployd.com) - Open source PaaS for quick API backend generation\n\nand [many more](https://npmjs.org/browse/depended/shelljs).\n\n## Installing\n\nVia npm:\n\n```bash\n$ npm install [-g] shelljs\n```\n\nIf the global option `-g` is specified, the binary `shjs` will be installed. This makes it possible to\nrun ShellJS scripts much like any shell script from the command line, i.e. without requiring a `node_modules` folder:\n\n```bash\n$ shjs my_script\n```\n\nYou can also just copy `shell.js` into your project's directory, and `require()` accordingly.\n\n\n## Examples\n\n### JavaScript\n\n```javascript\nrequire('shelljs/global');\n\nif (!which('git')) {\n  echo('Sorry, this script requires git');\n  exit(1);\n}\n\n// Copy files to release dir\nmkdir('-p', 'out/Release');\ncp('-R', 'stuff/*', 'out/Release');\n\n// Replace macros in each .js file\ncd('lib');\nls('*.js').forEach(function(file) {\n  sed('-i', 'BUILD_VERSION', 'v0.1.2', file);\n  sed('-i', /.*REMOVE_THIS_LINE.*\\n/, '', file);\n  sed('-i', /.*REPLACE_LINE_WITH_MACRO.*\\n/, cat('macro.js'), file);\n});\ncd('..');\n\n// Run external tool synchronously\nif (exec('git commit -am \"Auto-commit\"').code !== 0) {\n  echo('Error: Git commit failed');\n  exit(1);\n}\n```\n\n### CoffeeScript\n\n```coffeescript\nrequire 'shelljs/global'\n\nif not which 'git'\n  echo 'Sorry, this script requires git'\n  exit 1\n\n# Copy files to release dir\nmkdir '-p', 'out/Release'\ncp '-R', 'stuff/*', 'out/Release'\n\n# Replace macros in each .js file\ncd 'lib'\nfor file in ls '*.js'\n  sed '-i', 'BUILD_VERSION', 'v0.1.2', file\n  sed '-i', /.*REMOVE_THIS_LINE.*\\n/, '', file\n  sed '-i', /.*REPLACE_LINE_WITH_MACRO.*\\n/, cat 'macro.js', file\ncd '..'\n\n# Run external tool synchronously\nif (exec 'git commit -am \"Auto-commit\"').code != 0\n  echo 'Error: Git commit failed'\n  exit 1\n```\n\n## Global vs. Local\n\nThe example above uses the convenience script `shelljs/global` to reduce verbosity. If polluting your global namespace is not desirable, simply require `shelljs`.\n\nExample:\n\n```javascript\nvar shell = require('shelljs');\nshell.echo('hello world');\n```\n\n## Make tool\n\nA convenience script `shelljs/make` is also provided to mimic the behavior of a Unix Makefile. In this case all shell objects are global, and command line arguments will cause the script to execute only the corresponding function in the global `target` object. To avoid redundant calls, target functions are executed only once per script.\n\nExample (CoffeeScript):\n\n```coffeescript\nrequire 'shelljs/make'\n\ntarget.all = ->\n  target.bundle()\n  target.docs()\n\ntarget.bundle = ->\n  cd __dirname\n  mkdir 'build'\n  cd 'lib'\n  (cat '*.js').to '../build/output.js'\n\ntarget.docs = ->\n  cd __dirname\n  mkdir 'docs'\n  cd 'lib'\n  for file in ls '*.js'\n    text = grep '//@', file     # extract special comments\n    text.replace '//@', ''      # remove comment tags\n    text.to 'docs/my_docs.md'\n```\n\nTo run the target `all`, call the above script without arguments: `$ node make`. To run the target `docs`: `$ node make docs`, and so on.\n\n\n\n<!-- \n\n  DO NOT MODIFY BEYOND THIS POINT - IT'S AUTOMATICALLY GENERATED\n\n-->\n\n\n## Command reference\n\n\nAll commands run synchronously, unless otherwise stated.\n\n\n### cd('dir')\nChanges to directory `dir` for the duration of the script\n\n\n### pwd()\nReturns the current directory.\n\n\n### ls([options ,] path [,path ...])\n### ls([options ,] path_array)\nAvailable options:\n\n+ `-R`: recursive\n+ `-A`: all files (include files beginning with `.`, except for `.` and `..`)\n\nExamples:\n\n```javascript\nls('projs/*.js');\nls('-R', '/users/me', '/tmp');\nls('-R', ['/users/me', '/tmp']); // same as above\n```\n\nReturns array of files in the given path, or in current directory if no path provided.\n\n\n### find(path [,path ...])\n### find(path_array)\nExamples:\n\n```javascript\nfind('src', 'lib');\nfind(['src', 'lib']); // same as above\nfind('.').filter(function(file) { return file.match(/\\.js$/); });\n```\n\nReturns array of all files (however deep) in the given paths.\n\nThe main difference from `ls('-R', path)` is that the resulting file names\ninclude the base directories, e.g. `lib/resources/file1` instead of just `file1`.\n\n\n### cp([options ,] source [,source ...], dest)\n### cp([options ,] source_array, dest)\nAvailable options:\n\n+ `-f`: force\n+ `-r, -R`: recursive\n\nExamples:\n\n```javascript\ncp('file1', 'dir1');\ncp('-Rf', '/tmp/*', '/usr/local/*', '/home/tmp');\ncp('-Rf', ['/tmp/*', '/usr/local/*'], '/home/tmp'); // same as above\n```\n\nCopies files. The wildcard `*` is accepted.\n\n\n### rm([options ,] file [, file ...])\n### rm([options ,] file_array)\nAvailable options:\n\n+ `-f`: force\n+ `-r, -R`: recursive\n\nExamples:\n\n```javascript\nrm('-rf', '/tmp/*');\nrm('some_file.txt', 'another_file.txt');\nrm(['some_file.txt', 'another_file.txt']); // same as above\n```\n\nRemoves files. The wildcard `*` is accepted.\n\n\n### mv(source [, source ...], dest')\n### mv(source_array, dest')\nAvailable options:\n\n+ `f`: force\n\nExamples:\n\n```javascript\nmv('-f', 'file', 'dir/');\nmv('file1', 'file2', 'dir/');\nmv(['file1', 'file2'], 'dir/'); // same as above\n```\n\nMoves files. The wildcard `*` is accepted.\n\n\n### mkdir([options ,] dir [, dir ...])\n### mkdir([options ,] dir_array)\nAvailable options:\n\n+ `p`: full path (will create intermediate dirs if necessary)\n\nExamples:\n\n```javascript\nmkdir('-p', '/tmp/a/b/c/d', '/tmp/e/f/g');\nmkdir('-p', ['/tmp/a/b/c/d', '/tmp/e/f/g']); // same as above\n```\n\nCreates directories.\n\n\n### test(expression)\nAvailable expression primaries:\n\n+ `'-b', 'path'`: true if path is a block device\n+ `'-c', 'path'`: true if path is a character device\n+ `'-d', 'path'`: true if path is a directory\n+ `'-e', 'path'`: true if path exists\n+ `'-f', 'path'`: true if path is a regular file\n+ `'-L', 'path'`: true if path is a symboilc link\n+ `'-p', 'path'`: true if path is a pipe (FIFO)\n+ `'-S', 'path'`: true if path is a socket\n\nExamples:\n\n```javascript\nif (test('-d', path)) { /* do something with dir */ };\nif (!test('-f', path)) continue; // skip if it's a regular file\n```\n\nEvaluates expression using the available primaries and returns corresponding value.\n\n\n### cat(file [, file ...])\n### cat(file_array)\n\nExamples:\n\n```javascript\nvar str = cat('file*.txt');\nvar str = cat('file1', 'file2');\nvar str = cat(['file1', 'file2']); // same as above\n```\n\nReturns a string containing the given file, or a concatenated string\ncontaining the files if more than one file is given (a new line character is\nintroduced between each file). Wildcard `*` accepted.\n\n\n### 'string'.to(file)\n\nExamples:\n\n```javascript\ncat('input.txt').to('output.txt');\n```\n\nAnalogous to the redirection operator `>` in Unix, but works with JavaScript strings (such as\nthose returned by `cat`, `grep`, etc). _Like Unix redirections, `to()` will overwrite any existing file!_\n\n\n### 'string'.toEnd(file)\n\nExamples:\n\n```javascript\ncat('input.txt').toEnd('output.txt');\n```\n\nAnalogous to the redirect-and-append operator `>>` in Unix, but works with JavaScript strings (such as\nthose returned by `cat`, `grep`, etc).\n\n\n### sed([options ,] search_regex, replacement, file)\nAvailable options:\n\n+ `-i`: Replace contents of 'file' in-place. _Note that no backups will be created!_\n\nExamples:\n\n```javascript\nsed('-i', 'PROGRAM_VERSION', 'v0.1.3', 'source.js');\nsed(/.*DELETE_THIS_LINE.*\\n/, '', 'source.js');\n```\n\nReads an input string from `file` and performs a JavaScript `replace()` on the input\nusing the given search regex and replacement string or function. Returns the new string after replacement.\n\n\n### grep([options ,] regex_filter, file [, file ...])\n### grep([options ,] regex_filter, file_array)\nAvailable options:\n\n+ `-v`: Inverse the sense of the regex and print the lines not matching the criteria.\n\nExamples:\n\n```javascript\ngrep('-v', 'GLOBAL_VARIABLE', '*.js');\ngrep('GLOBAL_VARIABLE', '*.js');\n```\n\nReads input string from given files and returns a string containing all lines of the\nfile that match the given `regex_filter`. Wildcard `*` accepted.\n\n\n### which(command)\n\nExamples:\n\n```javascript\nvar nodeExec = which('node');\n```\n\nSearches for `command` in the system's PATH. On Windows looks for `.exe`, `.cmd`, and `.bat` extensions.\nReturns string containing the absolute path to the command.\n\n\n### echo(string [,string ...])\n\nExamples:\n\n```javascript\necho('hello world');\nvar str = echo('hello world');\n```\n\nPrints string to stdout, and returns string with additional utility methods\nlike `.to()`.\n\n\n### pushd([options,] [dir | '-N' | '+N'])\n\nAvailable options:\n\n+ `-n`: Suppresses the normal change of directory when adding directories to the stack, so that only the stack is manipulated.\n\nArguments:\n\n+ `dir`: Makes the current working directory be the top of the stack, and then executes the equivalent of `cd dir`.\n+ `+N`: Brings the Nth directory (counting from the left of the list printed by dirs, starting with zero) to the top of the list by rotating the stack.\n+ `-N`: Brings the Nth directory (counting from the right of the list printed by dirs, starting with zero) to the top of the list by rotating the stack.\n\nExamples:\n\n```javascript\n// process.cwd() === '/usr'\npushd('/etc'); // Returns /etc /usr\npushd('+1');   // Returns /usr /etc\n```\n\nSave the current directory on the top of the directory stack and then cd to `dir`. With no arguments, pushd exchanges the top two directories. Returns an array of paths in the stack.\n\n### popd([options,] ['-N' | '+N'])\n\nAvailable options:\n\n+ `-n`: Suppresses the normal change of directory when removing directories from the stack, so that only the stack is manipulated.\n\nArguments:\n\n+ `+N`: Removes the Nth directory (counting from the left of the list printed by dirs), starting with zero.\n+ `-N`: Removes the Nth directory (counting from the right of the list printed by dirs), starting with zero.\n\nExamples:\n\n```javascript\necho(process.cwd()); // '/usr'\npushd('/etc');       // '/etc /usr'\necho(process.cwd()); // '/etc'\npopd();              // '/usr'\necho(process.cwd()); // '/usr'\n```\n\nWhen no arguments are given, popd removes the top directory from the stack and performs a cd to the new top directory. The elements are numbered from 0 starting at the first directory listed with dirs; i.e., popd is equivalent to popd +0. Returns an array of paths in the stack.\n\n### dirs([options | '+N' | '-N'])\n\nAvailable options:\n\n+ `-c`: Clears the directory stack by deleting all of the elements.\n\nArguments:\n\n+ `+N`: Displays the Nth directory (counting from the left of the list printed by dirs when invoked without options), starting with zero.\n+ `-N`: Displays the Nth directory (counting from the right of the list printed by dirs when invoked without options), starting with zero.\n\nDisplay the list of currently remembered directories. Returns an array of paths in the stack, or a single path if +N or -N was specified.\n\nSee also: pushd, popd\n\n\n### ln(options, source, dest)\n### ln(source, dest)\nAvailable options:\n\n+ `s`: symlink\n+ `f`: force\n\nExamples:\n\n```javascript\nln('file', 'newlink');\nln('-sf', 'file', 'existing');\n```\n\nLinks source to dest. Use -f to force the link, should dest already exist.\n\n\n### exit(code)\nExits the current process with the given exit code.\n\n### env['VAR_NAME']\nObject containing environment variables (both getter and setter). Shortcut to process.env.\n\n### exec(command [, options] [, callback])\nAvailable options (all `false` by default):\n\n+ `async`: Asynchronous execution. Defaults to true if a callback is provided.\n+ `silent`: Do not echo program output to console.\n\nExamples:\n\n```javascript\nvar version = exec('node --version', {silent:true}).output;\n\nvar child = exec('some_long_running_process', {async:true});\nchild.stdout.on('data', function(data) {\n  /* ... do something with data ... */\n});\n\nexec('some_long_running_process', function(code, output) {\n  console.log('Exit code:', code);\n  console.log('Program output:', output);\n});\n```\n\nExecutes the given `command` _synchronously_, unless otherwise specified.\nWhen in synchronous mode returns the object `{ code:..., output:... }`, containing the program's\n`output` (stdout + stderr)  and its exit `code`. Otherwise returns the child process object, and\nthe `callback` gets the arguments `(code, output)`.\n\n**Note:** For long-lived processes, it's best to run `exec()` asynchronously as\nthe current synchronous implementation uses a lot of CPU. This should be getting\nfixed soon.\n\n\n### chmod(octal_mode || octal_string, file)\n### chmod(symbolic_mode, file)\n\nAvailable options:\n\n+ `-v`: output a diagnostic for every file processed\n+ `-c`: like verbose but report only when a change is made\n+ `-R`: change files and directories recursively\n\nExamples:\n\n```javascript\nchmod(755, '/Users/brandon');\nchmod('755', '/Users/brandon'); // same as above\nchmod('u+x', '/Users/brandon');\n```\n\nAlters the permissions of a file or directory by either specifying the\nabsolute permissions in octal form or expressing the changes in symbols.\nThis command tries to mimic the POSIX behavior as much as possible.\nNotable exceptions:\n\n+ In symbolic modes, 'a-r' and '-r' are identical.  No consideration is\n  given to the umask.\n+ There is no \"quiet\" option since default behavior is to run silent.\n\n\n## Non-Unix commands\n\n\n### tempdir()\n\nExamples:\n\n```javascript\nvar tmp = tempdir(); // \"/tmp\" for most *nix platforms\n```\n\nSearches and returns string containing a writeable, platform-dependent temporary directory.\nFollows Python's [tempfile algorithm](http://docs.python.org/library/tempfile.html#tempfile.tempdir).\n\n\n### error()\nTests if error occurred in the last command. Returns `null` if no error occurred,\notherwise returns string explaining the error\n\n\n## Configuration\n\n\n### config.silent\nExample:\n\n```javascript\nvar silentState = config.silent; // save old silent state\nconfig.silent = true;\n/* ... */\nconfig.silent = silentState; // restore old silent state\n```\n\nSuppresses all command output if `true`, except for `echo()` calls.\nDefault is `false`.\n\n### config.fatal\nExample:\n\n```javascript\nconfig.fatal = true;\ncp('this_file_does_not_exist', '/dev/null'); // dies here\n/* more commands... */\n```\n\nIf `true` the script will die on errors. Default is `false`.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/arturadib/shelljs/issues"},"_id":"shelljs@0.3.0","_from":"shelljs@^0.3.0"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/scripts/generate-docs.js","id":"shelljs/scripts/generate-docs.js","options":{},"isModule":true,"requiredModules":["shelljs/global.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/scripts/run-tests.js","id":"shelljs/scripts/run-tests.js","options":{},"isModule":true,"requiredModules":["shelljs/global.js","path"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/shell.js","id":"shelljs/shell.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","shelljs/src/cd.js","shelljs/src/pwd.js","shelljs/src/ls.js","shelljs/src/find.js","shelljs/src/cp.js","shelljs/src/rm.js","shelljs/src/mv.js","shelljs/src/mkdir.js","shelljs/src/test.js","shelljs/src/cat.js","shelljs/src/to.js","shelljs/src/toEnd.js","shelljs/src/sed.js","shelljs/src/grep.js","shelljs/src/which.js","shelljs/src/echo.js","shelljs/src/dirs.js","shelljs/src/ln.js","shelljs/src/exec.js","shelljs/src/chmod.js","shelljs/src/tempdir.js","shelljs/src/error.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/cat.js","id":"shelljs/src/cat.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/cd.js","id":"shelljs/src/cd.js","options":{},"isModule":true,"requiredModules":["fs","shelljs/src/common.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/chmod.js","id":"shelljs/src/chmod.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs","path"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/common.js","id":"shelljs/src/common.js","options":{},"isModule":true,"requiredModules":["os","fs","shelljs/src/ls.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/cp.js","id":"shelljs/src/cp.js","options":{},"isModule":true,"requiredModules":["fs","path","shelljs/src/common.js","os"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/dirs.js","id":"shelljs/src/dirs.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","shelljs/src/cd.js","path"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/echo.js","id":"shelljs/src/echo.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/error.js","id":"shelljs/src/error.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/exec.js","id":"shelljs/src/exec.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","shelljs/src/tempdir.js","shelljs/src/pwd.js","path","fs","child_process"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/find.js","id":"shelljs/src/find.js","options":{},"isModule":true,"requiredModules":["fs","shelljs/src/common.js","shelljs/src/ls.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/grep.js","id":"shelljs/src/grep.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/ln.js","id":"shelljs/src/ln.js","options":{},"isModule":true,"requiredModules":["fs","path","shelljs/src/common.js","os"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/ls.js","id":"shelljs/src/ls.js","options":{},"isModule":true,"requiredModules":["path","fs","shelljs/src/common.js","shelljs/src/cd.js","shelljs/src/pwd.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/mkdir.js","id":"shelljs/src/mkdir.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs","path"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/mv.js","id":"shelljs/src/mv.js","options":{},"isModule":true,"requiredModules":["fs","path","shelljs/src/common.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/popd.js","id":"shelljs/src/popd.js","options":{},"isModule":true,"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/pushd.js","id":"shelljs/src/pushd.js","options":{},"isModule":true,"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/pwd.js","id":"shelljs/src/pwd.js","options":{},"isModule":true,"requiredModules":["path","shelljs/src/common.js"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/rm.js","id":"shelljs/src/rm.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/sed.js","id":"shelljs/src/sed.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/tempdir.js","id":"shelljs/src/tempdir.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","os","fs"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/test.js","id":"shelljs/src/test.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/to.js","id":"shelljs/src/to.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs","path"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/toEnd.js","id":"shelljs/src/toEnd.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs","path"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/shelljs/src/which.js","id":"shelljs/src/which.js","options":{},"isModule":true,"requiredModules":["shelljs/src/common.js","fs","path"],"mtime":1398103622000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/bower.json","id":"should/bower.json","options":{},"isModule":true,"mtime":1415631109000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/gulpfile.js","id":"should/gulpfile.js","options":{},"isModule":true,"requiredModules":["gulp","gulp-load-plugins","vinyl-source-stream2","browserify","path","/Users/james/dev/maxwell-edi/node_modules/should/package.json"],"mtime":1415628459000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/index.js","id":"should/index.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js"],"mtime":1401304475000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/assertion-error.js","id":"should/lib/assertion-error.js","options":{},"isModule":true,"requiredModules":["should/lib/util.js"],"mtime":1415281432000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/assertion.js","id":"should/lib/assertion.js","options":{},"isModule":true,"requiredModules":["should/lib/assertion-error.js","should/lib/util.js"],"mtime":1415630512000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/assert.js","id":"should/lib/ext/assert.js","options":{},"isModule":true,"requiredModules":["should/lib/util.js","assert"],"mtime":1401304475000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/bool.js","id":"should/lib/ext/bool.js","options":{},"isModule":true,"mtime":1401273626000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/chain.js","id":"should/lib/ext/chain.js","options":{},"isModule":true,"mtime":1402315918000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/contain.js","id":"should/lib/ext/contain.js","options":{},"isModule":true,"requiredModules":["should/lib/util.js","should-equal/index.js"],"mtime":1415628244000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/eql.js","id":"should/lib/ext/eql.js","options":{},"isModule":true,"requiredModules":["should-equal/index.js","should/lib/warn.js","should/lib/util.js"],"mtime":1415629214000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/error.js","id":"should/lib/ext/error.js","options":{},"isModule":true,"requiredModules":["should/lib/util.js"],"mtime":1415282552000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/match.js","id":"should/lib/ext/match.js","options":{},"isModule":true,"requiredModules":["should/lib/util.js","should-equal/index.js"],"mtime":1415628272000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/number.js","id":"should/lib/ext/number.js","options":{},"isModule":true,"mtime":1415281432000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/property.js","id":"should/lib/ext/property.js","options":{},"isModule":true,"requiredModules":["should/lib/util.js","should-equal/index.js"],"mtime":1415628313000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/string.js","id":"should/lib/ext/string.js","options":{},"isModule":true,"mtime":1389691184000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/ext/type.js","id":"should/lib/ext/type.js","options":{},"isModule":true,"requiredModules":["should/lib/util.js"],"mtime":1401366405000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/should.js","id":"should/lib/should.js","options":{},"isModule":true,"requiredModules":["should/lib/util.js","should-format/index.js","should/lib/warn.js","should/lib/assertion-error.js","should/lib/assertion.js","should/lib/ext/assert.js","should/lib/ext/chain.js","should/lib/ext/bool.js","should/lib/ext/number.js","should/lib/ext/eql.js","should/lib/ext/type.js","should/lib/ext/string.js","should/lib/ext/property.js","should/lib/ext/error.js","should/lib/ext/match.js","should/lib/ext/contain.js"],"mtime":1415282236000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/util.js","id":"should/lib/util.js","options":{},"isModule":true,"requiredModules":["assert","should-format/index.js"],"mtime":1415630481000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/lib/warn.js","id":"should/lib/warn.js","options":{},"isModule":true,"mtime":1415627023000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-equal/index.js","id":"should-equal/index.js","options":{},"isModule":true,"requiredModules":["should-type/index.js"],"mtime":1415626471000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-equal/node_modules/should-type/index.js","id":"should-type/index.js","options":{},"isModule":true,"mtime":1415279946000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-equal/node_modules/should-type/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-equal/node_modules/should-type/package.json","data":{"name":"should-type","version":"0.0.1","description":"Simple module to get instance type","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/shouldjs/type.git"},"keywords":["should","type"],"author":{"name":"Denis Bardadym","email":"bardadymchik@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/shouldjs/type/issues"},"homepage":"https://github.com/shouldjs/type","readme":"type\n====\n\nSimple module to resolve types\n","readmeFilename":"README.md","_id":"should-type@0.0.1","_shasum":"ec62a4eae75cabfab3734cd9925da49773cb9be8","_from":"should-type@0.0.1","_resolved":"https://registry.npmjs.org/should-type/-/should-type-0.0.1.tgz"},"mtime":1415897192000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-equal/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-equal/package.json","data":{"name":"should-equal","version":"0.1.0","description":"Deep comparison of 2 instances for should.js","main":"index.js","scripts":{"test":"mocha --ui exports -R mocha-better-spec-reporter test.js"},"repository":{"type":"git","url":"https://github.com/shouldjs/equal.git"},"keywords":["should.js","deep","equal"],"author":{"name":"Denis Bardadym","email":"bardadymchik@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/shouldjs/equal/issues"},"homepage":"https://github.com/shouldjs/equal","devDependencies":{"mocha":"^2.0.0","mocha-better-spec-reporter":"1.1.1"},"dependencies":{"should-type":"0.0.1"},"readme":"equal\n=====\n\nDeep equality comparison implementation for should.js\n\nFunction return an object that have result of comparison and description of fail:\n\n```js\n> var a = {a:1,b:2,c:3,d:4,e:5,f:6,g:7,h:8,i:9,j:10},\n... b = {a:1,b:2,c:3,d:4,e:5,f:6,g:7,h:7,i:9,j:10};\nundefined\n> eql(a, b);\n{ result: false,\n  path: [ 'h' ],\n  reason: 'A and B are not equal',\n  a: 8,\n  b: 7 }\n```","readmeFilename":"README.md","_id":"should-equal@0.1.0","_shasum":"6db4a398a0d5a1a5806350b1de8cb4e964071dab","_from":"should-equal@0.1.0","_resolved":"https://registry.npmjs.org/should-equal/-/should-equal-0.1.0.tgz"},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-equal/test.js","id":"should-equal/test.js","options":{},"isModule":true,"requiredModules":["assert","should-equal/index.js"],"mtime":1415624257000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/index.js","id":"should-format/index.js","options":{},"isModule":true,"requiredModules":["should-type/index.js"],"mtime":1415281878000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/node_modules/should-type/index.js","id":"should-type/index.js","options":{},"isModule":true,"mtime":1415279946000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/node_modules/should-type/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/node_modules/should-type/package.json","data":{"name":"should-type","version":"0.0.1","description":"Simple module to get instance type","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/shouldjs/type.git"},"keywords":["should","type"],"author":{"name":"Denis Bardadym","email":"bardadymchik@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/shouldjs/type/issues"},"homepage":"https://github.com/shouldjs/type","readme":"type\n====\n\nSimple module to resolve types\n","readmeFilename":"README.md","_id":"should-type@0.0.1","_shasum":"ec62a4eae75cabfab3734cd9925da49773cb9be8","_from":"should-type@0.0.1","_resolved":"https://registry.npmjs.org/should-type/-/should-type-0.0.1.tgz"},"mtime":1415897192000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/package.json","data":{"name":"should-format","version":"0.0.2","description":"Formatting of objects for should.js","main":"index.js","scripts":{"test":"mocha -R mocha-better-spec-reporter tests/test.js","browserify":"rm tests/browser/tests.js && browserify tests/test.js >> tests/browser/tests.js"},"keywords":["should","format"],"author":{"name":"Denis Bardadym","email":"bardadymchik@gmail.com"},"license":"MIT","devDependencies":{"browserify":"^6.2.0","mocha":"^2.0.1","mocha-better-spec-reporter":"^1.1.1"},"dependencies":{"should-type":"0.0.1"},"readme":"format\n======\n\nModule for text inspections for instances\n","readmeFilename":"README.md","_id":"should-format@0.0.2","_shasum":"5c058691a1d6177f8b8fa8b8bba0b38cc05d346f","_from":"should-format@0.0.2","_resolved":"https://registry.npmjs.org/should-format/-/should-format-0.0.2.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/tests/browser/mocha.js","id":"should-format/tests/browser/mocha.js","options":{},"isModule":true,"requiredModules":["./runnable","../suite","should-format/tests/test.js","../utils","browser/escape-string-regexp","./bdd","./tdd","./qunit","./exports","browser/path","./utils","./interfaces","./reporters","./context","./runner","./suite","./hook","./test","growl","browser/tty","browser/diff","../ms","./base","./json-cov","browser/fs","jade/index.js","../browser/progress","./dot","./doc","./tap","./json","./html","./list","./min","./spec","./nyan","./xunit","./markdown","./progress","./landing","./html-cov","./json-stream","browser/events","browser/debug","./ms","browser/glob","mocha"],"mtime":1415210033000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/tests/browser/tests.js","id":"should-format/tests/browser/tests.js","options":{},"isModule":true,"requiredModules":["./type","util/util.js","base64-js","ieee754","is-array","./support/isBuffer","inherits/inherits.js","_process","../","assert","buffer"],"mtime":1415213892000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/node_modules/should-format/tests/test.js","id":"should-format/tests/test.js","options":{},"isModule":true,"requiredModules":["should-format/index.js","assert"],"mtime":1415266819000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/should/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/should/package.json","data":{"name":"should","description":"test framework agnostic BDD-style assertions","version":"4.3.0","author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"repository":{"type":"git","url":"https://github.com/shouldjs/should.js.git"},"homepage":"https://github.com/shouldjs/should.js","scripts":{"test":"mocha -R mocha-better-spec-reporter ./test/**/*.test.js","zuul":"zuul -- ./test/**/[!error]*.test.js ./test/*.test.js","browser":"gulp script"},"devDependencies":{"browserify":"latest","mocha-better-spec-reporter":"1.1.1","gulp-uglify":"1.0.1","gulp-util":"^2.2.14","gulp":"^3.8.10","vinyl-source-stream2":"^0.1.1","gulp-load-plugins":"^0.5.1","gulp-rename":"^1.2.0","gulp-header":"^1.2.2","mocha":"latest","zuul":"latest"},"keywords":["test","bdd","assert","should"],"main":"./lib/should.js","license":"MIT","dependencies":{"should-equal":"0.1.0","should-format":"0.0.2"},"readme":"# should.js\n\n[![Build Status](https://travis-ci.org/shouldjs/should.js.svg?branch=master)](https://travis-ci.org/shouldjs/should.js)\n\n[![Selenium Test Status](https://saucelabs.com/browser-matrix/shouldjs.svg)](https://saucelabs.com/u/shouldjs)\n\n_should_ is an expressive, readable, framework-agnostic assertion library. The main goals of this library are __to be expressive__ and __to be helpful__. It keeps your test code clean, and your error messages helpful.\n\n_should_ extends the `Object.prototype` with a single non-enumerable getter that allows you to express how that object should behave. It also returns itself when required with `require`.\n\n### Breaking changes for 4.x\n\nPlease check [wiki](https://github.com/shouldjs/should.js/wiki/Breaking-changes-4.x).\n\n## Example\n```javascript\nvar should = require('should');\n\nvar user = {\n    name: 'tj'\n  , pets: ['tobi', 'loki', 'jane', 'bandit']\n};\n\nuser.should.have.property('name', 'tj');\nuser.should.have.property('pets').with.lengthOf(4);\n\n// If the object was created with Object.create(null)\n// then it doesn't inherit `Object.prototype`, so it will not have `.should` getter\n// so you can do:\nshould(user).have.property('name', 'tj');\n\n// also you can test in that way for null's\nshould(null).not.be.ok;\n\nsomeAsyncTask(foo, function(err, result){\n  should.not.exist(err);\n  should.exist(result);\n  result.bar.should.equal(foo);\n});\n```\n## To begin\n\n 1. Install it:\n\n    ```bash\n    $ npm install should --save-dev\n    ```\n\n 2. Require it and use:\n\n    ```js\n    var should = require('should');\n\n    (5).should.be.exactly(5).and.be.a.Number;\n    ```\n\n## In browser\n\nWell, even when browsers by complains of authors has 100% es5 support, it does not mean it has not bugs. Please see [wiki](https://github.com/shouldjs/should.js/wiki/Known-Bugs) for known bugs.\n\nIf you want to use _should_ in browser, use the `should.js` file in the root of this repository, or build it yourself. To build a fresh version:\n\n```bash\n$ npm install\n$ gulp script\n```\n\nThe script is exported to `window.Should`. It is the same as using `should` statically:\n\n```js\nShould(5).be.exactly(5)\n```\n\nAlso, in the case of node.js, `Object.prototype` is extended with `should` (hence the capital S in `window.Should`):\n\n```js\nwindow.should.be.exactly(window);\n// the same\n// window is host object\nshould.be.exactly(window);\n// you should not really care about it\n\n(5).should.be.exactly(5);\n```\nYou can easy install it with npm or bower:\n```\nnpm install should --save-dev\n# or\nbower install shouldjs/should.js\n```\n\n## Static should and assert module\n\nFor some rare cases _should_ can be used statically, without `Object.prototype`.\nIt can be a replacement for the node assert module:\n\n```javascript\nassert.fail(actual, expected, message, operator) // just write wrong should assertion\nassert(value, message), assert.ok(value, [message]) // should(value).ok\nassert.equal(actual, expected, [message]) // should(actual).eql(expected, [message])\nassert.notEqual(actual, expected, [message]) // should(actual).not.eql(expected, [message])\nassert.deepEqual(actual, expected, [message]) // should(actual).eql(expected, [message])\nassert.notDeepEqual(actual, expected, [message]) // should(actual).not.eql(expected, [message])\nassert.strictEqual(actual, expected, [message]) // should(actual).equal(expected, [message])\nassert.notStrictEqual(actual, expected, [message]) // should(actual).not.equal(expected, [message])\nassert.throws(block, [error], [message]) // should(block).throw([error])\nassert.doesNotThrow(block, [message]) // should(block).not.throw([error])\nassert.ifError(value) // should(value).Error (to check if it is error) or should(value).not.ok (to check that it is falsy)\n```\n\n## .not\n\n`.not` negates the current assertion.\n\n## .any\n\n`.any` allow for assertions with multiple parameters to assert any of the parameters (but not all). This is similar to the native JavaScript [array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some).\n\n# Assertions\n## chaining assertions\n\nEvery assertion will return a `should.js`-wrapped Object, so assertions can be chained.\nTo help chained assertions read more clearly, you can use the following helpers anywhere in your chain: `.an`, `.of`, `.a`, `.and`, `.be`, `.have`, `.with`, `.is`, `.which`. Use them for better readability; they do nothing at all.\nFor example:\n```js\nuser.should.be.an.instanceOf(Object).and.have.property('name', 'tj');\nuser.pets.should.be.instanceof(Array).and.have.lengthOf(4);\n```\nAlmost all assertions return the same object - so you can easy chain them. But some (eg: `.length` and `.property`) move the assertion object to a property value, so be careful.\n\n## .ok\n\nAssert that a chained object is truthy in javascript (ie: not '', null, undefined, 0 , NaN).\n\nAssert truthfulness:\n\n```javascript\ntrue.should.be.ok;\n'yay'.should.be.ok;\n(1).should.be.ok;\n({}).should.be.ok;\n```\n\nor negated:\n\n```javascript\nfalse.should.not.be.ok;\n''.should.not.be.ok;\n(0).should.not.be.ok;\n```\n\n*Warning:* No assertions can be performed on null and undefined values.\ne.g.\n```js\n  undefined.should.not.be.ok;\n```\nwill give you `Uncaught TypeError: Cannot read property 'should' of undefined)`.\n\nIn order to test for null use\n```js\n(err === null).should.be.true;\n```\n\n## .true\n\nAssert if a chained object === true:\n\n```javascript\ntrue.should.be.true;\n'1'.should.not.be.true;\n```\n\n## .false\n\nAssert if a chained object === false:\n\n```javascript\nfalse.should.be.false;\n(0).should.not.be.false;\n```\n\n## .eql(otherValue)\n\nAsserts if a chained object is *equal* to otherValue. The object is compared by its actual content, not just reference equality.\n\n```javascript\n({ foo: 'bar' }).should.eql({ foo: 'bar' });\n[1,2,3].should.eql([1,2,3]);\n// see next example it is correct, even if it is different types, but actual content the same\n[1, 2, 3].should.eql({ '0': 1, '1': 2, '2': 3 });\n```\n## .equal(otherValue) and .exactly(otherValue)\n\nAsserts if a chained object is strictly equal to `otherValue` (using `===`). It means primitive values compared as is (there is no any type conversion) and reference values compared by references.\n\n```javascript\n(4).should.equal(4);\n'test'.should.equal('test');\n[1,2,3].should.not.equal([1,2,3]);\n(4).should.be.exactly(4);\n```\n\n## .startWith(str)\n\nAssert that a string starts with `str`.\n\n```javascript\n'foobar'.should.startWith('foo');\n'foobar'.should.not.startWith('bar');\n```\n## .endWith(str)\n\nAssert that a string ends with `str`.\n\n```javascript\n'foobar'.should.endWith('bar');\n'foobar'.should.not.endWith('foo');\n```\n\n## .within(from, to)\n\nAssert inclusive numeric range (`<= to` and `>= from`):\n```javascript\nuser.age.should.be.within(5, 50);\n(5).should.be.within(5, 10).and.within(5, 5);\n```\n\n## .approximately(num, delta)\n\nAssert a floating point number is near `num` within the `delta` margin:\n\n```javascript\n(99.99).should.be.approximately(100, 0.1);\n```\n\n## .above(num) and .greaterThan(num)\n\nAssert a numeric value is above the given value (`> num`):\n\n```javascript\nuser.age.should.be.above(5);\nuser.age.should.not.be.above(100);\n(5).should.be.above(0);\n(5).should.not.be.above(5);\n```\n\n## .below(num) and .lessThan(num)\n\nAssert a numeric value is below the given value (`< num`):\n\n```javascript\nuser.age.should.be.below(100);\nuser.age.should.not.be.below(5);\n(5).should.be.below(6);\n(5).should.not.be.below(5);\n```\n\n## .NaN\n\nAssert a numeric value is NaN:\n\n```javascript\n(undefined + 0).should.be.NaN;\n```\n\n## .Infinity\n\nAssert a numeric value is Infinity:\n\n```javascript\n(1/0).should.be.Infinity;\n```\n\n## .type(str)\n\nAssert a given object is of a particular type (using __typeof__ operator):\n```javascript\nuser.should.be.type('object');\n'test'.should.be.type('string');\n```\n\n## .instanceof(constructor) and .instanceOf(constructor)\n\nAssert a given object is an instance of `constructor` (using __instanceof__ operator):\n\n```javascript\nuser.should.be.an.instanceof(User);\n[].should.be.an.instanceOf(Array);\n```\n\n## .arguments\n\nAssert a given object is an `Arguments`:\n\n```javascript\nvar args = (function(){ return arguments; })(1,2,3);\nargs.should.be.arguments;\n[].should.not.be.arguments;\n```\n\n## .Object, .Number, .Array, .Boolean, .Function, .String, .Error\n\nAssert a given object is instance of the given constructor (shortcut for `.instanceof` assertion).\n\n```javascript\n({}).should.be.an.Object;\n(1).should.be.a.Number;\n[].should.be.an.Array.and.an.Object;\n(true).should.be.a.Boolean;\n''.should.be.a.String;\n```\n## .enumerable(name[, value])\n\nAssert a property exists, is enumerable, and has an optional value (compare using `.eql`):\n```javascript\n'asd'.should.not.have.enumerable('0');\nuser.should.have.enumerable('name');\nuser.should.have.enumerable('age', 15);\nuser.should.not.have.enumerable('rawr');\nuser.should.not.have.enumerable('age', 0);\n[1, 2].should.have.enumerable('0', 1);\n```\n\n## .property(name[, value])\n\nAssert property exists and has an optional value (compare using `.eql`):\n```javascript\nuser.should.have.property('name');\nuser.should.have.property('age', 15);\nuser.should.not.have.property('rawr');\nuser.should.not.have.property('age', 0);\n[1, 2].should.have.property('0', 1);\n```\n\n__NB__ `.property` changes the chain's object to the given property's value, so be careful when chaining after  `.property`!\n\n## .properties(propName1, propName2, ...) or .properties([propName1, propName2, ...]) or .properties(obj)\n\n`obj` should be an object that maps properties to their actual values.\n\nAssert all given properties exist and have given values (compare using `.eql`):\n\n```javascript\nuser.should.have.properties('name', 'age');\nuser.should.have.properties(['name', 'age']);\nuser.should.have.properties({\n    name: 'denis',\n    age: 24\n});\n```\n\n## .length(number) and .lengthOf(number)\n\nAssert _length_ property exists and has a value of the given number (shortcut for `.property('length', number)`):\n```javascript\nuser.pets.should.have.length(5);\nuser.pets.should.have.a.lengthOf(5);\n({ length: 10}).should.have.length(10);\n```\n\n__NB__ `.length` and `.lengthOf` change the chain's object to the given length value, so be careful when chaining!\n\n## .ownProperty(str) and .hasOwnProperty(str)\n\nAssert given object has own property (using `.hasOwnProperty`):\n```javascript\n({ foo: 'bar' }).should.have.ownProperty('foo').equal('bar');\n```\n\n__NB__ `.ownProperty` and `.hasOwnProperty` change the chain's object to the given property value, so be careful when chaining!\n\n## .empty\n\nAssert given value is empty. Strings, arrays, arguments with a length of 0, and objects without their own properties, are considered empty.\n\n```javascript\n[].should.be.empty;\n''.should.be.empty;\n({}).should.be.empty;\n(function() {\n  arguments.should.be.empty;\n})();\n```\n\n## .keys([key1, key2, ...]) and .keys(key1, key2, ...) and .key(key)\n\nAssert own object keys, which must match _exactly_,\nand will fail if you omit a key or two:\n\n```javascript\nvar obj = { foo: 'bar', baz: 'raz' };\nobj.should.have.keys('foo', 'baz');\nobj.should.have.keys(['foo', 'baz']);\n({}).should.have.keys();\n({}).should.have.keys('key'); //fail AssertionError: expected {} to have key 'key'missing keys: 'key'\n```\n\n## .propertyByPath([name1, ...]) or .propertyByPath(name1, name2, ...)\n\nAssert property exists and has optional value (compare using `.eql`):\n```javascript\nvar obj = { foo: 'bar', baz: 'raz', zad: { a: 10 } };\nobj.should.have.propertyByPath('zad', 'a');\nobj.should.not.have.propertyByPath(0, 1, 2);\n```\n\n__NB__ `.propertyByPath` changes the chain's object to the given property's value if found\n\n## .containEql(otherValue)\n\nAssert given value to contain something *.eql* to otherValue. See examples to understand better:\n\n```javascript\n'hello boy'.should.containEql('boy');\n[1,2,3].should.containEql(3);\n[[1],[2],[3]].should.containEql([3]);\n[[1],[2],[3, 4]].should.not.containEql([3]);\n\n({ b: 10 }).should.containEql({ b: 10 });\n([1, 2, { a: 10 }]).should.containEql({ a: 10 });\n[1, 2, 3].should.not.containEql({ a: 1 });\n\n[{a: 'a'}, {b: 'b', c: 'c'}].should.containEql({a: 'a'});\n[{a: 'a'}, {b: 'b', c: 'c'}].should.not.containEql({b: 'b'});\n```\n\nWhen `.containEql` check arrays it check elements to be in the same order in `otherValue` and object just to be presented.\n\n## .containDeep(otherValue)\n\nAssert given value to contain something *.eql* to otherValue within depth.\nAgain see examples:\n\n```javascript\n'hello boy'.should.containDeep('boy');\n[1,2,3].should.containDeep([3]);\n[1,2,3].should.containDeep([1, 3]);\n//but not\n[1,2,3].should.containDeep([3, 1]);\n\n({ a: { b: 10 }, b: { c: 10, d: 11, a: { b: 10, c: 11} }}).should\n  .containDeep({ a: { b: 10 }, b: { c: 10, a: { c: 11 }}});\n\n[1, 2, 3, { a: { b: { d: 12 }}}].should.containDeep([{ a: { b: {d: 12}}}]);\n\n[[1],[2],[3]].should.containDeep([[3]]);\n[[1],[2],[3, 4]].should.containDeep([[3]]);\n[{a: 'a'}, {b: 'b', c: 'c'}].should.containDeep([{a: 'a'}]);\n[{a: 'a'}, {b: 'b', c: 'c'}].should.containDeep([{b: 'b'}]);\n```\n\nIt does not search somewhere in depth it check all pattern in depth. Objects are checked\nby properties key and value; arrays are checked like sub sequences. Everyting is compared using `.eql`.\nMain difference with `.containEql` is that this assertion requires full type chain -\nif asserted value is an object, otherValue should be also an object (which is sub object of given).\nThe same is true for arrays, otherValue should be an array which compared to be subsequence of given object.\n\nAlso exists assertion `.containDeepOrdered` which check arrays in the same order.\n\n## .match(otherValue)\n\nAssert given object matches `otherValue`.\n\nGiven: String, otherValue: regexp. Uses `RegExp#exec(str)`:\n```javascript\nusername.should.match(/^\\w+$/)\n```\n\nGiven: Array, otherValue: regexp - assert each value match to regexp.\n```javascript\n['a', 'b', 'c'].should.match(/[a-z]/);\n['a', 'b', 'c'].should.not.match(/[d-z]/);\n```\n\nGiven: Object, otherValue: regexp - assert own property's values to match regexp.\n```javascript\n({ a: 'foo', c: 'barfoo' }).should.match(/foo$/);\n({ a: 'a' }).should.not.match(/^http/);\n```\n\nGiven: Anything, otherValue: function - assert if given value matched to function.\n\nFunction can use `.should` inside or return 'true' or 'false', in all other cases it do nothing. If you return value that return assertion, you will receive better error messages.\n\n```javascript\n(5).should.match(function(n) { return n > 0; });\n(5).should.not.match(function(n) { return n < 0; });\n(5).should.not.match(function(it) { it.should.be.an.Array; });\n(5).should.match(function(it) { return it.should.be.a.Number; });\n```\n\nNow compare messages:\n```javascript\n(5).should.not.match(function(it) { it.should.be.a.Number; });\n//AssertionError: expected 5 not to match [Function]\n(5).should.not.match(function(it) { return it.should.be.a.Number; });\n//AssertionError: expected 5 not to match [Function]\n//\texpected 5 to be a number\n```\n\nGiven: object, otherValue: another object - assert that object properties match to properties of another object in meaning that describe above cases. See examples:\n\n```javascript\n({ a: 10, b: 'abc', c: { d: 10 }, d: 0 }).should\n    .match({ a: 10, b: /c$/, c: function(it) { return it.should.have.property('d', 10); }});\n\n[10, 'abc', { d: 10 }, 0].should\n\t.match({ '0': 10, '1': /c$/, '2': function(it) { return it.should.have.property('d', 10); } });\n\n[10, 'abc', { d: 10 }, 0].should\n    .match([10, /c$/, function(it) { return it.should.have.property('d', 10); }]);\n```\n\n## .matchEach(otherValue)\n\nAssert given property keys and values each match given check object.\n\nIf `otherValue` is RegExp, then each property value checked to match it:\n```javascript\n(['a', 'b', 'c']).should.matchEach(/[a-c]/);\n```\n\nIf `otherValue` is Function, then check each property value and key matched it:\n```javascript\n[10, 11, 12].should.matchEach(function(it) { return it >= 10; });\n[10, 11, 12].should.matchEach(function(it) { return it >= 10; });\n```\n\nIn other cases it checks that each property value is `.eql` to `otherValue`:\n```javascript\n[10, 10].should.matchEach(10);\n```\n## .throw() and throwError()\n\nAssert an exception is thrown:\n\n```js\n(function(){\n  throw new Error('fail');\n}).should.throw();\n```\n\nAssert an exception is not thrown:\n\n```js\n(function(){\n\n}).should.not.throw();\n```\nAssert exception message matches string:\n\n```js\n(function(){\n  throw new Error('fail');\n}).should.throw('fail');\n```\n\nAssert error message matches regexp:\n\n```js\n(function(){\n  throw new Error('failed to foo');\n}).should.throw(/^fail/);\n```\n\nError properties to match some other properties (used `.match`):\n\n```js\nvar error = new Error();\nerror.a = 10;\n(function(){ throw error; }).should.throw({ a: 10 });\n\n(function(){ throw error; }).should.throw(Error, { a: 10 });\n```\n\nIf you need to pass arguments and/or context to execute function use `Function#bind(context, arg1, ...)`:\n```js\nfunction isPositive(n) {\n    if(n <= 0) throw new Error('Given number is not positive')\n}\n\nisPositive.bind(null, 10).should.not.throw();\nisPositive.bind(null, -10).should.throw();\n```\n\nIf you need to check something in an asynchronous function, you must do it in 2 steps:\n\n```js\n// first we need to check that function is called\nvar called = false;\ncollection.findOne({ _id: 10 }, function(err, res) {\n    called = true;\n\n    //second we test what you want\n    res.should.be....\n});\n\ncalled.should.be.true;\n```\n\nIn case you are using something like `Mocha`, you should use an asynchronous test, and call `done()` in the proper place to make sure that your asynchronous function is called before the test finishes.\n```js\ncollection.findOne({ _id: 10 }, function(err, res) {\n    if(err) return done(err);\n    //second we test what you want\n    res.should.be....\n\n    done();\n});\n```\n\nIn general, if you need to check that something is executed, you are best using `spies`. A good example is [sinon](http://sinonjs.org/).\n\n## Optional Error description\n\nAs it can often be difficult to ascertain exactly where failed assertions are coming from in your tests, an optional description parameter can be passed to several should matchers. The description will follow the failed assertion in the error:\n\n    (1).should.eql(0, 'some useful description')\n\n    AssertionError: some useful description\n      at Object.eql (/Users/swift/code/should.js/node_modules/should/lib/should.js:280:10)\n      ...\n\nThe methods that support this optional description are: `eql`, `equal`, `within`, `instanceof`, `above`, `below`, `match`, `length`, `ownProperty`.\n\n## Mocha example\n\nFor example you can use should with the [Mocha test framework](http://visionmedia.github.io/mocha/) by simply including it:\n\n```javascript\nvar should = require('should');\nvar mylib = require('mylib');\n\n\ndescribe('mylib', function() {\n  it('should have a version with the format #.#.#', function() {\n    lib.version.should.match(/^\\d+\\.\\d+\\.\\d+$/);\n  });\n});\n```\n\n## Adding own assertions\n\nTo add own assertion you need to call `should.Assertion.add` function. It accept 3 arguments:\n\n1. name of assertion method (string)\n2. assertion function (function)\n3. optional boolean value to mark if this assertion should be getter\n\nWhat assertion function should do. It should check only positive case. `should` will handle `.not` itself.\n`this` in assertion function will be instance of `should.Assertion` and you **must** define in any way this.params object\n in your assertion function call before assertion check happen.\n\n`params` object can contain several fields:\n\n- `operator` - it is string which describe your assertion\n- `obj` it is actual value, you can assume it is your own this.obj if you need to define you own\n- `expected` it is any value that expected to be matched this.obj\n\nYou can assume its usage in generating AssertionError message like: expected `obj`? || this.obj not? `operator` `expected`?\n\nIn `should` sources appeared 2 kinds of usage of this method.\n\nFirst not preferred and used **only** for shortcuts to other assertions, e.g how `.should.be.true` defined:\n\n```javascript\nAssertion.add('true', function() {\n    this.is.exactly(true);\n}, true);\n```\nThere you can see that assertion function do not define own `this.params` and instead call within the same assertion `.exactly`\nthat will fill `this.params`. **You should use this way very carefully, but you can use it**.\n\nSecond way preferred and i assume you will use it instead of first.\n\n```javascript\nAssertion.add('true', function() {\n    this.params = { operator: 'to be true', expected: true };\n\n    this.obj.should.be.exactly(true);\n}, true);\n```\nin this case this.params defined and then used new assertion context (because called `.should`). Internally this way does not\n create any edge cases as first.\n\n```javascript\nAssertion.add('asset', function() {\n    this.params = { operator: 'to be asset' };\n\n    this.obj.should.have.property('id').which.is.a.Number;\n    this.obj.should.have.property('path');\n})\n\n//then\n> ({ id: '10' }).should.be.an.asset();\nAssertionError: expected { id: '10' } to be asset\n    expected '10' to be a number\n\n> ({ id: 10 }).should.be.an.asset();\nAssertionError: expected { id: 10 } to be asset\n    expected { id: 10 } to have property path\n```\n\n\n## Contributions\n\n[Actual list of contributors](https://github.com/visionmedia/should.js/graphs/contributors) if you want to show it your friends.\n\nTo run the tests for _should_ simply run:\n\n    $ make test\n\nSee also [CONTRIBUTING](./CONTRIBUTING.md).\n\n## OMG IT EXTENDS OBJECT???!?!@\n\nYes, yes it does, with a single getter _should_, and no it won't break your code, because it does this **properly** with a non-enumerable property.\n\n## License\n\nMIT &copy; 2010-2014 TJ Holowaychuk\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/shouldjs/should.js/issues"},"_id":"should@4.3.0","_shasum":"6fd50fadf9b54134a352f2fd74657b1e97231ad6","_from":"should@^4.0.4","_resolved":"https://registry.npmjs.org/should/-/should-4.3.0.tgz"},"mtime":1415897188000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/should.js","id":"should/should.js","options":{},"isModule":true,"requiredModules":["./util","should-format/index.js","./warn","./assertion-error","./assertion","./ext/assert","./ext/chain","./ext/bool","./ext/number","./ext/eql","./ext/type","./ext/string","./ext/property","./ext/error","./ext/match","./ext/contain","../util","assert","should-equal/index.js","../warn","util/util.js","./support/isBuffer","inherits/inherits.js","should-type/index.js"],"mtime":1415631013000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should/should.min.js","id":"should/should.min.js","options":{},"isModule":true,"mtime":1415631013000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/should-sinon/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/should-sinon/package.json","data":{"name":"should-sinon","version":"0.0.3","description":"Sinon.js assertions for should.js","main":"should-sinon.js","scripts":{"test":"mocha -R mocha-better-spec-reporter --check-leaks test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/shouldjs/sinon.git"},"keywords":["sinon","should"],"author":{"name":"Denis Bardadym","email":"bardadymchik@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/shouldjs/sinon/issues"},"homepage":"https://github.com/shouldjs/sinon","devDependencies":{"mocha":"latest","mocha-better-spec-reporter":"latest","sinon":"^1.14.1"},"peerDependencies":{"should":">= 4.x"},"gitHead":"1b55a1eed0abdabf4e5a67e07c12995ddac7c92f","_id":"should-sinon@0.0.3","_shasum":"f6a925ff2b7ec4c58f348b4bb1d6c496dbf4572c","_from":"should-sinon@0.0.3","_npmVersion":"2.11.3","_nodeVersion":"2.3.0","_npmUser":{"name":"btd","email":"bardadymchik@gmail.com"},"dist":{"shasum":"f6a925ff2b7ec4c58f348b4bb1d6c496dbf4572c","tarball":"http://registry.npmjs.org/should-sinon/-/should-sinon-0.0.3.tgz"},"maintainers":[{"name":"btd","email":"bardadymchik@gmail.com"}],"directories":{},"_resolved":"https://registry.npmjs.org/should-sinon/-/should-sinon-0.0.3.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should-sinon/should-sinon.js","id":"should-sinon/should-sinon.js","options":{},"isModule":true,"requiredModules":["should/lib/should.js"],"mtime":1435072936000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/should-sinon/test.js","id":"should-sinon/test.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon.js","should/lib/should.js","should-sinon/should-sinon.js"],"mtime":1435050532000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/assert.js","id":"sinon/lib/sinon/assert.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/match.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/behavior.js","id":"sinon/lib/sinon/behavior.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/call.js","id":"sinon/lib/sinon/call.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/match.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/collection.js","id":"sinon/lib/sinon/collection.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/mock.js","sinon/lib/sinon/spy.js","sinon/lib/sinon/stub.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/extend.js","id":"sinon/lib/sinon/extend.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/format.js","id":"sinon/lib/sinon/format.js","options":{},"isModule":true,"requiredModules":["util/util.js","formatio/lib/formatio.js","sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/log_error.js","id":"sinon/lib/sinon/log_error.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/match.js","id":"sinon/lib/sinon/match.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/mock.js","id":"sinon/lib/sinon/mock.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/call.js","sinon/lib/sinon/match.js","sinon/lib/sinon/spy.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/sandbox.js","id":"sinon/lib/sinon/sandbox.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/util/fake_server.js","sinon/lib/sinon/util/fake_timers.js","sinon/lib/sinon/collection.js"],"mtime":1414443541000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/spy.js","id":"sinon/lib/sinon/spy.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/call.js"],"mtime":1414443541000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/stub.js","id":"sinon/lib/sinon/stub.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/behavior.js","sinon/lib/sinon/spy.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/test.js","id":"sinon/lib/sinon/test.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/sandbox.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/test_case.js","id":"sinon/lib/sinon/test_case.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/test.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/times_in_words.js","id":"sinon/lib/sinon/times_in_words.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/typeOf.js","id":"sinon/lib/sinon/typeOf.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/core.js","id":"sinon/lib/sinon/util/core.js","options":{},"isModule":true,"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/event.js","id":"sinon/lib/sinon/util/event.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/fake_server.js","id":"sinon/lib/sinon/util/fake_server.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/util/fake_xml_http_request.js"],"mtime":1414443541000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/fake_server_with_clock.js","id":"sinon/lib/sinon/util/fake_server_with_clock.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/util/fake_server.js","sinon/lib/sinon/util/fake_timers.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/fake_timers.js","id":"sinon/lib/sinon/util/fake_timers.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/fake_xdomain_request.js","id":"sinon/lib/sinon/util/fake_xdomain_request.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/util/event.js"],"mtime":1414443541000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/fake_xml_http_request.js","id":"sinon/lib/sinon/util/fake_xml_http_request.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/util/event.js"],"mtime":1414443541000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/timers_ie.js","id":"sinon/lib/sinon/util/timers_ie.js","options":{},"isModule":true,"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/xdr_ie.js","id":"sinon/lib/sinon/util/xdr_ie.js","options":{},"isModule":true,"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon/util/xhr_ie.js","id":"sinon/lib/sinon/util/xhr_ie.js","options":{},"isModule":true,"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/lib/sinon.js","id":"sinon/lib/sinon.js","options":{},"isModule":true,"requiredModules":["sinon/lib/sinon/util/core.js","sinon/lib/sinon/extend.js","sinon/lib/sinon/typeOf.js","sinon/lib/sinon/times_in_words.js","sinon/lib/sinon/spy.js","sinon/lib/sinon/call.js","sinon/lib/sinon/behavior.js","sinon/lib/sinon/stub.js","sinon/lib/sinon/mock.js","sinon/lib/sinon/collection.js","sinon/lib/sinon/assert.js","sinon/lib/sinon/sandbox.js","sinon/lib/sinon/test.js","sinon/lib/sinon/test_case.js","sinon/lib/sinon/match.js","sinon/lib/sinon/format.js","sinon/lib/sinon/log_error.js"],"mtime":1414349594000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/autolint.js","id":"formatio/autolint.js","options":{},"isModule":true,"mtime":1384640785000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/buster.js","id":"formatio/buster.js","options":{},"isModule":true,"mtime":1402464636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/lib/formatio.js","id":"formatio/lib/formatio.js","options":{},"isModule":true,"requiredModules":["samsam/lib/samsam.js"],"mtime":1406655019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/node_modules/samsam/autolint.js","id":"samsam/autolint.js","options":{},"isModule":true,"mtime":1381928056000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/node_modules/samsam/lib/samsam.js","id":"samsam/lib/samsam.js","options":{},"isModule":true,"mtime":1395825344000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/node_modules/samsam/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/node_modules/samsam/package.json","data":{"name":"samsam","version":"1.1.1","description":"Value identification and comparison functions","homepage":"http://busterjs.org/docs/buster-assertions","author":{"name":"Christian Johansen"},"contributors":[{"name":"Christian Johansen","email":"christian@cjohansen.no","url":"http://cjohansen.no"},{"name":"August Lilleaas","email":"august.lilleaas@gmail.com","url":"http://augustl.com"},{"name":"Daniel Wittner","email":"d.wittner@gmx.de","url":"https://github.com/dwittner"}],"main":"./lib/samsam","repository":{"type":"git","url":"https://github.com/busterjs/samsam.git"},"scripts":{"test":"node test/samsam-test.js","test-debug":"node --debug-brk test/samsam-test.js"},"devDependencies":{"buster":"0.6.11"},"readme":"# samsam\n\n[![Build status](https://secure.travis-ci.org/busterjs/samsam.png?branch=master)](http://travis-ci.org/busterjs/samsam)\n\n> Same same, but different\n\n`samsam` is a collection of predicate and comparison functions useful for\nidentifiying the type of values and to compare values with varying degrees of\nstrictness.\n\n`samsam` is a general-purpose library with no dependencies. It works in browsers\n(including old and rowdy ones, like IE6) and Node. It will define itself as an\nAMD module if you want it to (i.e. if there's a `define` function available).\n\n`samsam` was originally extracted from the\n`referee <http://github.com/busterjs/referee/>`_ assertion library, which\nships with the Buster.JS testing framework.\n\n\n## Predicate functions\n\n\n### `isArguments(object)`\n\nReturns `true` if `object` is an `arguments` object, `false` otherwise.\n\n\n### `isNegZero(value)`\n\nReturns `true` if `value` is `-0`.\n\n\n## `isElement(object)`\n\nReturns `true` if `object` is a DOM element node. Unlike\nUnderscore.js/lodash, this function will return `false` if `object` is an\n*element-like* object, i.e. a regular object with a `nodeType` property that\nholds the value `1`.\n\n\n###`isDate(object)`\n\nReturns true if the object is a `Date`, or *date-like*. Duck typing of date\nobjects work by checking that the object has a `getTime` function whose return\nvalue equals the return value from the object's `valueOf`.\n\n\n## Comparison functions\n\n\n###`identical(x, y)`\n\nStrict equality check according to `EcmaScript Harmony's `egal`.\n\n**From the Harmony wiki:**\n\n> An egal function simply makes available the internal `SameValue` function\nfrom section 9.12 of the ES5 spec. If two values are egal, then they are not\nobservably distinguishable.\n\n`identical` returns `true` when `===` is `true`, except for `-0` and\n`+0`, where it returns `false`. Additionally, it returns `true` when\n`NaN` is compared to itself.\n\n\n### `deepEqual(obj1, obj2)`\n\nDeep equal comparison. Two values are \"deep equal\" if:\n\n* They are identical\n* They are both date objects representing the same time\n* They are both arrays containing elements that are all deepEqual\n* They are objects with the same set of properties, and each property\n  in `obj1` is deepEqual to the corresponding property in `obj2`\n\n\n### `match(object, matcher)`\n\nPartial equality check. Compares `object` with matcher according a wide set of\nrules:\n\n\n**String matcher**\n\nIn its simplest form, `match` performs a case insensitive substring match.\nWhen the matcher is a string, `object` is converted to a string, and the\nfunction returns `true` if the matcher is a case-insensitive substring of\n`object` as a string.\n\n```javascript\nsamsam.match(\"Give me something\", \"Give\"); //true\nsamsam.match(\"Give me something\", \"sumptn\"); // false\nsamsam.match({ toString: function () { return \"yeah\"; } }, \"Yeah!\"); // true\n```\n\nThe last example is not symmetric. When the matcher is a string, the `object`\nis coerced to a string - in this case using `toString`. Changing the order of\nthe arguments would cause the matcher to be an object, in which case different\nrules apply (see below).\n\n\n**Boolean matcher**\n\nPerforms a strict (i.e. `===`) match with the object. So, only `true`\nmatches `true`, and only `false` matches `false`.\n\n\n**Regular expression matcher**\n\nWhen the matcher is a regular expression, the function will pass if\n`object.test(matcher)` is `true`. `match` is written in a generic way, so\nany object with a `test` method will be used as a matcher this way.\n\n```javascript\nsamsam.match(\"Give me something\", /^[a-z\\s]$/i); // true\nsamsam.match(\"Give me something\", /[0-9]/); // false\nsamsam.match({ toString: function () { return \"yeah!\"; } }, /yeah/); // true\nsamsam.match(234, /[a-z]/); // false\n```\n\n\n**Number matcher**\n\nWhen the matcher is a number, the assertion will pass if `object == matcher`.\n\n```javascript\nsamsam.match(\"123\", 123); // true\nsamsam.match(\"Give me something\", 425); // false\nsamsam.match({ toString: function () { return \"42\"; } }, 42); // true\nsamsam.match(234, 1234); // false\n```\n\n\n**Function matcher**\n\nWhen the matcher is a function, it is called with `object` as its only\nargument. `match` returns `true` if the function returns `true`. A strict\nmatch is performed against the return value, so a boolean `true` is required,\ntruthy is not enough.\n\n```javascript\n// true\nsamsam.match(\"123\", function (exp) {\n    return exp == \"123\";\n});\n\n// false\nsamsam.match(\"Give me something\", function () {\n    return \"ok\";\n});\n\n// true\nsamsam.match({\n    toString: function () {\n        return \"42\";\n    }\n}, function () { return true; });\n\n// false\nsamsam.match(234, function () {});\n```\n\n\n**Object matcher**\n\nAs mentioned above, if an object matcher defines a `test` method, `match`\nwill return `true` if `matcher.test(object)` returns truthy.\n\nIf the matcher does not have a test method, a recursive match is performed. If\nall properties of `matcher` matches corresponding properties in `object`,\n`match` returns `true`. Note that the object matcher does not care if the\nnumber of properties in the two objects are the same - only if all properties in\nthe matcher recursively matches ones in `object`.\n\n```javascript\n// true\nsamsam.match(\"123\", {\n    test: function (arg) {\n        return arg == 123;\n    }\n});\n\n// false\nsamsam.match({}, { prop: 42 });\n\n// true\nsamsam.match({\n    name: \"Chris\",\n    profession: \"Programmer\"\n}, {\n    name: \"Chris\"\n});\n\n// false\nsamsam.match(234, { name: \"Chris\" });\n```\n\n\n**DOM elements**\n\n`match` can be very helpful when comparing DOM elements, because it allows\nyou to compare several properties with one call:\n\n```javascript\nvar el = document.getElementById(\"myEl\");\n\nsamsam.match(el, {\n    tagName: \"h2\",\n    className: \"item\",\n    innerHTML: \"Howdy\"\n});\n```\n\n\n## Changelog\n\n**1.1.1** (26.03.2014)\n\n* [Make `isArguments` work with arguments from `\"strict mode\"` functions](https://github.com/busterjs/samsam/commit/72903613af90f39474f8388ed8957eaea4cf46ae)\n* [Fix type error for nested object in function `match`](https://github.com/busterjs/samsam/commit/9d3420a11e9b3c65559945e60ca56980820db20f)\n* Fix for issue [#366, Assertion match fails with data attribute](https://github.com/busterjs/buster/issues/366)\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/busterjs/samsam/issues"},"_id":"samsam@1.1.1","_from":"samsam@~1.1"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/node_modules/samsam/test/samsam-test.js","id":"samsam/test/samsam-test.js","options":{},"isModule":true,"requiredModules":["buster","samsam/lib/samsam.js"],"mtime":1395825344000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/package.json","data":{"name":"formatio","version":"1.1.1","description":"Human-readable object formatting","homepage":"http://busterjs.org/docs/formatio/","author":{"name":"Christian Johansen"},"contributors":[{"name":"Christian Johansen","email":"christian@cjohansen.no","url":"http://cjohansen.no"},{"name":"August Lilleaas","email":"august.lilleaas@gmail.com","url":"http://augustl.com"},{"name":"Dave Geddes","email":"davidcgeddes@gmail.com"},{"name":"Stein Magnus Jodal","email":"stein.magnus@jodal.no"},{"name":"Tek Nynja","email":"github@teknynja.com"}],"main":"./lib/formatio","repository":{"type":"git","url":"https://github.com/busterjs/formatio.git"},"scripts":{"test":"node node_modules/buster/bin/buster-test --node","test-debug":"node --debug-brk node_modules/buster/bin/buster-test --node"},"dependencies":{"samsam":"~1.1"},"devDependencies":{"buster":"*"},"readme":"# formatio\n\n[![Build status](https://secure.travis-ci.org/busterjs/formatio.png?branch=master)](http://travis-ci.org/busterjs/formatio)\n\n> The cheesy object formatter\n\nPretty formatting of arbitrary JavaScript values. Currently only supports ascii\nformatting, suitable for command-line utilities. Like `JSON.stringify`, it\nformats objects recursively, but unlike `JSON.stringify`, it can handle\nregular expressions, functions, circular objects and more.\n\n`formatio` is a general-purpose library. It works in browsers (including old\nand rowdy ones, like IE6) and Node. It will define itself as an AMD module if\nyou want it to (i.e. if there's a `define` function available).\n\n\n## Running tests\n\n```\nnpm test\n```\n\nOr use Buster.JS manually:\n\n```\nnode_modules/buster/bin/buster-test --help\n```\n\n\n## `formatio.ascii` API\n\n`formatio.ascii` can take any JavaScript object and format it nicely as plain\ntext. It uses the helper functions described below to format different types of\nobjects.\n\n\n### `formatio.ascii(object)`\n\n`object` can be any kind of object, including DOM elements.\n\n\n**Simple object**\n\n```javascript\nvar formatio = require(\"formatio\");\n\nvar object = { name: \"Christian\" };\nconsole.log(formatio.ascii(object));\n\n// Outputs:\n// { name: \"Christian\" }\n```\n\n\n**Complex object**\n\n```javascript\nvar formatio = require(\"formatio\");\n\nvar developer = {\n    name: \"Christian\",\n    interests: [\"Programming\", \"Guitar\", \"TV\"],\n\n    location: {\n        language: \"Norway\",\n        city: \"Oslo\",\n\n        getLatLon: function getLatLon(callback) {\n            // ...\n        },\n\n        distanceTo: function distanceTo(location) {\n        }\n    },\n\n    speak: function () {\n        return \"Oh hi!\";\n    }\n};\n\nconsole.log(formatio.ascii(developer));\n\n// Outputs:\n// {\n//   interests: [\"Programming\", \"Guitar\", \"TV\"],\n//   location: {\n//     city: \"Oslo\",\n//     distanceTo: function distanceTo() {},\n//     getLatLon: function getLatLon() {},\n//     language: \"Norway\"\n//   },\n//   name: \"Christian\",\n//   speak: function () {}\n// }\n```\n\n\n**Custom constructor**\n\nIf the object to format is not a generic `Object` object, **formatio**\ndisplays the type of object (i.e. name of constructor). Set the\n`excludeConstructors` (see below) property to control what constructors to\ninclude in formatted output.\n\n```javascript\nvar formatio = require(\"formatio\");\n\nfunction Person(name) { this.name = name; }\n\nvar dude = new Person(\"Dude\");\nconsole.log(format.ascii(dude));\n\n// Outputs:\n// [Person] { name: \"Dude\" }\n```\n\n\n**DOM elements**\n\nDOM elements are formatted as abbreviated HTML source. 20 characters of\n`innerHTML` is included, and if the content is longer, it is truncated with\n`\"[...]\"`. Future editions will add the possibility to format nested markup\nstructures.\n\n```javascript\nvar p = document.createElement(\"p\");\np.id = \"sample\";\np.className = \"notice\";\np.setAttribute(\"data-custom\", \"42\");\np.innerHTML = \"Hey there, here's some text for ya there buddy\";\n\nconsole.log(formatio.ascii(p));\n\n// Outputs\n// &lt;p id=\"sample\" class=\"notice\" data-custom=\"42\"&gt;Hey there, here's so[...]&lt;/p&gt;</code></pre>\n```\n\n\n### `formatio.ascii.func(func)`\n\nFormats a function like `\"function [name]() {}\"`. The name is retrieved from\n`formatio.functionName`.\n\n\n### `formatio.ascii.array(array)`\n\nFormats an array as `\"[item1, item2, item3]\"` where each item is formatted\nwith `formatio.ascii`. Circular references are represented in the resulting\nstring as `\"[Circular]\"`.\n\n\n### `formatio.ascii.object(object)`\n\nFormats all properties of the object with `formatio.ascii`. If the object can\nbe fully represented in 80 characters, it's formatted in one line. Otherwise,\nit's nicely indented over as many lines as necessary. Circular references are\nrepresented by `\"[Circular]\"`.\n\nObjects created with custom constructors will be formatted as\n`\"[ConstructorName] { ... }\"`. Set the `excludeConstructors` property to\ncontrol what constructors are included in the output like this.\n\n\n### `formatio.ascii.element(element)`\n\nFormats a DOM element as HTML source. The tag name is represented in lower-case\nand all attributes and their values are included. The element's content is\nincluded, up to 20 characters. If the length exceeds 20 characters, it's\ntruncated with a `\"[...]\"`.\n\n\n### `formatio.functionName(func)`\n\nGuesses a function's name. If the function defines the `displayName` property\n(used by `some debugging tools <http://trac.webkit.org/changeset/42478>`_) it is\npreferred. If it is not found, the `name` property is tried. If no name can be\nfound this way, an attempt is made to find the function name by looking at the\nfunction's `toString()` representation.\n\n\n### `formatio.constructorName(object)`\n\nAttempts to guess the name of the constructor that created the object. It does\nso by getting the name of `object.constructor` using `functionName`. If a\nname is found, `excludeConstructors` is consulted. If the constructor name\nmatches any of these elements, an empty string is returned, otherwise the name\nis returned.\n\n\n## `formatio.ascii` properties\n\n### `quoteStrings(true)`\n\nWhether or not to quote simple strings. When set to `false`, simple strings\nare not quoted. Strings in arrays and objects will still be quoted, but\n`ascii(\"Some string\")` will not gain additional quotes.\n\n### `limitChildrenCount(number)`\n\nThis property allows to limit the number of printed array elements or object \nproperties. When set to 0, all elements will be included in output, any number\ngreater than zero will set the limit to that number.\n\n### `excludeConstructors ([\"Object\", /^.$/])`\n\nAn array of strings and/or regular expressions naming constructors that should\nbe stripped from the formatted output. The default value skips objects created\nby `Object` and constructors that have one character names (which are\ntypically used in `Object.create` shims).\n\nWhile you can set this property directly on `formatio.ascii`, it is\nrecommended to create an instance of `formatio.ascii` and override the\nproperty on that object.\n\n**Strings** represent constructor names that should not be represented in the\nformatted output. **Regular expressions** are tested against constructor names\nwhen formatting. If the expression is a match, the constructor name is not\nincluded in the formatted output.\n\n```javascript\nfunction Person(name) {\n    this.name = name;\n}\n\nvar person = new Person(\"Chris\");\nconsole.log(formatio.ascii(person));\n\n// Outputs\n// [Person] { name: \"Chris\" }\n\nvar formatter = Object.create(formatio);\nformatter.excludeConstructors = [\"Object\", /^.$/, \"Person\"];\nconsole.log(formatter.ascii(person));\n\n// Outputs\n// { name: \"Chris\" }\n\n// Global overwrite, generally not recommended\nformatio.excludeConstructors = [\"Object\", /^.$/, \"Person\"];\nconsole.log(formatio.ascii(person));\n\n// Outputs\n// { name: \"Chris\" }\n```\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/busterjs/formatio/issues"},"_id":"formatio@1.1.1","_shasum":"5ed3ccd636551097383465d996199100e86161e9","_from":"formatio@~1.1.1","_resolved":"https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/formatio/test/formatio-test.js","id":"formatio/test/formatio-test.js","options":{},"isModule":true,"requiredModules":["buster","formatio/lib/formatio.js"],"mtime":1406655019000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits"},"license":"ISC","scripts":{"test":"node test"},"readme":"Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n  superclass\n* new version overwrites current prototype while old one preserves any\n  existing fields on it\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/inherits/issues"},"homepage":"https://github.com/isaacs/inherits","_id":"inherits@2.0.1","_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_from":"inherits@2.0.1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/package.json","data":{"author":{"name":"Joyent","url":"http://www.joyent.com"},"name":"util","description":"Node.JS util module","keywords":["util"],"version":"0.10.3","homepage":"https://github.com/defunctzombie/node-util","repository":{"type":"git","url":"git://github.com/defunctzombie/node-util"},"main":"./util.js","scripts":{"test":"node test/node/*.js && zuul test/browser/*.js"},"dependencies":{"inherits":"2.0.1"},"license":"MIT","devDependencies":{"zuul":"~1.0.9"},"browser":{"./support/isBuffer.js":"./support/isBufferBrowser.js"},"readme":"# util\n\n[![Build Status](https://travis-ci.org/defunctzombie/node-util.png?branch=master)](https://travis-ci.org/defunctzombie/node-util)\n\nnode.js [util](http://nodejs.org/api/util.html) module as a module\n\n## install via [npm](npmjs.org)\n\n```shell\nnpm install util\n```\n\n## browser support\n\nThis module also works in modern browsers. If you need legacy browser support you will need to polyfill ES5 features.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/defunctzombie/node-util/issues"},"_id":"util@0.10.3","_from":"util@>=0.10.3 <1"},"mtime":1415897193000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/support/isBuffer.js","id":"util/support/isBuffer.js","options":{},"isModule":true,"mtime":1385142754000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/support/isBufferBrowser.js","id":"util/support/isBufferBrowser.js","options":{},"isModule":true,"mtime":1387550223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/test/browser/inspect.js","id":"util/test/browser/inspect.js","options":{},"isModule":true,"requiredModules":["assert","util/util.js"],"mtime":1387552267000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/test/browser/is.js","id":"util/test/browser/is.js","options":{},"isModule":true,"requiredModules":["assert","util/util.js"],"mtime":1387550223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/test/node/debug.js","id":"util/test/node/debug.js","options":{},"isModule":true,"requiredModules":["assert","util/util.js","child_process"],"mtime":1385142754000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/test/node/format.js","id":"util/test/node/format.js","options":{},"isModule":true,"requiredModules":["assert","util/util.js"],"mtime":1385142754000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/test/node/inspect.js","id":"util/test/node/inspect.js","options":{},"isModule":true,"requiredModules":["assert","util/util.js","vm"],"mtime":1385142754000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/test/node/log.js","id":"util/test/node/log.js","options":{},"isModule":true,"requiredModules":["assert","util/util.js"],"mtime":1385142754000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/test/node/util.js","id":"util/test/node/util.js","options":{},"isModule":true,"requiredModules":["assert","vm","util/util.js"],"mtime":1385142754000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/node_modules/util/util.js","id":"util/util.js","options":{},"isModule":true,"requiredModules":["util/support/isBuffer.js","inherits/inherits.js"],"mtime":1387552736000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/sinon/package.json","data":{"name":"sinon","description":"JavaScript test spies, stubs and mocks.","version":"1.11.1","homepage":"http://cjohansen.no/sinon/","author":{"name":"Christian Johansen"},"repository":{"type":"git","url":"http://github.com/cjohansen/Sinon.JS.git"},"bugs":{"url":"http://github.com/cjohansen/Sinon.JS/issues"},"licenses":[{"type":"BSD","url":"http://github.com/cjohansen/Sinon.JS/blob/master/LICENSE"}],"scripts":{"test":"node test/node/run.js","prepublish":"./build"},"dependencies":{"formatio":"~1.1.1","util":">=0.10.3 <1"},"devDependencies":{"buster-core":">=0.6.4","buster-assertions":"~0.10","buster-evented-logger":"~0.4","buster-test":"~0.5","buster-format":"~0.5.6","http-server":"*","jscs":"~1.5.9"},"main":"./lib/sinon.js","engines":{"node":">=0.1.103"},"readme":"# Sinon.JS\n\n[![Build status](https://secure.travis-ci.org/cjohansen/Sinon.JS.svg?branch=master)](http://travis-ci.org/cjohansen/Sinon.JS)\n\nStandalone and test framework agnostic JavaScript test spies, stubs and mocks.\n\n## Installation\n\nvia [npm (node package manager)](http://github.com/isaacs/npm)\n\n    $ npm install sinon\n\nvia [NuGet (package manager for Microsoft development platform)](https://www.nuget.org/packages/SinonJS)\n\n    Install-Package SinonJS\n\nor install via git by cloning the repository and including sinon.js\nin your project, as you would any other third party library.\n\nDon't forget to include the parts of Sinon.JS that you want to use as well\n(i.e. spy.js).\n\n## Usage\n\nSee the [sinon project homepage](http://sinonjs.org/)\n\n### Important: AMD needs pre-built version\n\nSinon.JS *as source* **doesn't work with AMD loaders** (when they're asynchronous, like loading via script tags in the browser). For that you will have to use a pre-built version. You can either [build it yourself](CONTRIBUTING.md#testing-a-built-version) or get a numbered version from http://sinonjs.org.\n\nThis might or might not change in future versions, depending of outcome of investigations. Please don't report this as a bug, just use pre-built versions.\n\n## Goals\n\n* No global pollution\n* Easy to use\n* Require minimal “integration”\n* Easy to embed seamlessly with any testing framework\n* Easily fake any interface\n* Ship with ready-to-use fakes for XMLHttpRequest, timers and more\n\n## Contribute?\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for details on how you can contribute to Sinon.JS\n","readmeFilename":"README.md","_id":"sinon@1.11.1","_shasum":"4ed65dc3bb49715d4a72e93d85c416437b8866ca","_from":"sinon@^1.10.2","_resolved":"https://registry.npmjs.org/sinon/-/sinon-1.11.1.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/pkg/sinon-1.11.1.js","id":"sinon/pkg/sinon-1.11.1.js","options":{},"isModule":true,"requiredModules":["samsam/lib/samsam.js","./sinon/util/core","./sinon/extend","./sinon/typeOf","./sinon/times_in_words","./sinon/spy","./sinon/call","./sinon/behavior","./sinon/stub","./sinon/mock","./sinon/collection","./sinon/assert","./sinon/sandbox","./sinon/test","./sinon/test_case","./sinon/match","./sinon/format","./sinon/log_error","./util/core","util/util.js","formatio/lib/formatio.js","./match","./call","./behavior","./spy","./mock","./stub","./core","./event","./fake_xml_http_request","./fake_server","./fake_timers","./util/fake_server","./util/fake_timers","./collection","./sandbox","./test"],"mtime":1414443850000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/pkg/sinon-ie-1.11.1.js","id":"sinon/pkg/sinon-ie-1.11.1.js","options":{},"isModule":true,"mtime":1414443850000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/pkg/sinon-ie.js","id":"sinon/pkg/sinon-ie.js","options":{},"isModule":true,"mtime":1414443850000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/pkg/sinon-server-1.11.1.js","id":"sinon/pkg/sinon-server-1.11.1.js","options":{},"isModule":true,"requiredModules":["./sinon/util/core","./sinon/extend","./sinon/typeOf","./sinon/times_in_words","./sinon/spy","./sinon/call","./sinon/behavior","./sinon/stub","./sinon/mock","./sinon/collection","./sinon/assert","./sinon/sandbox","./sinon/test","./sinon/test_case","./sinon/match","./sinon/format","./sinon/log_error","./util/core","./core","./event","util/util.js","formatio/lib/formatio.js","./fake_xml_http_request","./fake_server","./fake_timers"],"mtime":1414443850000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/pkg/sinon-timers-1.11.1.js","id":"sinon/pkg/sinon-timers-1.11.1.js","options":{},"isModule":true,"requiredModules":["./core"],"mtime":1414443850000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/pkg/sinon-timers-ie-1.11.1.js","id":"sinon/pkg/sinon-timers-ie-1.11.1.js","options":{},"isModule":true,"mtime":1414443850000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/sinon/pkg/sinon.js","id":"sinon/pkg/sinon.js","options":{},"isModule":true,"requiredModules":["samsam/lib/samsam.js","./sinon/util/core","./sinon/extend","./sinon/typeOf","./sinon/times_in_words","./sinon/spy","./sinon/call","./sinon/behavior","./sinon/stub","./sinon/mock","./sinon/collection","./sinon/assert","./sinon/sandbox","./sinon/test","./sinon/test_case","./sinon/match","./sinon/format","./sinon/log_error","./util/core","util/util.js","formatio/lib/formatio.js","./match","./call","./behavior","./spy","./mock","./stub","./core","./event","./fake_xml_http_request","./fake_server","./fake_timers","./util/fake_server","./util/fake_timers","./collection","./sandbox","./test"],"mtime":1414443850000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/bin/slug.js","id":"slug/bin/slug.js","options":{},"isModule":true,"requiredModules":["slug/slug.js"],"mtime":1410709127000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/bower.json","id":"slug/bower.json","options":{},"isModule":true,"mtime":1412877767000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Cc.js","id":"unicode/category/Cc.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Cf.js","id":"unicode/category/Cf.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Co.js","id":"unicode/category/Co.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Cs.js","id":"unicode/category/Cs.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Ll.js","id":"unicode/category/Ll.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Lm.js","id":"unicode/category/Lm.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Lo.js","id":"unicode/category/Lo.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Lt.js","id":"unicode/category/Lt.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Lu.js","id":"unicode/category/Lu.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Mc.js","id":"unicode/category/Mc.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Me.js","id":"unicode/category/Me.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Mn.js","id":"unicode/category/Mn.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Nd.js","id":"unicode/category/Nd.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Nl.js","id":"unicode/category/Nl.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/No.js","id":"unicode/category/No.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Pc.js","id":"unicode/category/Pc.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Pd.js","id":"unicode/category/Pd.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Pe.js","id":"unicode/category/Pe.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Pf.js","id":"unicode/category/Pf.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Pi.js","id":"unicode/category/Pi.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Po.js","id":"unicode/category/Po.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Ps.js","id":"unicode/category/Ps.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Sc.js","id":"unicode/category/Sc.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Sk.js","id":"unicode/category/Sk.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Sm.js","id":"unicode/category/Sm.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/So.js","id":"unicode/category/So.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Zl.js","id":"unicode/category/Zl.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Zp.js","id":"unicode/category/Zp.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/category/Zs.js","id":"unicode/category/Zs.js","options":{},"isModule":true,"mtime":1439487666000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/install.js","id":"unicode/install.js","options":{},"isModule":true,"requiredModules":["fs","path","http","bufferstream/bufferstream.js"],"mtime":1429354688000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/bufferstream.js","id":"bufferstream/bufferstream.js","options":{},"isModule":true,"requiredModules":["bufferstream/lib/buffer-stream.js"],"mtime":1366863867000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/events.js","id":"bufferstream/events.js","options":{},"isModule":true,"requiredModules":["fs","http","util/util.js","stream","child_process"],"mtime":1366863867000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/lib/buffer-stream.js","id":"bufferstream/lib/buffer-stream.js","options":{},"isModule":true,"requiredModules":["stream","bufferstream/lib/fn.js"],"mtime":1384823487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/lib/fn.js","id":"bufferstream/lib/fn.js","options":{},"isModule":true,"requiredModules":["buffertools/buffertools.js","bufferjs/indexOf.js"],"mtime":1384823487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/lib/post-buffer.js","id":"bufferstream/lib/post-buffer.js","options":{},"isModule":true,"requiredModules":["bufferstream/lib/buffer-stream.js"],"mtime":1384823487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs/add-chunk.js","id":"bufferjs/add-chunk.js","options":{},"isModule":true,"mtime":1351217404000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs/index.js","id":"bufferjs/index.js","options":{},"isModule":true,"requiredModules":["bufferjs/add-chunk.js","bufferjs/indexOf.js"],"mtime":1351217823000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs/indexOf.js","id":"bufferjs/indexOf.js","options":{},"isModule":true,"mtime":1351217297000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/bufferjs/package.json","data":{"name":"bufferjs","description":"Pure JavaScript Buffer utils.","url":"http://github.com/coolaj86/node-bufferjs/","keywords":["util","buffer","chunk","indexOf"],"author":{"name":"AJ ONeal","email":"coolaj86@gmail.com"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Justin Freitag @justinfreitag"}],"dependencies":{},"version":"2.0.0","main":"./index","engines":{"node":">=0.2.0"},"_id":"bufferjs@2.0.0","readme":"ERROR: No README.md file found!","dist":{"shasum":"685e71ed5c0600e3d703ff9bd012bb3270a39e28","tarball":"http://registry.npmjs.org/bufferjs/-/bufferjs-2.0.0.tgz"},"_npmVersion":"1.1.63","_npmUser":{"name":"coolaj86","email":"coolaj86@gmail.com"},"maintainers":[{"name":"coolaj86","email":"coolaj86@gmail.com"}],"directories":{},"_shasum":"685e71ed5c0600e3d703ff9bd012bb3270a39e28","_resolved":"https://registry.npmjs.org/bufferjs/-/bufferjs-2.0.0.tgz","_from":"bufferjs@>=2.0.0"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/buffertools/buffertools.js","id":"buffertools/buffertools.js","options":{},"isModule":true,"requiredModules":["buffer","events","util/util.js","./build/Release/buffertools.node","./build/Debug/buffertools.node"],"mtime":1435762449000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/buffertools/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/buffertools/package.json","data":{"name":"buffertools","main":"buffertools","version":"2.1.3","keywords":["buffer","buffers"],"description":"Working with node.js buffers made easy.","homepage":"https://github.com/bnoordhuis/node-buffertools","author":{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl","url":"http://bnoordhuis.nl/"},"repository":{"type":"git","url":"git+https://github.com/bnoordhuis/node-buffertools.git"},"engines":{"node":">=0.3.0"},"scripts":{"test":"node test.js","install":"node-gyp rebuild"},"license":"ISC","gypfile":true,"contributors":[{"name":"Ben Noordhuis","email":"info@bnoordhuis.nl"},{"name":"Stefan Thomas","email":"justmoon@members.fsf.org"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Dane Springmeyer","email":"dane@dbsgeo.com"},{"name":"Barret Schloerke","email":"schloerke@gmail.com"}],"gitHead":"1912a927cbab036ccb06204586282a60db38f97a","bugs":{"url":"https://github.com/bnoordhuis/node-buffertools/issues"},"_id":"buffertools@2.1.3","_shasum":"34d3bf0565ed79e29877c2a6217ccfce9a3b3423","_from":"buffertools@>=1.0.3","_npmVersion":"2.11.3","_nodeVersion":"2.3.2-pre","_npmUser":{"name":"bnoordhuis","email":"info@bnoordhuis.nl"},"maintainers":[{"name":"bnoordhuis","email":"info@bnoordhuis.nl"}],"dist":{"shasum":"34d3bf0565ed79e29877c2a6217ccfce9a3b3423","tarball":"http://registry.npmjs.org/buffertools/-/buffertools-2.1.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/buffertools/-/buffertools-2.1.3.tgz"},"mtime":1439487649000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/node_modules/buffertools/test.js","id":"buffertools/test.js","options":{},"isModule":true,"requiredModules":["buffertools/buffertools.js","buffer","assert"],"mtime":1394457964000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/package.json","data":{"name":"bufferstream","description":"painless stream buffering and cutting","version":"0.6.2","homepage":"https://github.com/dodo/node-bufferstream","author":{"name":"dodo","url":"https://github.com/dodo"},"repository":{"type":"git","url":"git://github.com/dodo/node-bufferstream.git"},"main":"bufferstream.js","engines":{"node":">= 0.4.x"},"keywords":["buffer","buffers","stream","streams"],"scripts":{"test":"cake build && nodeunit test","prepublish":"cake build"},"dependencies":{"bufferjs":">= 2.0.0","buffertools":">= 1.0.3"},"optionalDependencies":{"buffertools":">= 1.0.3"},"devDependencies":{"nodeunit":">= 0.5.4","muffin":">= 0.2.6","coffee-script":">= 1.1.2","cli":">= 0.3.7","express":">= 2.4.5"},"licenses":[{"type":"MIT","url":"http://github.com/dodo/node-bufferstream/raw/master/LICENSE"}],"readme":"# BufferStream\n\npainless stream buffering, cutting and piping.\n\n## install\n\n    npm install bufferstream\n\n## api\n\nBufferStream is a full node.js [Stream](http://nodejs.org/docs/v0.4.7/api/streams.html) so it has apis of both [Writeable Stream](http://nodejs.org/docs/v0.4.7/api/streams.html#writable_Stream) and [Readable Stream](http://nodejs.org/docs/v0.4.7/api/streams.html#readable_Stream).\n\n### BufferStream\n\n```javascript\nBufferStream = require('bufferstream')\nstream = new BufferStream([{encoding:'utf8', size:'none'}]) // default\n```\n * `encoding` default encoding for writing strings\n * `blocking` if true and the source is a child_process the stream will block the entire process (timeouts wont work anymore, but splitting and listening on data still works, because they work sync)\n * `size` defines buffer level or sets buffer to given size (see ↓`setSize` for more)\n * `disabled` immediately call disable\n * `split` short form for:\n\n```javascript\nstream.split(token, function (chunk) {stream.emit('data', chunk)})\n```\n\n### stream.setSize\n\n```javascript\nstream.setSize(size) // can be one of ['none', 'flexible', <number>]\n```\n\ndifferent buffer behaviors can be triggered by size:\n\n * `none` when output drains, bufferstream drains too\n * `flexible` buffers everthing that it gets and not piping out\n * `<number>` `TODO` buffer has given size. buffers everthing until buffer is full. when buffer is full then  the stream will drain\n\n### stream.enable\n\n```javascript\nstream.enable()\n```\n\nenables stream buffering __default__\n\n### stream.disable\n\n```javascript\nstream.disable()\n```\n\nflushes buffer and disables stream buffering.\nBufferStream now pipes all data as long as the output accepting data.\nwhen the output is draining BufferStream will buffer all input temporary.\n\n```javascript\nstream.disable(token, ...)\nstream.disable(tokens) // Array\n```\n * `token[s]` buffer splitters (should be String or Buffer)\n\ndisables given tokens. wont flush until no splitter tokens are left.\n\n### stream.split\n\n```javascript\nstream.split(token, ...)\nstream.split(tokens) // Array\n```\n * `token[s]` buffer splitters (should be String or Buffer)\n\neach time BufferStream finds a splitter token in the input data it will emit a __split__ event.\nthis also works for binary data.\n\n### Event: 'split'\n\n```javascript\nstream.on('split', function (chunk, token) {…})\nstream.split(token, function (chunk, token) {…}) // only get called for this particular token\n```\n\nwhenever the stream is enabled it will try to find all splitter token in `stream.buffer`,\ncut it off and emit the chunk (without token) as __split__ event.\nthis data will be lost when not handled.\n\nthe chunk is the cut off of `stream.buffer` without the token.\n\n__Warning:__ try to avoid calling `stream.emit('data', newchunk)` more than one time, because this will likely throw `Error: Offset is out of bounds`.\n\n### stream.getBuffer\n\n```javascript\nstream.getBuffer()\n// or just\nstream.buffer\n```\n\nreturns its [Buffer](http://nodejs.org/docs/v0.4.7/api/buffers.html).\n\n### stream.toString\n\n```javascript\nstream.toString()\n```\n\nshortcut for `stream.buffer.toString()`\n\n### stream.length\n\n```javascript\nstream.length\n```\n\nshortcut for `stream.buffer.length`\n\n### PostBuffer\n\n```javascript\nPostBuffer = require('bufferstream/postbuffer')\npost = new PostBuffer(req)\n```\n * `req` http.ServerRequest\n\nfor if you want to get all the post data from a http server request and do some db reqeust before.\n\nbuffer http client\n\n### post.onEnd\n\n```javascript\npost.onEnd(function (data) {…});\n```\n\nset a callback to get all post data from a http server request\n\n### post.pipe\n\n```javascript\npost.pipe(stream, options);\n```\n\npumps data into another stream to allow incoming streams\ngiven options will be passed to Stream.pipe\n\n## note\n\nTo improve platform independence bufferstream is using `bufferjs` instead of `buffertools` since version `0.6.0`.\nJust run `npm install buffertools` to use their implementation of `Buffer.indexOf` which is sligthly faster than `bufferjs`'s version.\nif you're forced to use the javascript-only version of `Buffer.indexOf` (like on windows) you can disable the warning by:\n```javascript\nrequire('bufferstream').fn.warn = false\n```\n\n## example\n\n```javascript\nBufferStream = require('bufferstream')\nstream = new BufferStream({encoding:'utf8', size:'flexible'})\nstream.split('//', ':')\nstream.on('split', function (chunk, token) {\n    console.log(\"got '%s' by '%s'\", chunk.toString(), token.toString())\n})\nstream.write(\"buffer:stream//23\")\nconsole.log(stream.toString())\n```\n\nresults in\n\n    got 'buffer' by ':'\n    got 'stream' by '//'\n    23\n\n* https://github.com/dodo/node-bufferstream/blob/master/example/split.js\n\n## FAQ\n\n> I'm not sure from your readme what the split event emits?\n\nyou can specify more than one split token .. so it's emitted whenever\na token is found.\n\n> does it emit the buffer up to the just before the token starts?\n\nyes.\n\n> also, does it join buffers together if they do not already end in a token?\n\nwhen size is `flexible` it joins everything together what it gets to\none buffer (accessible through `stream.buffer` or\n`stream.getBuffer()`)\nwhenever it gets data, it will try to find all tokens\n\n> in other words, can I use this to rechunk a stream so that the chunks always break on newlines, for example?\n\nyes.\n\n```javascript\nstream = new BufferStream({size:'flexible'});\nstream.split('\\n', function (line) { // line doesn't have a '\\n' anymore\n    stream.emit('data', line); // Buffer.isBuffer(line) === true\n});\n```\n\n[![Build Status](https://secure.travis-ci.org/dodo/node-bufferstream.png)](http://travis-ci.org/dodo/node-bufferstream)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dodo/node-bufferstream/issues"},"_id":"bufferstream@0.6.2","dist":{"shasum":"a5f27e10d3c760084d14b35126615007319e3731","tarball":"http://registry.npmjs.org/bufferstream/-/bufferstream-0.6.2.tgz"},"_from":"bufferstream@>=0.6.2","_npmVersion":"1.3.14","_npmUser":{"name":"dodo","email":"dodo@blacksec.org"},"maintainers":[{"name":"dodo","email":"dodo@blacksec.org"}],"directories":{},"_shasum":"a5f27e10d3c760084d14b35126615007319e3731","_resolved":"https://registry.npmjs.org/bufferstream/-/bufferstream-0.6.2.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/postbuffer.js","id":"bufferstream/postbuffer.js","options":{},"isModule":true,"requiredModules":["bufferstream/lib/post-buffer.js"],"mtime":1366863867000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/test/buffer.js","id":"bufferstream/test/buffer.js","options":{},"isModule":true,"requiredModules":["path","fs","bufferstream/bufferstream.js"],"mtime":1384823487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/node_modules/bufferstream/test/stream.js","id":"bufferstream/test/stream.js","options":{},"isModule":true,"requiredModules":["path","fs","bufferstream/bufferstream.js"],"mtime":1384823487000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/package.json","data":{"name":"unicode","description":"unicode lookup table","version":"0.6.1","author":{"name":"dodo","url":"https://github.com/dodo"},"contributors":[{"name":"Mathias Bynens","email":"mathias@qiwi.be","url":"http://mathiasbynens.be/"}],"homepage":"http://github.com/dodo/node-unicodetable","repository":{"type":"git","url":"git://github.com/dodo/node-unicodetable.git"},"engines":{"node":">= 0.8.x"},"scripts":{"postinstall":"node install.js","update":"node install.js","test":"node test.js"},"dependencies":{"bufferstream":">= 0.6.2"},"licenses":[{"type":"MIT","url":"http://github.com/dodo/node-unicodetable/raw/master/LICENSE"}],"gitHead":"7f4b108852a8144c87a2e974ba62fa0694bc8eae","bugs":{"url":"https://github.com/dodo/node-unicodetable/issues"},"_id":"unicode@0.6.1","_shasum":"ec69e3c4537e2b9650b826133bcb068f0445d0bc","_from":"unicode@>=0.3.1","_npmVersion":"1.4.28","_npmUser":{"name":"dodo","email":"dodo@blacksec.org"},"maintainers":[{"name":"dodo","email":"dodo@blacksec.org"}],"dist":{"shasum":"ec69e3c4537e2b9650b826133bcb068f0445d0bc","tarball":"http://registry.npmjs.org/unicode/-/unicode-0.6.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/unicode/-/unicode-0.6.1.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/node_modules/unicode/test.js","id":"unicode/test.js","options":{},"isModule":true,"requiredModules":["path","assert","child_process"],"mtime":1388600817000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/slug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/slug/package.json","data":{"name":"slug","description":"slugifies even utf-8 chars!","version":"0.8.0","homepage":"https://github.com/dodo/node-slug","author":{"name":"dodo","url":"https://github.com/dodo"},"repository":{"type":"git","url":"git://github.com/dodo/node-slug.git"},"main":"slug.js","engines":{"node":">= 0.4.x"},"keywords":["slugify","slug","string","utf8","utf-8","unicode","url"],"scripts":{"test":"./node_modules/.bin/mocha ./test/*.test.* --require should --reporter spec --colors --compilers coffee:coffee-script/register"},"dependencies":{"unicode":">= 0.3.1"},"devDependencies":{"mocha":"~1.17.1","should":"~3.1.2","coffee-script":"~1.7.1"},"bin":{"slug":"bin/slug.js"},"licenses":[{"type":"MIT","url":"http://github.com/dodo/node-slug/raw/master/LICENSE"}],"bugs":{"url":"https://github.com/dodo/node-slug/issues"},"_id":"slug@0.8.0","dist":{"shasum":"6ca45b836d03abdd54b7372f1f89c9bf8d902cf8","tarball":"http://registry.npmjs.org/slug/-/slug-0.8.0.tgz"},"_from":"slug@0.8.0","_npmVersion":"1.3.21","_npmUser":{"name":"dodo","email":"dodo@blacksec.org"},"maintainers":[{"name":"dodo","email":"dodo@blacksec.org"}],"directories":{},"_shasum":"6ca45b836d03abdd54b7372f1f89c9bf8d902cf8","_resolved":"https://registry.npmjs.org/slug/-/slug-0.8.0.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/slug.js","id":"slug/slug.js","options":{},"isModule":true,"requiredModules":["unicode/category/So.js"],"mtime":1412878041000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/slug/test.js","id":"slug/test.js","options":{},"isModule":true,"requiredModules":["slug/slug.js"],"mtime":1398894410000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/component.json","id":"superagent/component.json","options":{},"isModule":true,"mtime":1415724640000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/components/component-emitter/component.json","id":"superagent/components/component-emitter/component.json","options":{},"isModule":true,"mtime":1415724460000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/components/component-emitter/index.js","id":"superagent/components/component-emitter/index.js","options":{},"isModule":true,"mtime":1415724461000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/components/component-reduce/component.json","id":"superagent/components/component-reduce/component.json","options":{},"isModule":true,"mtime":1415724460000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/components/component-reduce/index.js","id":"superagent/components/component-reduce/index.js","options":{},"isModule":true,"mtime":1415724461000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/client.js","id":"superagent/lib/client.js","options":{},"isModule":true,"requiredModules":["emitter","reduce"],"mtime":1415724307000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/agent.js","id":"superagent/lib/node/agent.js","options":{},"isModule":true,"requiredModules":["cookiejar/cookiejar.js","url","superagent/lib/node/index.js","methods/index.js"],"mtime":1415723321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/index.js","id":"superagent/lib/node/index.js","options":{},"isModule":true,"requiredModules":["debug/node.js","formidable/lib/index.js","form-data/lib/form_data.js","superagent/lib/node/response.js","url","methods/index.js","stream","superagent/lib/node/utils.js","extend/index.js","superagent/lib/node/part.js","mime/mime.js","https","http","fs","qs/index.js","zlib","util/util.js","/Users/james/dev/maxwell-edi/node_modules/superagent/package.json","superagent/lib/node/agent.js","superagent/lib/node/parsers/index.js"],"mtime":1415724506000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/parsers/image.js","id":"superagent/lib/node/parsers/image.js","options":{},"isModule":true,"mtime":1415723321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/parsers/index.js","id":"superagent/lib/node/parsers/index.js","options":{},"isModule":true,"requiredModules":["superagent/lib/node/parsers/urlencoded.js","superagent/lib/node/parsers/json.js","superagent/lib/node/parsers/text.js","superagent/lib/node/parsers/image.js"],"mtime":1415723321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/parsers/json.js","id":"superagent/lib/node/parsers/json.js","options":{},"isModule":true,"mtime":1415724326000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/parsers/text.js","id":"superagent/lib/node/parsers/text.js","options":{},"isModule":true,"mtime":1415723321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/parsers/urlencoded.js","id":"superagent/lib/node/parsers/urlencoded.js","options":{},"isModule":true,"requiredModules":["qs/index.js"],"mtime":1415723321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/part.js","id":"superagent/lib/node/part.js","options":{},"isModule":true,"requiredModules":["util/util.js","mime/mime.js","form-data/lib/form_data.js","readable-stream/passthrough.js"],"mtime":1415723321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/response.js","id":"superagent/lib/node/response.js","options":{},"isModule":true,"requiredModules":["util/util.js","superagent/lib/node/utils.js","stream"],"mtime":1415723321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/lib/node/utils.js","id":"superagent/lib/node/utils.js","options":{},"isModule":true,"requiredModules":["string_decoder/index.js","stream","zlib"],"mtime":1415723321000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/component-emitter/bower.json","id":"component-emitter/bower.json","options":{},"isModule":true,"mtime":1392084778000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/component-emitter/component.json","id":"component-emitter/component.json","options":{},"isModule":true,"mtime":1392084777000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/component-emitter/index.js","id":"component-emitter/index.js","options":{},"isModule":true,"mtime":1392084690000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/component-emitter/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/component-emitter/package.json","data":{"name":"component-emitter","description":"Event emitter","version":"1.1.2","devDependencies":{"mocha":"*","should":"*"},"component":{"scripts":{"emitter/index.js":"index.js"}},"main":"index.js","repository":{"type":"git","url":"https://github.com/component/emitter.git"},"scripts":{"test":"make test"},"bugs":{"url":"https://github.com/component/emitter/issues"},"homepage":"https://github.com/component/emitter","_id":"component-emitter@1.1.2","dist":{"shasum":"296594f2753daa63996d2af08d15a95116c9aec3","tarball":"http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz"},"_from":"component-emitter@1.1.2","_npmVersion":"1.3.24","_npmUser":{"name":"tootallnate","email":"nathan@tootallnate.net"},"maintainers":[{"name":"tootallnate","email":"nathan@tootallnate.net"}],"directories":{},"_shasum":"296594f2753daa63996d2af08d15a95116c9aec3","_resolved":"https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/cookiejar/cookiejar.js","id":"cookiejar/cookiejar.js","options":{},"isModule":true,"mtime":1404420889000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/cookiejar/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/cookiejar/package.json","data":{"name":"cookiejar","version":"2.0.1","author":{"name":"bradleymeck"},"main":"cookiejar.js","description":"simple persistent cookiejar system","license":"MIT","jshintConfig":{"node":true},"scripts":{"prepublish":"jshint cookiejar.js && git tag $npm_package_version && git push origin master && git push origin --tags","test":"tests/test.js"},"repository":{"type":"git","url":"https://github.com/bmeck/node-cookiejar.git"},"bugs":{"url":"https://github.com/bmeck/node-cookiejar/issues"},"homepage":"https://github.com/bmeck/node-cookiejar","_id":"cookiejar@2.0.1","_shasum":"3d12752f6adf68a892f332433492bd5812bb668f","_from":"cookiejar@2.0.1","_npmVersion":"1.4.9","_npmUser":{"name":"bradleymeck","email":"bradley.meck@gmail.com"},"maintainers":[{"name":"bradleymeck","email":"bradley.meck@gmail.com"}],"dist":{"shasum":"3d12752f6adf68a892f332433492bd5812bb668f","tarball":"http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/cookiejar/tests/test.js","id":"cookiejar/tests/test.js","options":{},"isModule":true,"requiredModules":["cookiejar/cookiejar.js","assert"],"mtime":1403204544000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/bower.json","id":"debug/bower.json","options":{},"isModule":true,"mtime":1431242465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/browser.js","id":"debug/browser.js","options":{},"isModule":true,"requiredModules":["debug/debug.js"],"mtime":1431199632000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/component.json","id":"debug/component.json","options":{},"isModule":true,"mtime":1431242465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"requiredModules":["ms/index.js"],"mtime":1408510177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/node.js","id":"debug/node.js","options":{},"isModule":true,"requiredModules":["tty","util/util.js","debug/debug.js","fs","net"],"mtime":1426272474000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/node_modules/ms/index.js","id":"ms/index.js","options":{},"isModule":true,"mtime":1429572968000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/node_modules/ms/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/node_modules/ms/package.json","data":{"name":"ms","version":"0.7.1","description":"Tiny ms conversion utility","repository":{"type":"git","url":"git://github.com/guille/ms.js.git"},"main":"./index","devDependencies":{"mocha":"*","expect.js":"*","serve":"*"},"component":{"scripts":{"ms/index.js":"index.js"}},"gitHead":"713dcf26d9e6fd9dbc95affe7eff9783b7f1b909","bugs":{"url":"https://github.com/guille/ms.js/issues"},"homepage":"https://github.com/guille/ms.js","_id":"ms@0.7.1","scripts":{},"_shasum":"9cd13c03adbff25b65effde7ce864ee952017098","_from":"ms@0.7.1","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"rauchg","email":"rauchg@gmail.com"},"maintainers":[{"name":"rauchg","email":"rauchg@gmail.com"}],"dist":{"shasum":"9cd13c03adbff25b65effde7ce864ee952017098","tarball":"http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/ms/-/ms-0.7.1.tgz","readme":"# ms.js: miliseconds conversion utility\n\n```js\nms('2 days')  // 172800000\nms('1d')      // 86400000\nms('10h')     // 36000000\nms('2.5 hrs') // 9000000\nms('2h')      // 7200000\nms('1m')      // 60000\nms('5s')      // 5000\nms('100')     // 100\n```\n\n```js\nms(60000)             // \"1m\"\nms(2 * 60000)         // \"2m\"\nms(ms('10 hours'))    // \"10h\"\n```\n\n```js\nms(60000, { long: true })             // \"1 minute\"\nms(2 * 60000, { long: true })         // \"2 minutes\"\nms(ms('10 hours'), { long: true })    // \"10 hours\"\n```\n\n- Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download).\n- If a number is supplied to `ms`, a string with a unit is returned.\n- If a string that contains the number is supplied, it returns it as\na number (e.g: it returns `100` for `'100'`).\n- If you pass a string with a number and a valid unit, the number of\nequivalent ms is returned.\n\n## License\n\nMIT\n","readmeFilename":"README.md"},"mtime":1439487645000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/debug/package.json","data":{"name":"debug","version":"2.2.0","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Nathan Rajlich","email":"nathan@tootallnate.net","url":"http://n8.io"}],"license":"MIT","dependencies":{"ms":"0.7.1"},"devDependencies":{"browserify":"9.0.3","mocha":"*"},"main":"./node.js","browser":"./browser.js","component":{"scripts":{"debug/index.js":"browser.js","debug/debug.js":"debug.js"}},"readme":"# debug\n\n  tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```bash\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n\nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n  , http = require('http')\n  , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n  debug(req.method + ' ' + req.url);\n  res.end('hello\\n');\n}).listen(3000, function(){\n  debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n  debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n  ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n  ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n#### Windows note\n\n On Windows the environment variable is set using the `set` command.\n\n ```cmd\n set DEBUG=*,-not_this\n ```\n\nThen, run the program to be debugged as usual.\n\n## Millisecond diff\n\n  When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n  ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n  When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n\n  ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\".\n\n## Wildcards\n\n  The `*` character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n  You can also exclude specific debuggers by prefixing them with a \"-\" character.  For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n  Debug works in the browser as well, currently persisted by `localStorage`. Consider the situation shown below where you have `worker:a` and `worker:b`, and wish to debug both. Somewhere in the code on your page, include:\n\n```js\nwindow.myDebug = require(\"debug\");\n```\n\n  (\"debug\" is a global object in the browser so we give this object a different name.) When your page is open in the browser, type the following in the console:\n\n```js\nmyDebug.enable(\"worker:*\")\n```\n\n  Refresh the page. Debug output will continue to be sent to the console until it is disabled by typing `myDebug.disable()` in the console.\n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n  a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n  b('doing some work');\n}, 1200);\n```\n\n#### Web Inspector Colors\n\n  Colors are also enabled on \"Web Inspectors\" that understand the `%c` formatting\n  option. These are WebKit web inspectors, Firefox ([since version\n  31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))\n  and the Firebug plugin for Firefox (any version).\n\n  Colored output looks something like:\n\n  ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)\n\n### stderr vs stdout\n\nYou can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:\n\nExample _stdout.js_:\n\n```js\nvar debug = require('debug');\nvar error = debug('app:error');\n\n// by default stderr is used\nerror('goes to stderr!');\n\nvar log = debug('app:log');\n// set this namespace to log via console.log\nlog.log = console.log.bind(console); // don't forget to bind to console!\nlog('goes to stdout');\nerror('still goes to stderr!');\n\n// set all output to go via console.info\n// overrides all per-namespace log settings\ndebug.log = console.info.bind(console);\nerror('now goes to stdout via console.info');\nlog('still goes to stdout, but via console.info now');\n```\n\n### Save debug output to a file\n\nYou can save all debug statements to a file by piping them.\n\nExample:\n\n```bash\n$ DEBUG_FD=3 node your-app.js 3> whatever.log\n```\n\n## Authors\n\n - TJ Holowaychuk\n - Nathan Rajlich\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2014 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@2.2.0","_shasum":"f87057e995b1a1f6ae6a4960664137bc56f039da","_from":"debug@>=2.0.0 <3.0.0","_resolved":"https://registry.npmjs.org/debug/-/debug-2.2.0.tgz","scripts":{}},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/extend/index.js","id":"extend/index.js","options":{},"isModule":true,"mtime":1379183493000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/extend/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/extend/package.json","data":{"name":"extend","author":{"name":"Stefan Thomas","email":"justmoon@members.fsf.org","url":"http://www.justmoon.net"},"version":"1.2.1","description":"Port of jQuery.extend for Node.js","main":"index","scripts":{"test":"node test/index.js"},"contributors":[{"name":"Jordan Harband","url":"https://github.com/ljharb"}],"keywords":["extend","clone","merge"],"repository":{"type":"git","url":"git+https://github.com/justmoon/node-extend.git"},"dependencies":{},"devDependencies":{"tape":"~1.1.0"},"readme":"[![Build Status][1]][2] [![dependency status][9]][10] [![dev dependency status][11]][12]\n\n# extend() for Node.js <sup>[![Version Badge][8]][3]</sup>\n\n`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true.\n\n## Installation\n\nThis package is available on [npm][3] as: `extend`\n\n``` sh\nnpm install extend\n```\n\n## Usage\n\n**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)** \n\n*Extend one object with one or more others, returning the modified object.*\n\nKeep in mind that the target object will be modified, and will be returned from extend().\n\nIf a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s).\nUndefined properties are not copied. However, properties inherited from the object's prototype will be copied over.\n\n### Arguments\n\n* `deep` *Boolean* (optional)  \nIf set, the merge becomes recursive (i.e. deep copy).\n* `target`\t*Object*  \nThe object to extend.\n* `object1`\t*Object*  \nThe object that will be merged into the first.\n* `objectN` *Object* (Optional)  \nMore objects to merge into the first.\n\n## License\n\n`node-extend` is licensed under the [MIT License][4].\n\n## Acknowledgements\n\nAll credit to the jQuery authors for perfecting this amazing utility.\n\nPorted to Node.js by [Stefan Thomas][5] with contributions by [Jonathan Buchanan][6] and [Jordan Harband][7].\n\n[1]: https://travis-ci.org/justmoon/node-extend.png\n[2]: https://travis-ci.org/justmoon/node-extend\n[3]: https://npmjs.org/package/extend\n[4]: http://opensource.org/licenses/MIT\n[5]: https://github.com/justmoon\n[6]: https://github.com/insin\n[7]: https://github.com/ljharb\n[8]: http://vb.teelaun.ch/justmoon/node-extend.svg\n[9]: https://david-dm.org/justmoon/node-extend.png\n[10]: https://david-dm.org/justmoon/node-extend\n[11]: https://david-dm.org/justmoon/node-extend/dev-status.png\n[12]: https://david-dm.org/justmoon/node-extend#info=devDependencies\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/justmoon/node-extend/issues"},"homepage":"https://github.com/justmoon/node-extend","_id":"extend@1.2.1","_shasum":"a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c","_from":"extend@>=1.2.1 <1.3.0","_resolved":"https://registry.npmjs.org/extend/-/extend-1.2.1.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/lib/form_data.js","id":"form-data/lib/form_data.js","options":{},"isModule":true,"requiredModules":["combined-stream/lib/combined_stream.js","util/util.js","path","http","https","url","fs","mime/mime.js","async/lib/async.js"],"mtime":1401694180000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js","id":"combined-stream/lib/combined_stream.js","options":{},"isModule":true,"requiredModules":["util/util.js","stream","delayed-stream/lib/delayed_stream.js"],"mtime":1414750567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js","id":"delayed-stream/lib/delayed_stream.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js"],"mtime":1306224584000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"delayed-stream","description":"Buffers events from a stream until you are ready to handle them.","version":"0.0.5","homepage":"https://github.com/felixge/node-delayed-stream","repository":{"type":"git","url":"git://github.com/felixge/node-delayed-stream.git"},"main":"./lib/delayed_stream","engines":{"node":">=0.4.0"},"dependencies":{},"devDependencies":{"fake":"0.2.0","far":"0.0.1"},"readme":"# delayed-stream\n\nBuffers events from a stream until you are ready to handle them.\n\n## Installation\n\n``` bash\nnpm install delayed-stream\n```\n\n## Usage\n\nThe following example shows how to write a http echo server that delays its\nresponse by 1000 ms.\n\n``` javascript\nvar DelayedStream = require('delayed-stream');\nvar http = require('http');\n\nhttp.createServer(function(req, res) {\n  var delayed = DelayedStream.create(req);\n\n  setTimeout(function() {\n    res.writeHead(200);\n    delayed.pipe(res);\n  }, 1000);\n});\n```\n\nIf you are not using `Stream#pipe`, you can also manually release the buffered\nevents by calling `delayedStream.resume()`:\n\n``` javascript\nvar delayed = DelayedStream.create(req);\n\nsetTimeout(function() {\n  // Emit all buffered events and resume underlaying source\n  delayed.resume();\n}, 1000);\n```\n\n## Implementation\n\nIn order to use this meta stream properly, here are a few things you should\nknow about the implementation.\n\n### Event Buffering / Proxying\n\nAll events of the `source` stream are hijacked by overwriting the `source.emit`\nmethod. Until node implements a catch-all event listener, this is the only way.\n\nHowever, delayed-stream still continues to emit all events it captures on the\n`source`, regardless of whether you have released the delayed stream yet or\nnot.\n\nUpon creation, delayed-stream captures all `source` events and stores them in\nan internal event buffer. Once `delayedStream.release()` is called, all\nbuffered events are emitted on the `delayedStream`, and the event buffer is\ncleared. After that, delayed-stream merely acts as a proxy for the underlaying\nsource.\n\n### Error handling\n\nError events on `source` are buffered / proxied just like any other events.\nHowever, `delayedStream.create` attaches a no-op `'error'` listener to the\n`source`. This way you only have to handle errors on the `delayedStream`\nobject, rather than in two places.\n\n### Buffer limits\n\ndelayed-stream provides a `maxDataSize` property that can be used to limit\nthe amount of data being buffered. In order to protect you from bad `source`\nstreams that don't react to `source.pause()`, this feature is enabled by\ndefault.\n\n## API\n\n### DelayedStream.create(source, [options])\n\nReturns a new `delayedStream`. Available options are:\n\n* `pauseStream`\n* `maxDataSize`\n\nThe description for those properties can be found below.\n\n### delayedStream.source\n\nThe `source` stream managed by this object. This is useful if you are\npassing your `delayedStream` around, and you still want to access properties\non the `source` object.\n\n### delayedStream.pauseStream = true\n\nWhether to pause the underlaying `source` when calling\n`DelayedStream.create()`. Modifying this property afterwards has no effect.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature. You can also modify this property during runtime.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature.\n\n### delayedStream.dataSize = 0\n\nThe amount of data buffered so far.\n\n### delayedStream.readable\n\nAn ECMA5 getter that returns the value of `source.readable`.\n\n### delayedStream.resume()\n\nIf the `delayedStream` has not been released so far, `delayedStream.release()`\nis called.\n\nIn either case, `source.resume()` is called.\n\n### delayedStream.pause()\n\nCalls `source.pause()`.\n\n### delayedStream.pipe(dest)\n\nCalls `delayedStream.resume()` and then proxies the arguments to `source.pipe`.\n\n### delayedStream.release()\n\nEmits and clears all events that have been buffered up so far. This does not\nresume the underlaying source, use `delayedStream.resume()` instead.\n\n## License\n\ndelayed-stream is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-delayed-stream/issues"},"_id":"delayed-stream@0.0.5","_shasum":"d4b1f43a93e8296dfe02694f4680bc37a313c73f","_from":"delayed-stream@0.0.5","_resolved":"https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js","id":"delayed-stream/test/common.js","options":{},"isModule":true,"requiredModules":["delayed-stream/lib/delayed_stream.js","assert","fake"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js","id":"delayed-stream/test/integration/test-delayed-http-upload.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","http"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js","id":"delayed-stream/test/integration/test-delayed-stream-auto-pause.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js","id":"delayed-stream/test/integration/test-delayed-stream-pause.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js","id":"delayed-stream/test/integration/test-delayed-stream.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js","id":"delayed-stream/test/integration/test-handle-source-errors.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js","id":"delayed-stream/test/integration/test-max-data-size.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js","id":"delayed-stream/test/integration/test-pipe-resumes.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js","id":"delayed-stream/test/integration/test-proxy-readable.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js","id":"delayed-stream/test/run.js","options":{},"isModule":true,"requiredModules":["far"],"mtime":1306224584000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"combined-stream","description":"A stream that emits multiple other streams one after another.","version":"0.0.7","homepage":"https://github.com/felixge/node-combined-stream","repository":{"type":"git","url":"git://github.com/felixge/node-combined-stream.git"},"main":"./lib/combined_stream","scripts":{"test":"node test/run.js"},"engines":{"node":">= 0.8"},"dependencies":{"delayed-stream":"0.0.5"},"devDependencies":{"far":"~0.0.7"},"readme":"# combined-stream [![Build Status](https://travis-ci.org/felixge/node-combined-stream.svg?branch=master)](https://travis-ci.org/felixge/node-combined-stream)\n\nA stream that emits multiple other streams one after another.\n\n## Installation\n\n``` bash\nnpm install combined-stream\n```\n\n## Usage\n\nHere is a simple example that shows how you can use combined-stream to combine\ntwo files into one:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(fs.createReadStream('file1.txt'));\ncombinedStream.append(fs.createReadStream('file2.txt'));\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\nWhile the example above works great, it will pause all source streams until\nthey are needed. If you don't want that to happen, you can set `pauseStreams`\nto `false`:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create({pauseStreams: false});\ncombinedStream.append(fs.createReadStream('file1.txt'));\ncombinedStream.append(fs.createReadStream('file2.txt'));\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\nHowever, what if you don't have all the source streams yet, or you don't want\nto allocate the resources (file descriptors, memory, etc.) for them right away?\nWell, in that case you can simply provide a callback that supplies the stream\nby calling a `next()` function:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(function(next) {\n  next(fs.createReadStream('file1.txt'));\n});\ncombinedStream.append(function(next) {\n  next(fs.createReadStream('file2.txt'));\n});\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\n## API\n\n### CombinedStream.create([options])\n\nReturns a new combined stream object. Available options are:\n\n* `maxDataSize`\n* `pauseStreams`\n\nThe effect of those options is described below.\n\n### combinedStream.pauseStreams = `true`\n\nWhether to apply back pressure to the underlaying streams. If set to `false`,\nthe underlaying streams will never be paused. If set to `true`, the\nunderlaying streams will be paused right after being appended, as well as when\n`delayedStream.pipe()` wants to throttle.\n\n### combinedStream.maxDataSize = `2 * 1024 * 1024`\n\nThe maximum amount of bytes (or characters) to buffer for all source streams.\nIf this value is exceeded, `combinedStream` emits an `'error'` event.\n\n### combinedStream.dataSize = `0`\n\nThe amount of bytes (or characters) currently buffered by `combinedStream`.\n\n### combinedStream.append(stream)\n\nAppends the given `stream` to the combinedStream object. If `pauseStreams` is\nset to `true, this stream will also be paused right away.\n\n`streams` can also be a function that takes one parameter called `next`. `next`\nis a function that must be invoked in order to provide the `next` stream, see\nexample above.\n\nRegardless of how the `stream` is appended, combined-stream always attaches an\n`'error'` listener to it, so you don't have to do that manually.\n\nSpecial case: `stream` can also be a String or Buffer.\n\n### combinedStream.write(data)\n\nYou should not call this, `combinedStream` takes care of piping the appended\nstreams into itself for you.\n\n### combinedStream.resume()\n\nCauses `combinedStream` to start drain the streams it manages. The function is\nidempotent, and also emits a `'resume'` event each time which usually goes to\nthe stream that is currently being drained.\n\n### combinedStream.pause();\n\nIf `combinedStream.pauseStreams` is set to `false`, this does nothing.\nOtherwise a `'pause'` event is emitted, this goes to the stream that is\ncurrently being drained, so you can use it to apply back pressure.\n\n### combinedStream.end();\n\nSets `combinedStream.writable` to false, emits an `'end'` event, and removes\nall streams from the queue.\n\n### combinedStream.destroy();\n\nSame as `combinedStream.end()`, except it emits a `'close'` event instead of\n`'end'`.\n\n## License\n\ncombined-stream is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-combined-stream/issues"},"_id":"combined-stream@0.0.7","_shasum":"0137e657baa5a7541c57ac37ac5fc07d73b4dc1f","_from":"combined-stream@>=0.0.4 <0.1.0","_resolved":"https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz"},"mtime":1439487645000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/form-data/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"form-data","description":"A module to create readable \"multipart/form-data\" streams.  Can be used to submit forms and file uploads to other web applications.","version":"0.1.3","repository":{"type":"git","url":"git://github.com/felixge/node-form-data.git"},"main":"./lib/form_data","scripts":{"test":"node test/run.js"},"engines":{"node":">= 0.8"},"dependencies":{"combined-stream":"~0.0.4","mime":"~1.2.11","async":"~0.9.0"},"licenses":[{"type":"MIT","url":"https://raw.github.com/felixge/node-form-data/master/License"}],"devDependencies":{"fake":"~0.2.2","far":"~0.0.7","formidable":"~1.0.14","request":"~2.36.0"},"readme":"# Form-Data [![Build Status](https://travis-ci.org/felixge/node-form-data.png?branch=master)](https://travis-ci.org/felixge/node-form-data) [![Dependency Status](https://gemnasium.com/felixge/node-form-data.png)](https://gemnasium.com/felixge/node-form-data)\n\nA module to create readable ```\"multipart/form-data\"``` streams. Can be used to submit forms and file uploads to other web applications.\n\nThe API of this module is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd].\n\n[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface\n[streams2-thing]: http://nodejs.org/api/stream.html#stream_compatibility_with_older_node_versions\n\n## Install\n\n```\nnpm install form-data\n```\n\n## Usage\n\nIn this example we are constructing a form with 3 fields that contain a string,\na buffer and a file stream.\n\n``` javascript\nvar FormData = require('form-data');\nvar fs = require('fs');\n\nvar form = new FormData();\nform.append('my_field', 'my value');\nform.append('my_buffer', new Buffer(10));\nform.append('my_file', fs.createReadStream('/foo/bar.jpg'));\n```\n\nAlso you can use http-response stream:\n\n``` javascript\nvar FormData = require('form-data');\nvar http = require('http');\n\nvar form = new FormData();\n\nhttp.request('http://nodejs.org/images/logo.png', function(response) {\n  form.append('my_field', 'my value');\n  form.append('my_buffer', new Buffer(10));\n  form.append('my_logo', response);\n});\n```\n\nOr @mikeal's request stream:\n\n``` javascript\nvar FormData = require('form-data');\nvar request = require('request');\n\nvar form = new FormData();\n\nform.append('my_field', 'my value');\nform.append('my_buffer', new Buffer(10));\nform.append('my_logo', request('http://nodejs.org/images/logo.png'));\n```\n\nIn order to submit this form to a web application, call ```submit(url, [callback])``` method:\n\n``` javascript\nform.submit('http://example.org/', function(err, res) {\n  // res – response object (http.IncomingMessage)  //\n  res.resume(); // for node-0.10.x\n});\n\n```\n\nFor more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods.\n\n### Alternative submission methods\n\nYou can use node's http client interface:\n\n``` javascript\nvar http = require('http');\n\nvar request = http.request({\n  method: 'post',\n  host: 'example.org',\n  path: '/upload',\n  headers: form.getHeaders()\n});\n\nform.pipe(request);\n\nrequest.on('response', function(res) {\n  console.log(res.statusCode);\n});\n```\n\nOr if you would prefer the `'Content-Length'` header to be set for you:\n\n``` javascript\nform.submit('example.org/upload', function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\nTo use custom headers and pre-known length in parts:\n\n``` javascript\nvar CRLF = '\\r\\n';\nvar form = new FormData();\n\nvar options = {\n  header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF,\n  knownLength: 1\n};\n\nform.append('my_buffer', buffer, options);\n\nform.submit('http://example.com/', function(err, res) {\n  if (err) throw err;\n  console.log('Done');\n});\n```\n\nForm-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal's request```), for some other types of streams you'd need to provide \"file\"-related information manually:\n\n``` javascript\nsomeModule.stream(function(err, stdout, stderr) {\n  if (err) throw err;\n\n  var form = new FormData();\n\n  form.append('file', stdout, {\n    filename: 'unicycle.jpg',\n    contentType: 'image/jpg',\n    knownLength: 19806\n  });\n\n  form.submit('http://example.com/', function(err, res) {\n    if (err) throw err;\n    console.log('Done');\n  });\n});\n```\n\nFor edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter:\n\n``` javascript\nform.submit({\n  host: 'example.com',\n  path: '/probably.php?extra=params',\n  auth: 'username:password'\n}, function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\nIn case you need to also send custom HTTP headers with the POST request, you can use the `headers` key in first parameter of `form.submit()`:\n\n``` javascript\nform.submit({\n  host: 'example.com',\n  path: '/surelynot.php',\n  headers: {'x-test-header': 'test-header-value'}\n}, function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\n## Notes\n\n- ```getLengthSync()``` method DOESN'T calculate length for streams, use ```knownLength``` options as workaround.\n- If it feels like FormData hangs after submit and you're on ```node-0.10```, please check [Compatibility with Older Node Versions][streams2-thing]\n\n## TODO\n\n- Add new streams (0.10) support and try really hard not to break it for 0.8.x.\n\n## License\n\nForm-Data is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-form-data/issues"},"homepage":"https://github.com/felixge/node-form-data","_id":"form-data@0.1.3","_shasum":"4ee4346e6eb5362e8344a02075bd8dbd8c7373ea","_from":"form-data@0.1.3","_resolved":"https://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/benchmark/bench-multipart-parser.js","id":"formidable/benchmark/bench-multipart-parser.js","options":{},"isModule":true,"requiredModules":["assert","formidable/test/common.js","formidable/lib/multipart_parser.js","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/example/json.js","id":"formidable/example/json.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","util/util.js","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/example/post.js","id":"formidable/example/post.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","util/util.js","formidable/lib/index.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/example/upload.js","id":"formidable/example/upload.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","util/util.js","formidable/lib/index.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/index.js","id":"formidable/index.js","options":{},"isModule":true,"requiredModules":["formidable/lib/index.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/lib/file.js","id":"formidable/lib/file.js","options":{},"isModule":true,"requiredModules":["util/util.js","fs","events","crypto"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/lib/incoming_form.js","id":"formidable/lib/incoming_form.js","options":{},"isModule":true,"requiredModules":["fs","util/util.js","path","formidable/lib/file.js","formidable/lib/multipart_parser.js","formidable/lib/querystring_parser.js","formidable/lib/octet_parser.js","formidable/lib/json_parser.js","string_decoder/index.js","events","stream","os"],"mtime":1367528482000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/lib/index.js","id":"formidable/lib/index.js","options":{},"isModule":true,"requiredModules":["formidable/lib/incoming_form.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/lib/json_parser.js","id":"formidable/lib/json_parser.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/lib/multipart_parser.js","id":"formidable/lib/multipart_parser.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/lib/octet_parser.js","id":"formidable/lib/octet_parser.js","options":{},"isModule":true,"requiredModules":["events","util/util.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/lib/querystring_parser.js","id":"formidable/lib/querystring_parser.js","options":{},"isModule":true,"requiredModules":["querystring"],"mtime":1366669961000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/package.json","data":{"name":"formidable","description":"A node.js module for parsing form data, especially file uploads.","homepage":"https://github.com/felixge/node-formidable","version":"1.0.14","devDependencies":{"gently":"0.8.0","findit":"0.1.1","hashish":"0.0.4","urun":"~0.0.6","utest":"0.0.3","request":"~2.11.4"},"directories":{"lib":"./lib"},"main":"./lib/index","scripts":{"test":"node test/run.js","clean":"rm test/tmp/*"},"engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git://github.com/felixge/node-formidable.git"},"bugs":{"url":"http://github.com/felixge/node-formidable/issues"},"optionalDependencies":{},"_id":"formidable@1.0.14","dependencies":{},"dist":{"shasum":"2b3f4c411cbb5fdd695c44843e2a23514a43231a","tarball":"http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz"},"_from":"formidable@1.0.14","_npmVersion":"1.2.18","_npmUser":{"name":"tim-smart","email":"tim@fostle.com"},"maintainers":[{"name":"felixge","email":"felix@debuggable.com"},{"name":"svnlto","email":"me@svenlito.com"},{"name":"superjoe","email":"superjoe30@gmail.com"},{"name":"tim-smart","email":"tim@fostle.com"}],"_shasum":"2b3f4c411cbb5fdd695c44843e2a23514a43231a","_resolved":"https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/common.js","id":"formidable/test/common.js","options":{},"isModule":true,"requiredModules":["path","formidable/lib/index.js","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/fixture/js/encoding.js","id":"formidable/test/fixture/js/encoding.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/fixture/js/misc.js","id":"formidable/test/fixture/js/misc.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/fixture/js/no-filename.js","id":"formidable/test/fixture/js/no-filename.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/fixture/js/preamble.js","id":"formidable/test/fixture/js/preamble.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/fixture/js/special-chars-in-filename.js","id":"formidable/test/fixture/js/special-chars-in-filename.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/fixture/js/workarounds.js","id":"formidable/test/fixture/js/workarounds.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/fixture/multipart.js","id":"formidable/test/fixture/multipart.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/integration/test-fixtures.js","id":"formidable/test/integration/test-fixtures.js","options":{},"isModule":true,"requiredModules":["hashish","fs","findit","path","http","net","assert","formidable/test/common.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/integration/test-json.js","id":"formidable/test/integration/test-json.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/integration/test-octet-stream.js","id":"formidable/test/integration/test-octet-stream.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","fs","path","hashish","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/legacy/common.js","id":"formidable/test/legacy/common.js","options":{},"isModule":true,"requiredModules":["path","fs","gently","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/legacy/integration/test-multipart-parser.js","id":"formidable/test/legacy/integration/test-multipart-parser.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/legacy/simple/test-file.js","id":"formidable/test/legacy/simple/test-file.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","events"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/legacy/simple/test-incoming-form.js","id":"formidable/test/legacy/simple/test-incoming-form.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","events","fs","path","buffer"],"mtime":1367528482000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/legacy/simple/test-multipart-parser.js","id":"formidable/test/legacy/simple/test-multipart-parser.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","events","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/legacy/simple/test-querystring-parser.js","id":"formidable/test/legacy/simple/test-querystring-parser.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/legacy/system/test-multi-video-upload.js","id":"formidable/test/legacy/system/test-multi-video-upload.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","fs","http"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/run.js","id":"formidable/test/run.js","options":{},"isModule":true,"requiredModules":["urun"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/standalone/test-connection-aborted.js","id":"formidable/test/standalone/test-connection-aborted.js","options":{},"isModule":true,"requiredModules":["assert","http","net","formidable/lib/index.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/standalone/test-content-transfer-encoding.js","id":"formidable/test/standalone/test-content-transfer-encoding.js","options":{},"isModule":true,"requiredModules":["assert","formidable/test/common.js","formidable/lib/index.js","http"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/standalone/test-issue-46.js","id":"formidable/test/standalone/test-issue-46.js","options":{},"isModule":true,"requiredModules":["http","formidable/lib/index.js","request/index.js","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/unit/test-file.js","id":"formidable/test/unit/test-file.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","utest"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/test/unit/test-incoming-form.js","id":"formidable/test/unit/test-incoming-form.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","utest","path"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/formidable/tool/record.js","id":"formidable/tool/record.js","options":{},"isModule":true,"requiredModules":["http","fs"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/methods/index.js","id":"methods/index.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1401719206000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/methods/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/methods/package.json","data":{"name":"methods","version":"1.0.1","description":"HTTP methods that node supports","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha"},"keywords":["http","methods"],"author":{"name":"TJ Holowaychuk"},"license":"MIT","repository":{"type":"git","url":"git://github.com/visionmedia/node-methods.git"},"devDependencies":{"mocha":"1.17.x"},"bugs":{"url":"https://github.com/visionmedia/node-methods/issues"},"homepage":"https://github.com/visionmedia/node-methods","_id":"methods@1.0.1","dist":{"shasum":"75bc91943dffd7da037cf3eeb0ed73a0037cd14b","tarball":"http://registry.npmjs.org/methods/-/methods-1.0.1.tgz"},"_from":"methods@1.0.1","_npmVersion":"1.4.3","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"directories":{},"_shasum":"75bc91943dffd7da037cf3eeb0ed73a0037cd14b","_resolved":"https://registry.npmjs.org/methods/-/methods-1.0.1.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/methods/test/methods.js","id":"methods/test/methods.js","options":{},"isModule":true,"requiredModules":["http","assert","methods/index.js"],"mtime":1399576636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/mime/mime.js","id":"mime/mime.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1376588058000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/mime/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/mime/package.json","data":{"author":{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"},"contributors":[{"name":"Benjamin Thomas","email":"benjamin@benjaminthomas.org","url":"http://github.com/bentomas"}],"dependencies":{},"description":"A comprehensive library for mime-type mapping","devDependencies":{},"keywords":["util","mime"],"main":"mime.js","name":"mime","repository":{"url":"https://github.com/broofa/node-mime","type":"git"},"version":"1.2.11","bugs":{"url":"https://github.com/broofa/node-mime/issues"},"_id":"mime@1.2.11","dist":{"shasum":"58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10","tarball":"http://registry.npmjs.org/mime/-/mime-1.2.11.tgz"},"_from":"mime@1.2.11","_npmVersion":"1.3.6","_npmUser":{"name":"broofa","email":"robert@broofa.com"},"maintainers":[{"name":"broofa","email":"robert@broofa.com"},{"name":"bentomas","email":"benjamin@benjaminthomas.org"}],"directories":{},"_shasum":"58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10","_resolved":"https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/mime/test.js","id":"mime/test.js","options":{},"isModule":true,"requiredModules":["mime/mime.js","assert","path"],"mtime":1376588031000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/index.js","id":"qs/index.js","options":{},"isModule":true,"requiredModules":["qs/lib/index.js"],"mtime":1406760301000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/lib/index.js","id":"qs/lib/index.js","options":{},"isModule":true,"requiredModules":["qs/lib/stringify.js","qs/lib/parse.js"],"mtime":1407190656000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/lib/parse.js","id":"qs/lib/parse.js","options":{},"isModule":true,"requiredModules":["qs/lib/utils.js"],"mtime":1407417694000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/lib/stringify.js","id":"qs/lib/stringify.js","options":{},"isModule":true,"mtime":1407417737000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/lib/utils.js","id":"qs/lib/utils.js","options":{},"isModule":true,"mtime":1407419532000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/package.json","data":{"name":"qs","version":"1.2.0","description":"A querystring parser that supports nesting and arrays, with a depth limit","homepage":"https://github.com/hapijs/qs","main":"index.js","dependencies":{},"devDependencies":{"lab":"3.x.x"},"scripts":{"test":"make test-cov"},"repository":{"type":"git","url":"https://github.com/hapijs/qs.git"},"keywords":["querystring","qs"],"author":{"name":"Nathan LaFreniere","email":"quitlahok@gmail.com"},"licenses":[{"type":"BSD","url":"http://github.com/hapijs/qs/raw/master/LICENSE"}],"gitHead":"e1ff638989afe27a2c7f8ec7eecf9bab71a4fbf2","bugs":{"url":"https://github.com/hapijs/qs/issues"},"_id":"qs@1.2.0","_shasum":"ed079be28682147e6fd9a34cc2b0c1e0ec6453ee","_from":"qs@1.2.0","_npmVersion":"1.4.21","_npmUser":{"name":"nlf","email":"quitlahok@gmail.com"},"maintainers":[{"name":"nlf","email":"quitlahok@gmail.com"},{"name":"hueniverse","email":"eran@hueniverse.com"}],"dist":{"shasum":"ed079be28682147e6fd9a34cc2b0c1e0ec6453ee","tarball":"http://registry.npmjs.org/qs/-/qs-1.2.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/qs/-/qs-1.2.0.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/test/parse.js","id":"qs/test/parse.js","options":{},"isModule":true,"requiredModules":["lab","qs/index.js"],"mtime":1407419223000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/qs/test/stringify.js","id":"qs/test/stringify.js","options":{},"isModule":true,"requiredModules":["lab","qs/index.js"],"mtime":1407417537000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1388359679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1396170181000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1396170181000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["isarray/index.js","buffer","events","stream","core-util-is/lib/util.js","inherits/inherits.js","string_decoder/index.js"],"mtime":1396757779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1396757779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["buffer","core-util-is/lib/util.js","inherits/inherits.js","stream","readable-stream/lib/_stream_duplex.js"],"mtime":1396757779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is.git"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","dist":{"shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","tarball":"http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"},"_from":"core-util-is@>=1.0.0 <1.1.0","_npmVersion":"1.3.23","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits.git"},"license":"ISC","scripts":{"test":"node test"},"bugs":{"url":"https://github.com/isaacs/inherits/issues"},"_id":"inherits@2.0.1","dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"_from":"inherits@>=2.0.1 <2.1.0","_npmVersion":"1.3.8","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"directories":{},"_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz","readme":"ERROR: No README data found!","homepage":"https://github.com/isaacs/inherits"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","gitHead":"d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@>=0.10.0 <0.11.0","_npmVersion":"1.4.23","_npmUser":{"name":"rvagg","email":"rod@vagg.org"},"maintainers":[{"name":"substack","email":"mail@substack.net"},{"name":"rvagg","email":"rod@vagg.org"}],"dist":{"shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","tarball":"http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz","readme":"ERROR: No README data found!"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"1.0.27-1","description":"Streams2, a user-land copy of the stream library from Node.js v0.10.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","isarray":"0.0.1","string_decoder":"~0.10.x","inherits":"~2.0.1"},"devDependencies":{"tap":"~0.2.6"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/readable-stream.git"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","readme":"# readable-stream\n\n***Node-core streams for userland***\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png)](https://nodei.co/npm/readable-stream/)\n\nThis package is a mirror of the Streams2 and Streams3 implementations in Node-core.\n\nIf you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core.\n\n**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12.\n\n**readable-stream** uses proper patch-level versioning so if you pin to `\"~1.0.0\"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `\"~1.1.0\"`\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/readable-stream/issues"},"homepage":"https://github.com/isaacs/readable-stream","_id":"readable-stream@1.0.27-1","_shasum":"6b67983c20357cefd07f0165001a16d710d91078","_from":"readable-stream@1.0.27-1","_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1396757779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/reduce-component/component.json","id":"reduce-component/component.json","options":{},"isModule":true,"mtime":1381756459000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/reduce-component/index.js","id":"reduce-component/index.js","options":{},"isModule":true,"mtime":1382205796000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/reduce-component/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/reduce-component/package.json","data":{"name":"reduce-component","description":"Array reduce component","version":"1.0.1","repository":{"type":"git","url":"git://github.com/redventures/reduce.git"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"component":{"scripts":{"reduce":"index.js"}},"main":"./index.js","license":"Apache, Version 2.0","readme":"\n# reduce\n\n  array reduce\n\n## Installation\n\n```sh\n  $ component install redventures/reduce\n```\n\n## API\n\n```js\nvar reduce = require('reduce');\n\nvar numbers = [0, 1, 2, 3, 4, 5];\n\nvar result = reduce(numbers, function(prev, curr){\n  return prev + curr;\n});\n```\n   \n## License\n\nCopyright 2012 Red Ventures\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/redventures/reduce/issues"},"_id":"reduce-component@1.0.1","dist":{"shasum":"e0c93542c574521bea13df0f9488ed82ab77c5da","tarball":"http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz"},"_from":"reduce-component@1.0.1","_npmVersion":"1.3.11","_npmUser":{"name":"gjohnson","email":"gjj391@gmail.com"},"maintainers":[{"name":"gjohnson","email":"gjj391@gmail.com"}],"directories":{},"_shasum":"e0c93542c574521bea13df0f9488ed82ab77c5da","_resolved":"https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/node_modules/reduce-component/test/reduce.js","id":"reduce-component/test/reduce.js","options":{},"isModule":true,"requiredModules":["reduce-component/index.js"],"mtime":1352355681000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/superagent/package.json","data":{"name":"superagent","version":"0.21.0","description":"elegant & feature rich browser / node HTTP with a fluent API","scripts":{"test":"make test"},"keywords":["http","ajax","request","agent"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Hunter Loftis","email":"hunter@hunterloftis.com"}],"repository":{"type":"git","url":"git://github.com/visionmedia/superagent.git"},"dependencies":{"qs":"1.2.0","formidable":"1.0.14","mime":"1.2.11","component-emitter":"1.1.2","methods":"1.0.1","cookiejar":"2.0.1","debug":"2","reduce-component":"1.0.1","extend":"~1.2.1","form-data":"0.1.3","readable-stream":"1.0.27-1"},"devDependencies":{"basic-auth-connect":"^1.0.0","better-assert":"~1.0.1","body-parser":"^1.9.2","cookie-parser":"^1.3.3","express":"^4.9.8","express-session":"^1.9.1","mocha":"*","should":"3.1.3","zuul":"~1.6.0"},"browser":{"./lib/node/index.js":"./lib/client.js","emitter":"component-emitter","reduce":"reduce-component"},"component":{"scripts":{"superagent":"lib/client.js"}},"main":"./lib/node/index.js","engines":{"node":">= 0.8"},"gitHead":"48834c8260698acdaea7d9d9eff98c20726edd42","bugs":{"url":"https://github.com/visionmedia/superagent/issues"},"homepage":"https://github.com/visionmedia/superagent","_id":"superagent@0.21.0","_shasum":"fb15027984751ee7152200e6cd21cd6e19a5de87","_from":"superagent@0.21.0","_npmVersion":"2.0.0","_npmUser":{"name":"gjohnson","email":"gjj391@gmail.com"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"},{"name":"superjoe","email":"superjoe30@gmail.com"},{"name":"gjohnson","email":"gjj391@gmail.com"},{"name":"rauchg","email":"rauchg@gmail.com"},{"name":"yields","email":"yields@icloud.com"},{"name":"naman34","email":"naman34@gmail.com"},{"name":"kof","email":"oleg008@gmail.com"}],"dist":{"shasum":"fb15027984751ee7152200e6cd21cd6e19a5de87","tarball":"http://registry.npmjs.org/superagent/-/superagent-0.21.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/superagent/-/superagent-0.21.0.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/superagent/superagent.js","id":"superagent/superagent.js","options":{},"isModule":true,"requiredModules":["emitter","reduce","superagent/lib/node/index.js"],"mtime":1415724461000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/example.js","id":"supertest/example.js","options":{},"isModule":true,"requiredModules":["supertest/index.js","express/index.js"],"mtime":1395514389000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/index.js","id":"supertest/index.js","options":{},"isModule":true,"requiredModules":["methods/index.js","supertest/lib/test.js","http","supertest/lib/agent.js"],"mtime":1397479863000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/lib/agent.js","id":"supertest/lib/agent.js","options":{},"isModule":true,"requiredModules":["superagent/lib/node/index.js","methods/index.js","http","supertest/lib/test.js"],"mtime":1397479785000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/lib/test.js","id":"supertest/lib/test.js","options":{},"isModule":true,"requiredModules":["superagent/lib/node/index.js","util/util.js","http","https","assert"],"mtime":1400828661000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/methods/index.js","id":"methods/index.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1399576655000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/methods/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/methods/package.json","data":{"name":"methods","version":"1.0.0","description":"HTTP methods that node supports","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha"},"keywords":["http","methods"],"author":{"name":"TJ Holowaychuk"},"license":"MIT","repository":{"type":"git","url":"git://github.com/visionmedia/node-methods.git"},"devDependencies":{"mocha":"1.17.x"},"readme":"\n# Methods\n\n  HTTP verbs that node core's parser supports.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/node-methods/issues"},"homepage":"https://github.com/visionmedia/node-methods","_id":"methods@1.0.0","_from":"methods@1.0.0"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/methods/test/methods.js","id":"methods/test/methods.js","options":{},"isModule":true,"requiredModules":["http","assert","methods/index.js"],"mtime":1399576636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/component.json","id":"superagent/component.json","options":{},"isModule":true,"mtime":1398831714000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/components/component-emitter/component.json","id":"superagent/components/component-emitter/component.json","options":{},"isModule":true,"mtime":1398831615000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/components/component-emitter/index.js","id":"superagent/components/component-emitter/index.js","options":{},"isModule":true,"mtime":1398831615000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/components/component-reduce/component.json","id":"superagent/components/component-reduce/component.json","options":{},"isModule":true,"mtime":1398831615000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/components/component-reduce/index.js","id":"superagent/components/component-reduce/index.js","options":{},"isModule":true,"mtime":1398831615000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/client.js","id":"superagent/lib/client.js","options":{},"isModule":true,"requiredModules":["emitter","reduce"],"mtime":1398830955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/agent.js","id":"superagent/lib/node/agent.js","options":{},"isModule":true,"requiredModules":["cookiejar/cookiejar.js","url","superagent/lib/node/index.js","methods/index.js"],"mtime":1398257840000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/index.js","id":"superagent/lib/node/index.js","options":{},"isModule":true,"requiredModules":["debug/node.js","formidable/lib/index.js","form-data/lib/form_data.js","superagent/lib/node/response.js","url","methods/index.js","stream","superagent/lib/node/utils.js","extend/index.js","superagent/lib/node/part.js","mime/mime.js","https","http","fs","qs/index.js","zlib","util/util.js","/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/package.json","superagent/lib/node/agent.js","superagent/lib/node/parsers/index.js"],"mtime":1398830955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/parsers/index.js","id":"superagent/lib/node/parsers/index.js","options":{},"isModule":true,"requiredModules":["superagent/lib/node/parsers/urlencoded.js","superagent/lib/node/parsers/json.js","superagent/lib/node/parsers/text.js"],"mtime":1395376690000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/parsers/json.js","id":"superagent/lib/node/parsers/json.js","options":{},"isModule":true,"mtime":1395376690000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/parsers/text.js","id":"superagent/lib/node/parsers/text.js","options":{},"isModule":true,"mtime":1395376690000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/parsers/urlencoded.js","id":"superagent/lib/node/parsers/urlencoded.js","options":{},"isModule":true,"requiredModules":["qs/index.js"],"mtime":1395376690000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/part.js","id":"superagent/lib/node/part.js","options":{},"isModule":true,"requiredModules":["util/util.js","mime/mime.js","form-data/lib/form_data.js","readable-stream/passthrough.js"],"mtime":1398830955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/response.js","id":"superagent/lib/node/response.js","options":{},"isModule":true,"requiredModules":["util/util.js","superagent/lib/node/utils.js","stream"],"mtime":1398830955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/lib/node/utils.js","id":"superagent/lib/node/utils.js","options":{},"isModule":true,"requiredModules":["string_decoder/index.js","stream","zlib"],"mtime":1395376690000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/component-emitter/bower.json","id":"component-emitter/bower.json","options":{},"isModule":true,"mtime":1392084778000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/component-emitter/component.json","id":"component-emitter/component.json","options":{},"isModule":true,"mtime":1392084777000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/component-emitter/index.js","id":"component-emitter/index.js","options":{},"isModule":true,"mtime":1392084690000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/component-emitter/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/component-emitter/package.json","data":{"name":"component-emitter","description":"Event emitter","version":"1.1.2","devDependencies":{"mocha":"*","should":"*"},"component":{"scripts":{"emitter/index.js":"index.js"}},"main":"index.js","repository":{"type":"git","url":"https://github.com/component/emitter.git"},"scripts":{"test":"make test"},"readme":"# Emitter [![Build Status](https://travis-ci.org/component/emitter.png)](https://travis-ci.org/component/emitter)\n\n  Event emitter component.\n\n## Installation\n\n```\n$ component install component/emitter\n```\n\n## API\n\n### Emitter(obj)\n\n  The `Emitter` may also be used as a mixin. For example\n  a \"plain\" object may become an emitter, or you may\n  extend an existing prototype.\n\n  As an `Emitter` instance:\n\n```js\nvar Emitter = require('emitter');\nvar emitter = new Emitter;\nemitter.emit('something');\n```\n\n  As a mixin:\n\n```js\nvar Emitter = require('emitter');\nvar user = { name: 'tobi' };\nEmitter(user);\n\nuser.emit('im a user');\n```\n\n  As a prototype mixin:\n\n```js\nvar Emitter = require('emitter');\nEmitter(User.prototype);\n```\n\n### Emitter#on(event, fn)\n\n  Register an `event` handler `fn`.\n\n### Emitter#once(event, fn)\n\n  Register a single-shot `event` handler `fn`,\n  removed immediately after it is invoked the\n  first time.\n\n### Emitter#off(event, fn)\n\n  * Pass `event` and `fn` to remove a listener.\n  * Pass `event` to remove all listeners on that event.\n  * Pass nothing to remove all listeners on all events.\n\n### Emitter#emit(event, ...)\n\n  Emit an `event` with variable option args.\n\n### Emitter#listeners(event)\n\n  Return an array of callbacks, or an empty array.\n\n### Emitter#hasListeners(event)\n\n  Check if this emitter has `event` handlers.\n\n## License\n\nMIT\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/component/emitter/issues"},"homepage":"https://github.com/component/emitter","_id":"component-emitter@1.1.2","_shasum":"296594f2753daa63996d2af08d15a95116c9aec3","_from":"component-emitter@1.1.2","_resolved":"https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/cookiejar/cookiejar.js","id":"cookiejar/cookiejar.js","options":{},"isModule":true,"mtime":1398177259000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/cookiejar/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/cookiejar/package.json","data":{"name":"cookiejar","version":"1.3.2","author":{"name":"bradleymeck"},"main":"cookiejar.js","description":"simple persistent cookiejar system","license":"MIT","repository":{"type":"git","url":"https://github.com/bmeck/node-cookiejar.git"},"readme":"#CookieJar\n\nSimple robust cookie library\n\n##Exports\n\n\n###CookieAccessInfo(domain,path,secure,script)\n    class to determine matching qualities of a cookie\n\n#####Properties\n* String domain - domain to match\n* String path - path to match\n* Boolean secure - access is secure (ssl generally)\n* Boolean script - access is from a script\n\n\n###Cookie(cookiestr_or_cookie)\n    turns input into a Cookie (singleton if given a Cookie)\n\n#####Properties\n* String name - name of the cookie\n* String value - string associated with the cookie\n* String domain - domain to match (on a cookie a '.' at the start means a wildcard matching anything ending in the rest)\n* String path - base path to match (matches any path starting with this '/' is root)\n* Boolean noscript - if it should be kept from scripts\n* Boolean secure - should it only be transmitted over secure means\n* Number expiration_date - number of millis since 1970 at which this should be removed\n\n#####Methods\n* String toString() - the __set-cookie:__ string for this cookie\n* String toValueString() - the __cookie:__ string for this cookie\n* Cookie parse(cookiestr) - parses the string onto this cookie or a new one if called directly\n* Boolean matches(access_info) - returns true if the access_info allows retrieval of this cookie\n* Boolean collidesWith(cookie) - returns true if the cookies cannot exist in the same space (domain and path match)\n\n\n###CookieJar()\n    class to hold numerous cookies from multiple domains correctly\n\n#####Methods\n* Cookie setCookie(cookie) - add a cookie to the jar\n* Cookie[] setCookies(cookiestr_or_list) - add a large number of cookies to the jar\n* Cookie getCookie(cookie_name,access_info) - get a cookie with the name and access_info matching\n* Cookie[] getCookies(access_info) - grab all cookies matching this access_info","readmeFilename":"readme.md","bugs":{"url":"https://github.com/bmeck/node-cookiejar/issues"},"homepage":"https://github.com/bmeck/node-cookiejar","_id":"cookiejar@1.3.2","_shasum":"61d3229e2da20c859032233502958a9b7df58249","_from":"cookiejar@1.3.2","_resolved":"https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.2.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/cookiejar/tests/test.js","id":"cookiejar/tests/test.js","options":{},"isModule":true,"requiredModules":["cookiejar/cookiejar.js","assert"],"mtime":1398177348000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/debug/debug.js","id":"debug/debug.js","options":{},"isModule":true,"mtime":1383180572000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/debug/index.js","id":"debug/index.js","options":{},"isModule":true,"requiredModules":["debug/lib/debug.js","debug/debug.js"],"mtime":1360083107000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/debug/lib/debug.js","id":"debug/lib/debug.js","options":{},"isModule":true,"requiredModules":["tty"],"mtime":1366121384000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/debug/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/debug/package.json","data":{"name":"debug","version":"0.7.4","repository":{"type":"git","url":"git://github.com/visionmedia/debug.git"},"description":"small debugging utility","keywords":["debug","log","debugger"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"dependencies":{},"devDependencies":{"mocha":"*"},"main":"lib/debug.js","browser":"./debug.js","engines":{"node":"*"},"files":["lib/debug.js","debug.js","index.js"],"component":{"scripts":{"debug/index.js":"index.js","debug/debug.js":"debug.js"}},"readme":"# debug\n\n  tiny node.js debugging utility modelled after node core's debugging technique.\n\n## Installation\n\n```\n$ npm install debug\n```\n\n## Usage\n\n With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.\n \nExample _app.js_:\n\n```js\nvar debug = require('debug')('http')\n  , http = require('http')\n  , name = 'My App';\n\n// fake app\n\ndebug('booting %s', name);\n\nhttp.createServer(function(req, res){\n  debug(req.method + ' ' + req.url);\n  res.end('hello\\n');\n}).listen(3000, function(){\n  debug('listening');\n});\n\n// fake worker of some kind\n\nrequire('./worker');\n```\n\nExample _worker.js_:\n\n```js\nvar debug = require('debug')('worker');\n\nsetInterval(function(){\n  debug('doing some work');\n}, 1000);\n```\n\n The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n  ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n  ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n  When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the \"+NNNms\" will show you how much time was spent between calls.\n\n  ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n  When stderr is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:\n  _(NOTE: Debug now uses stderr instead of stdout, so the correct shell command for this example is actually `DEBUG=* node example/worker 2> out &`)_\n  \n  ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n  \n## Conventions\n\n If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use \":\" to separate features. For example \"bodyParser\" from Connect would then be \"connect:bodyParser\". \n\n## Wildcards\n\n  The \"*\" character may be used as a wildcard. Suppose for example your library has debuggers named \"connect:bodyParser\", \"connect:compress\", \"connect:session\", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.\n\n  You can also exclude specific debuggers by prefixing them with a \"-\" character.  For example, `DEBUG=* -connect:*` would include all debuggers except those starting with \"connect:\".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable('worker:*')` in the console and refresh the page, this will remain until you disable with `debug.disable()`. \n\n```js\na = debug('worker:a');\nb = debug('worker:b');\n\nsetInterval(function(){\n  a('doing some work');\n}, 1000);\n\nsetInterval(function(){\n  a('doing some work');\n}, 1200);\n```\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/debug/issues"},"homepage":"https://github.com/visionmedia/debug","_id":"debug@0.7.4","_from":"debug@~0.7.2","scripts":{}},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/extend/index.js","id":"extend/index.js","options":{},"isModule":true,"mtime":1379183493000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/extend/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/extend/package.json","data":{"name":"extend","author":{"name":"Stefan Thomas","email":"justmoon@members.fsf.org","url":"http://www.justmoon.net"},"version":"1.2.1","description":"Port of jQuery.extend for Node.js","main":"index","scripts":{"test":"node test/index.js"},"contributors":[{"name":"Jordan Harband","url":"https://github.com/ljharb"}],"keywords":["extend","clone","merge"],"repository":{"type":"git","url":"https://github.com/justmoon/node-extend.git"},"dependencies":{},"devDependencies":{"tape":"~1.1.0"},"readme":"[![Build Status][1]][2] [![dependency status][9]][10] [![dev dependency status][11]][12]\n\n# extend() for Node.js <sup>[![Version Badge][8]][3]</sup>\n\n`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true.\n\n## Installation\n\nThis package is available on [npm][3] as: `extend`\n\n``` sh\nnpm install extend\n```\n\n## Usage\n\n**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)** \n\n*Extend one object with one or more others, returning the modified object.*\n\nKeep in mind that the target object will be modified, and will be returned from extend().\n\nIf a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s).\nUndefined properties are not copied. However, properties inherited from the object's prototype will be copied over.\n\n### Arguments\n\n* `deep` *Boolean* (optional)  \nIf set, the merge becomes recursive (i.e. deep copy).\n* `target`\t*Object*  \nThe object to extend.\n* `object1`\t*Object*  \nThe object that will be merged into the first.\n* `objectN` *Object* (Optional)  \nMore objects to merge into the first.\n\n## License\n\n`node-extend` is licensed under the [MIT License][4].\n\n## Acknowledgements\n\nAll credit to the jQuery authors for perfecting this amazing utility.\n\nPorted to Node.js by [Stefan Thomas][5] with contributions by [Jonathan Buchanan][6] and [Jordan Harband][7].\n\n[1]: https://travis-ci.org/justmoon/node-extend.png\n[2]: https://travis-ci.org/justmoon/node-extend\n[3]: https://npmjs.org/package/extend\n[4]: http://opensource.org/licenses/MIT\n[5]: https://github.com/justmoon\n[6]: https://github.com/insin\n[7]: https://github.com/ljharb\n[8]: http://vb.teelaun.ch/justmoon/node-extend.svg\n[9]: https://david-dm.org/justmoon/node-extend.png\n[10]: https://david-dm.org/justmoon/node-extend\n[11]: https://david-dm.org/justmoon/node-extend/dev-status.png\n[12]: https://david-dm.org/justmoon/node-extend#info=devDependencies\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/justmoon/node-extend/issues"},"homepage":"https://github.com/justmoon/node-extend","_id":"extend@1.2.1","_shasum":"a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c","_from":"extend@~1.2.1","_resolved":"https://registry.npmjs.org/extend/-/extend-1.2.1.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/lib/form_data.js","id":"form-data/lib/form_data.js","options":{},"isModule":true,"requiredModules":["combined-stream/lib/combined_stream.js","util/util.js","path","http","https","url","fs","mime/mime.js","async/lib/async.js"],"mtime":1380767400000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/async/component.json","id":"async/component.json","options":{},"isModule":true,"mtime":1369727354000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/async/lib/async.js","id":"async/lib/async.js","options":{},"isModule":true,"mtime":1390494106000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/async/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/async/package.json","data":{"name":"async","description":"Higher-order functions and common patterns for asynchronous code","main":"./lib/async","author":{"name":"Caolan McMahon"},"version":"0.2.10","repository":{"type":"git","url":"https://github.com/caolan/async.git"},"bugs":{"url":"https://github.com/caolan/async/issues"},"licenses":[{"type":"MIT","url":"https://github.com/caolan/async/raw/master/LICENSE"}],"devDependencies":{"nodeunit":">0.0.0","uglify-js":"1.2.x","nodelint":">0.0.0"},"jam":{"main":"lib/async.js","include":["lib/async.js","README.md","LICENSE"]},"scripts":{"test":"nodeunit test/test-async.js"},"readme":"# Async.js\n\nAsync is a utility module which provides straight-forward, powerful functions\nfor working with asynchronous JavaScript. Although originally designed for\nuse with [node.js](http://nodejs.org), it can also be used directly in the\nbrowser. Also supports [component](https://github.com/component/component).\n\nAsync provides around 20 functions that include the usual 'functional'\nsuspects (map, reduce, filter, each…) as well as some common patterns\nfor asynchronous control flow (parallel, series, waterfall…). All these\nfunctions assume you follow the node.js convention of providing a single\ncallback as the last argument of your async function.\n\n\n## Quick Examples\n\n```javascript\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n\nasync.parallel([\n    function(){ ... },\n    function(){ ... }\n], callback);\n\nasync.series([\n    function(){ ... },\n    function(){ ... }\n]);\n```\n\nThere are many more functions available so take a look at the docs below for a\nfull list. This module aims to be comprehensive, so if you feel anything is\nmissing please create a GitHub issue for it.\n\n## Common Pitfalls\n\n### Binding a context to an iterator\n\nThis section is really about bind, not about async. If you are wondering how to\nmake async execute your iterators in a given context, or are confused as to why\na method of another library isn't working as an iterator, study this example:\n\n```js\n// Here is a simple object with an (unnecessarily roundabout) squaring method\nvar AsyncSquaringLibrary = {\n  squareExponent: 2,\n  square: function(number, callback){ \n    var result = Math.pow(number, this.squareExponent);\n    setTimeout(function(){\n      callback(null, result);\n    }, 200);\n  }\n};\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square, function(err, result){\n  // result is [NaN, NaN, NaN]\n  // This fails because the `this.squareExponent` expression in the square\n  // function is not evaluated in the context of AsyncSquaringLibrary, and is\n  // therefore undefined.\n});\n\nasync.map([1, 2, 3], AsyncSquaringLibrary.square.bind(AsyncSquaringLibrary), function(err, result){\n  // result is [1, 4, 9]\n  // With the help of bind we can attach a context to the iterator before\n  // passing it to async. Now the square function will be executed in its \n  // 'home' AsyncSquaringLibrary context and the value of `this.squareExponent`\n  // will be as expected.\n});\n```\n\n## Download\n\nThe source is available for download from\n[GitHub](http://github.com/caolan/async).\nAlternatively, you can install using Node Package Manager (npm):\n\n    npm install async\n\n__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 29.6kb Uncompressed\n\n## In the Browser\n\nSo far it's been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:\n\n```html\n<script type=\"text/javascript\" src=\"async.js\"></script>\n<script type=\"text/javascript\">\n\n    async.map(data, asyncProcess, function(err, results){\n        alert(results);\n    });\n\n</script>\n```\n\n## Documentation\n\n### Collections\n\n* [each](#each)\n* [eachSeries](#eachSeries)\n* [eachLimit](#eachLimit)\n* [map](#map)\n* [mapSeries](#mapSeries)\n* [mapLimit](#mapLimit)\n* [filter](#filter)\n* [filterSeries](#filterSeries)\n* [reject](#reject)\n* [rejectSeries](#rejectSeries)\n* [reduce](#reduce)\n* [reduceRight](#reduceRight)\n* [detect](#detect)\n* [detectSeries](#detectSeries)\n* [sortBy](#sortBy)\n* [some](#some)\n* [every](#every)\n* [concat](#concat)\n* [concatSeries](#concatSeries)\n\n### Control Flow\n\n* [series](#series)\n* [parallel](#parallel)\n* [parallelLimit](#parallellimittasks-limit-callback)\n* [whilst](#whilst)\n* [doWhilst](#doWhilst)\n* [until](#until)\n* [doUntil](#doUntil)\n* [forever](#forever)\n* [waterfall](#waterfall)\n* [compose](#compose)\n* [applyEach](#applyEach)\n* [applyEachSeries](#applyEachSeries)\n* [queue](#queue)\n* [cargo](#cargo)\n* [auto](#auto)\n* [iterator](#iterator)\n* [apply](#apply)\n* [nextTick](#nextTick)\n* [times](#times)\n* [timesSeries](#timesSeries)\n\n### Utils\n\n* [memoize](#memoize)\n* [unmemoize](#unmemoize)\n* [log](#log)\n* [dir](#dir)\n* [noConflict](#noConflict)\n\n\n## Collections\n\n<a name=\"forEach\" />\n<a name=\"each\" />\n### each(arr, iterator, callback)\n\nApplies an iterator function to each item in an array, in parallel.\nThe iterator is called with an item from the list and a callback for when it\nhas finished. If the iterator passes an error to this callback, the main\ncallback for the each function is immediately called with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// assuming openFiles is an array of file names and saveFile is a function\n// to save the modified contents of that file:\n\nasync.each(openFiles, saveFile, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"forEachSeries\" />\n<a name=\"eachSeries\" />\n### eachSeries(arr, iterator, callback)\n\nThe same as each only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. This means the iterator functions will complete in order.\n\n\n---------------------------------------\n\n<a name=\"forEachLimit\" />\n<a name=\"eachLimit\" />\n### eachLimit(arr, limit, iterator, callback)\n\nThe same as each only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err) which must be called once it has \n  completed. If no error has occured, the callback should be run without \n  arguments or with an explicit null argument.\n* callback(err) - A callback which is called after all the iterator functions\n  have finished, or an error has occurred.\n\n__Example__\n\n```js\n// Assume documents is an array of JSON objects and requestApi is a\n// function that interacts with a rate-limited REST api.\n\nasync.eachLimit(documents, 20, requestApi, function(err){\n    // if any of the saves produced an error, err would equal that error\n});\n```\n\n---------------------------------------\n\n<a name=\"map\" />\n### map(arr, iterator, callback)\n\nProduces a new array of values by mapping each value in the given array through\nthe iterator function. The iterator is called with an item from the array and a\ncallback for when it has finished processing. The callback takes 2 arguments, \nan error and the transformed item from the array. If the iterator passes an\nerror to this callback, the main callback for the map function is immediately\ncalled with the error.\n\nNote, that since this function applies the iterator to each item in parallel\nthere is no guarantee that the iterator functions will complete in order, however\nthe results array will be in the same order as the original array.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.map(['file1','file2','file3'], fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"mapSeries\" />\n### mapSeries(arr, iterator, callback)\n\nThe same as map only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n---------------------------------------\n\n<a name=\"mapLimit\" />\n### mapLimit(arr, limit, iterator, callback)\n\nThe same as map only no more than \"limit\" iterators will be simultaneously \nrunning at any time.\n\nNote that the items are not processed in batches, so there is no guarantee that\n the first \"limit\" iterator functions will complete before any others are \nstarted.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* limit - The maximum number of iterators to run at any time.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, transformed) which must be called once \n  it has completed with an error (which can be null) and a transformed item.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array of the\n  transformed items from the original array.\n\n__Example__\n\n```js\nasync.mapLimit(['file1','file2','file3'], 1, fs.stat, function(err, results){\n    // results is now an array of stats for each file\n});\n```\n\n---------------------------------------\n\n<a name=\"filter\" />\n### filter(arr, iterator, callback)\n\n__Alias:__ select\n\nReturns a new array of all the values which pass an async truth test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. This operation is\nperformed in parallel, but the results array will be in the same order as the\noriginal.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(results) - A callback which is called after all the iterator\n  functions have finished.\n\n__Example__\n\n```js\nasync.filter(['file1','file2','file3'], fs.exists, function(results){\n    // results now equals an array of the existing files\n});\n```\n\n---------------------------------------\n\n<a name=\"filterSeries\" />\n### filterSeries(arr, iterator, callback)\n\n__alias:__ selectSeries\n\nThe same as filter only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n---------------------------------------\n\n<a name=\"reject\" />\n### reject(arr, iterator, callback)\n\nThe opposite of filter. Removes values that pass an async truth test.\n\n---------------------------------------\n\n<a name=\"rejectSeries\" />\n### rejectSeries(arr, iterator, callback)\n\nThe same as reject, only the iterator is applied to each item in the array\nin series.\n\n\n---------------------------------------\n\n<a name=\"reduce\" />\n### reduce(arr, memo, iterator, callback)\n\n__aliases:__ inject, foldl\n\nReduces a list of values into a single value using an async iterator to return\neach successive step. Memo is the initial state of the reduction. This\nfunction only operates in series. For performance reasons, it may make sense to\nsplit a call to this function into a parallel map, then use the normal\nArray.prototype.reduce on the results. This function is for situations where\neach step in the reduction needs to be async, if you can get the data before\nreducing it then it's probably a good idea to do so.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* memo - The initial state of the reduction.\n* iterator(memo, item, callback) - A function applied to each item in the\n  array to produce the next step in the reduction. The iterator is passed a\n  callback(err, reduction) which accepts an optional error as its first \n  argument, and the state of the reduction as the second. If an error is \n  passed to the callback, the reduction is stopped and the main callback is \n  immediately called with the error.\n* callback(err, result) - A callback which is called after all the iterator\n  functions have finished. Result is the reduced value.\n\n__Example__\n\n```js\nasync.reduce([1,2,3], 0, function(memo, item, callback){\n    // pointless async:\n    process.nextTick(function(){\n        callback(null, memo + item)\n    });\n}, function(err, result){\n    // result is now equal to the last value of memo, which is 6\n});\n```\n\n---------------------------------------\n\n<a name=\"reduceRight\" />\n### reduceRight(arr, memo, iterator, callback)\n\n__Alias:__ foldr\n\nSame as reduce, only operates on the items in the array in reverse order.\n\n\n---------------------------------------\n\n<a name=\"detect\" />\n### detect(arr, iterator, callback)\n\nReturns the first value in a list that passes an async truth test. The\niterator is applied in parallel, meaning the first iterator to return true will\nfire the detect callback with that result. That means the result might not be\nthe first item in the original array (in terms of order) that passes the test.\n\nIf order within the original array is important then look at detectSeries.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  the first item in the array that passes the truth test (iterator) or the\n  value undefined if none passed.\n\n__Example__\n\n```js\nasync.detect(['file1','file2','file3'], fs.exists, function(result){\n    // result now equals the first file in the list that exists\n});\n```\n\n---------------------------------------\n\n<a name=\"detectSeries\" />\n### detectSeries(arr, iterator, callback)\n\nThe same as detect, only the iterator is applied to each item in the array\nin series. This means the result is always the first in the original array (in\nterms of array order) that passes the truth test.\n\n\n---------------------------------------\n\n<a name=\"sortBy\" />\n### sortBy(arr, iterator, callback)\n\nSorts a list by the results of running each value through an async iterator.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, sortValue) which must be called once it\n  has completed with an error (which can be null) and a value to use as the sort\n  criteria.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is the items from\n  the original array sorted by the values returned by the iterator calls.\n\n__Example__\n\n```js\nasync.sortBy(['file1','file2','file3'], function(file, callback){\n    fs.stat(file, function(err, stats){\n        callback(err, stats.mtime);\n    });\n}, function(err, results){\n    // results is now the original array of files sorted by\n    // modified date\n});\n```\n\n---------------------------------------\n\n<a name=\"some\" />\n### some(arr, iterator, callback)\n\n__Alias:__ any\n\nReturns true if at least one element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists. Once any iterator\ncall returns true, the main callback is immediately called.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called as soon as any iterator returns\n  true, or after all the iterator functions have finished. Result will be\n  either true or false depending on the values of the async tests.\n\n__Example__\n\n```js\nasync.some(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then at least one of the files exists\n});\n```\n\n---------------------------------------\n\n<a name=\"every\" />\n### every(arr, iterator, callback)\n\n__Alias:__ all\n\nReturns true if every element in the array satisfies an async test.\n_The callback for each iterator call only accepts a single argument of true or\nfalse, it does not accept an error argument first!_ This is in-line with the\nway node libraries work with truth tests like fs.exists.\n\n__Arguments__\n\n* arr - An array to iterate over.\n* iterator(item, callback) - A truth test to apply to each item in the array.\n  The iterator is passed a callback(truthValue) which must be called with a \n  boolean argument once it has completed.\n* callback(result) - A callback which is called after all the iterator\n  functions have finished. Result will be either true or false depending on\n  the values of the async tests.\n\n__Example__\n\n```js\nasync.every(['file1','file2','file3'], fs.exists, function(result){\n    // if result is true then every file exists\n});\n```\n\n---------------------------------------\n\n<a name=\"concat\" />\n### concat(arr, iterator, callback)\n\nApplies an iterator to each item in a list, concatenating the results. Returns the\nconcatenated list. The iterators are called in parallel, and the results are\nconcatenated as they return. There is no guarantee that the results array will\nbe returned in the original order of the arguments passed to the iterator function.\n\n__Arguments__\n\n* arr - An array to iterate over\n* iterator(item, callback) - A function to apply to each item in the array.\n  The iterator is passed a callback(err, results) which must be called once it \n  has completed with an error (which can be null) and an array of results.\n* callback(err, results) - A callback which is called after all the iterator\n  functions have finished, or an error has occurred. Results is an array containing\n  the concatenated results of the iterator function.\n\n__Example__\n\n```js\nasync.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){\n    // files is now a list of filenames that exist in the 3 directories\n});\n```\n\n---------------------------------------\n\n<a name=\"concatSeries\" />\n### concatSeries(arr, iterator, callback)\n\nSame as async.concat, but executes in series instead of parallel.\n\n\n## Control Flow\n\n<a name=\"series\" />\n### series(tasks, [callback])\n\nRun an array of functions in series, each one running once the previous\nfunction has completed. If any functions in the series pass an error to its\ncallback, no more functions are run and the callback for the series is\nimmediately called with the value of the error. Once the tasks have completed,\nthe results are passed to the final callback as an array.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.series.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed\n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.series([\n    function(callback){\n        // do some stuff ...\n        callback(null, 'one');\n    },\n    function(callback){\n        // do some more stuff ...\n        callback(null, 'two');\n    }\n],\n// optional callback\nfunction(err, results){\n    // results is now equal to ['one', 'two']\n});\n\n\n// an example using an object instead of an array\nasync.series({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equal to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallel(tasks, [callback])\n\nRun an array of functions in parallel, without waiting until the previous\nfunction has completed. If any of the functions pass an error to its\ncallback, the main callback is immediately called with the value of the error.\nOnce the tasks have completed, the results are passed to the final callback as an\narray.\n\nIt is also possible to use an object instead of an array. Each property will be\nrun as a function and the results will be passed to the final callback as an object\ninstead of an array. This can be a more readable way of handling results from\nasync.parallel.\n\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n__Example__\n\n```js\nasync.parallel([\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'one');\n        }, 200);\n    },\n    function(callback){\n        setTimeout(function(){\n            callback(null, 'two');\n        }, 100);\n    }\n],\n// optional callback\nfunction(err, results){\n    // the results array will equal ['one','two'] even though\n    // the second function had a shorter timeout.\n});\n\n\n// an example using an object instead of an array\nasync.parallel({\n    one: function(callback){\n        setTimeout(function(){\n            callback(null, 1);\n        }, 200);\n    },\n    two: function(callback){\n        setTimeout(function(){\n            callback(null, 2);\n        }, 100);\n    }\n},\nfunction(err, results) {\n    // results is now equals to: {one: 1, two: 2}\n});\n```\n\n---------------------------------------\n\n<a name=\"parallel\" />\n### parallelLimit(tasks, limit, [callback])\n\nThe same as parallel only the tasks are executed in parallel with a maximum of \"limit\" \ntasks executing at any time.\n\nNote that the tasks are not executed in batches, so there is no guarantee that \nthe first \"limit\" tasks will complete before any others are started.\n\n__Arguments__\n\n* tasks - An array or object containing functions to run, each function is passed \n  a callback(err, result) it must call on completion with an error (which can\n  be null) and an optional result value.\n* limit - The maximum number of tasks to run at any time.\n* callback(err, results) - An optional callback to run once all the functions\n  have completed. This function gets a results array (or object) containing all \n  the result arguments passed to the task callbacks.\n\n---------------------------------------\n\n<a name=\"whilst\" />\n### whilst(test, fn, callback)\n\nRepeatedly call fn, while test returns true. Calls the callback when stopped,\nor an error occurs.\n\n__Arguments__\n\n* test() - synchronous truth test to perform before each execution of fn.\n* fn(callback) - A function to call each time the test passes. The function is\n  passed a callback(err) which must be called once it has completed with an \n  optional error argument.\n* callback(err) - A callback which is called after the test fails and repeated\n  execution of fn has stopped.\n\n__Example__\n\n```js\nvar count = 0;\n\nasync.whilst(\n    function () { return count < 5; },\n    function (callback) {\n        count++;\n        setTimeout(callback, 1000);\n    },\n    function (err) {\n        // 5 seconds have passed\n    }\n);\n```\n\n---------------------------------------\n\n<a name=\"doWhilst\" />\n### doWhilst(fn, test, callback)\n\nThe post check version of whilst. To reflect the difference in the order of operations `test` and `fn` arguments are switched. `doWhilst` is to `whilst` as `do while` is to `while` in plain JavaScript.\n\n---------------------------------------\n\n<a name=\"until\" />\n### until(test, fn, callback)\n\nRepeatedly call fn, until test returns true. Calls the callback when stopped,\nor an error occurs.\n\nThe inverse of async.whilst.\n\n---------------------------------------\n\n<a name=\"doUntil\" />\n### doUntil(fn, test, callback)\n\nLike doWhilst except the test is inverted. Note the argument ordering differs from `until`.\n\n---------------------------------------\n\n<a name=\"forever\" />\n### forever(fn, callback)\n\nCalls the asynchronous function 'fn' repeatedly, in series, indefinitely.\nIf an error is passed to fn's callback then 'callback' is called with the\nerror, otherwise it will never be called.\n\n---------------------------------------\n\n<a name=\"waterfall\" />\n### waterfall(tasks, [callback])\n\nRuns an array of functions in series, each passing their results to the next in\nthe array. However, if any of the functions pass an error to the callback, the\nnext function is not executed and the main callback is immediately called with\nthe error.\n\n__Arguments__\n\n* tasks - An array of functions to run, each function is passed a \n  callback(err, result1, result2, ...) it must call on completion. The first\n  argument is an error (which can be null) and any further arguments will be \n  passed as arguments in order to the next task.\n* callback(err, [results]) - An optional callback to run once all the functions\n  have completed. This will be passed the results of the last task's callback.\n\n\n\n__Example__\n\n```js\nasync.waterfall([\n    function(callback){\n        callback(null, 'one', 'two');\n    },\n    function(arg1, arg2, callback){\n        callback(null, 'three');\n    },\n    function(arg1, callback){\n        // arg1 now equals 'three'\n        callback(null, 'done');\n    }\n], function (err, result) {\n   // result now equals 'done'    \n});\n```\n\n---------------------------------------\n<a name=\"compose\" />\n### compose(fn1, fn2...)\n\nCreates a function which is a composition of the passed asynchronous\nfunctions. Each function consumes the return value of the function that\nfollows. Composing functions f(), g() and h() would produce the result of\nf(g(h())), only this version uses callbacks to obtain the return values.\n\nEach function is executed with the `this` binding of the composed function.\n\n__Arguments__\n\n* functions... - the asynchronous functions to compose\n\n\n__Example__\n\n```js\nfunction add1(n, callback) {\n    setTimeout(function () {\n        callback(null, n + 1);\n    }, 10);\n}\n\nfunction mul3(n, callback) {\n    setTimeout(function () {\n        callback(null, n * 3);\n    }, 10);\n}\n\nvar add1mul3 = async.compose(mul3, add1);\n\nadd1mul3(4, function (err, result) {\n   // result now equals 15\n});\n```\n\n---------------------------------------\n<a name=\"applyEach\" />\n### applyEach(fns, args..., callback)\n\nApplies the provided arguments to each function in the array, calling the\ncallback after all functions have completed. If you only provide the first\nargument then it will return a function which lets you pass in the\narguments as if it were a single function call.\n\n__Arguments__\n\n* fns - the asynchronous functions to all call with the same arguments\n* args... - any number of separate arguments to pass to the function\n* callback - the final argument should be the callback, called when all\n  functions have completed processing\n\n\n__Example__\n\n```js\nasync.applyEach([enableSearch, updateSchema], 'bucket', callback);\n\n// partial application example:\nasync.each(\n    buckets,\n    async.applyEach([enableSearch, updateSchema]),\n    callback\n);\n```\n\n---------------------------------------\n\n<a name=\"applyEachSeries\" />\n### applyEachSeries(arr, iterator, callback)\n\nThe same as applyEach only the functions are applied in series.\n\n---------------------------------------\n\n<a name=\"queue\" />\n### queue(worker, concurrency)\n\nCreates a queue object with the specified concurrency. Tasks added to the\nqueue will be processed in parallel (up to the concurrency limit). If all\nworkers are in progress, the task is queued until one is available. Once\na worker has completed a task, the task's callback is called.\n\n__Arguments__\n\n* worker(task, callback) - An asynchronous function for processing a queued\n  task, which must call its callback(err) argument when finished, with an \n  optional error as an argument.\n* concurrency - An integer for determining how many worker functions should be\n  run in parallel.\n\n__Queue objects__\n\nThe queue object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* concurrency - an integer for determining how many worker functions should be\n  run in parallel. This property can be changed after a queue is created to\n  alter the concurrency on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* unshift(task, [callback]) - add a new task to the front of the queue.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a queue object with concurrency 2\n\nvar q = async.queue(function (task, callback) {\n    console.log('hello ' + task.name);\n    callback();\n}, 2);\n\n\n// assign a callback\nq.drain = function() {\n    console.log('all items have been processed');\n}\n\n// add some items to the queue\n\nq.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\nq.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the queue (batch-wise)\n\nq.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) {\n    console.log('finished processing bar');\n});\n\n// add some items to the front of the queue\n\nq.unshift({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\n```\n\n---------------------------------------\n\n<a name=\"cargo\" />\n### cargo(worker, [payload])\n\nCreates a cargo object with the specified payload. Tasks added to the\ncargo will be processed altogether (up to the payload limit). If the\nworker is in progress, the task is queued until it is available. Once\nthe worker has completed some tasks, each callback of those tasks is called.\n\n__Arguments__\n\n* worker(tasks, callback) - An asynchronous function for processing an array of\n  queued tasks, which must call its callback(err) argument when finished, with \n  an optional error as an argument.\n* payload - An optional integer for determining how many tasks should be\n  processed per round; if omitted, the default is unlimited.\n\n__Cargo objects__\n\nThe cargo object returned by this function has the following properties and\nmethods:\n\n* length() - a function returning the number of items waiting to be processed.\n* payload - an integer for determining how many tasks should be\n  process per round. This property can be changed after a cargo is created to\n  alter the payload on-the-fly.\n* push(task, [callback]) - add a new task to the queue, the callback is called\n  once the worker has finished processing the task.\n  instead of a single task, an array of tasks can be submitted. the respective callback is used for every task in the list.\n* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued\n* empty - a callback that is called when the last item from the queue is given to a worker\n* drain - a callback that is called when the last item from the queue has returned from the worker\n\n__Example__\n\n```js\n// create a cargo object with payload 2\n\nvar cargo = async.cargo(function (tasks, callback) {\n    for(var i=0; i<tasks.length; i++){\n      console.log('hello ' + tasks[i].name);\n    }\n    callback();\n}, 2);\n\n\n// add some items\n\ncargo.push({name: 'foo'}, function (err) {\n    console.log('finished processing foo');\n});\ncargo.push({name: 'bar'}, function (err) {\n    console.log('finished processing bar');\n});\ncargo.push({name: 'baz'}, function (err) {\n    console.log('finished processing baz');\n});\n```\n\n---------------------------------------\n\n<a name=\"auto\" />\n### auto(tasks, [callback])\n\nDetermines the best order for running functions based on their requirements.\nEach function can optionally depend on other functions being completed first,\nand each function is run as soon as its requirements are satisfied. If any of\nthe functions pass an error to their callback, that function will not complete\n(so any other functions depending on it will not run) and the main callback\nwill be called immediately with the error. Functions also receive an object\ncontaining the results of functions which have completed so far.\n\nNote, all functions are called with a results object as a second argument, \nso it is unsafe to pass functions in the tasks object which cannot handle the\nextra argument. For example, this snippet of code:\n\n```js\nasync.auto({\n  readData: async.apply(fs.readFile, 'data.txt', 'utf-8')\n}, callback);\n```\n\nwill have the effect of calling readFile with the results object as the last\nargument, which will fail:\n\n```js\nfs.readFile('data.txt', 'utf-8', cb, {});\n```\n\nInstead, wrap the call to readFile in a function which does not forward the \nresults object:\n\n```js\nasync.auto({\n  readData: function(cb, results){\n    fs.readFile('data.txt', 'utf-8', cb);\n  }\n}, callback);\n```\n\n__Arguments__\n\n* tasks - An object literal containing named functions or an array of\n  requirements, with the function itself the last item in the array. The key\n  used for each function or array is used when specifying requirements. The \n  function receives two arguments: (1) a callback(err, result) which must be \n  called when finished, passing an error (which can be null) and the result of \n  the function's execution, and (2) a results object, containing the results of\n  the previously executed functions.\n* callback(err, results) - An optional callback which is called when all the\n  tasks have been completed. The callback will receive an error as an argument\n  if any tasks pass an error to their callback. Results will always be passed\n\tbut if an error occurred, no other tasks will be performed, and the results\n\tobject will only contain partial results.\n  \n\n__Example__\n\n```js\nasync.auto({\n    get_data: function(callback){\n        // async code to get some data\n    },\n    make_folder: function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    },\n    write_file: ['get_data', 'make_folder', function(callback){\n        // once there is some data and the directory exists,\n        // write the data to a file in the directory\n        callback(null, filename);\n    }],\n    email_link: ['write_file', function(callback, results){\n        // once the file is written let's email a link to it...\n        // results.write_file contains the filename returned by write_file.\n    }]\n});\n```\n\nThis is a fairly trivial example, but to do this using the basic parallel and\nseries functions would look like this:\n\n```js\nasync.parallel([\n    function(callback){\n        // async code to get some data\n    },\n    function(callback){\n        // async code to create a directory to store a file in\n        // this is run at the same time as getting the data\n    }\n],\nfunction(err, results){\n    async.series([\n        function(callback){\n            // once there is some data and the directory exists,\n            // write the data to a file in the directory\n        },\n        function(callback){\n            // once the file is written let's email a link to it...\n        }\n    ]);\n});\n```\n\nFor a complicated series of async tasks using the auto function makes adding\nnew tasks much easier and makes the code more readable.\n\n\n---------------------------------------\n\n<a name=\"iterator\" />\n### iterator(tasks)\n\nCreates an iterator function which calls the next function in the array,\nreturning a continuation to call the next one after that. It's also possible to\n'peek' the next iterator by doing iterator.next().\n\nThis function is used internally by the async module but can be useful when\nyou want to manually control the flow of functions in series.\n\n__Arguments__\n\n* tasks - An array of functions to run.\n\n__Example__\n\n```js\nvar iterator = async.iterator([\n    function(){ sys.p('one'); },\n    function(){ sys.p('two'); },\n    function(){ sys.p('three'); }\n]);\n\nnode> var iterator2 = iterator();\n'one'\nnode> var iterator3 = iterator2();\n'two'\nnode> iterator3();\n'three'\nnode> var nextfn = iterator2.next();\nnode> nextfn();\n'three'\n```\n\n---------------------------------------\n\n<a name=\"apply\" />\n### apply(function, arguments..)\n\nCreates a continuation function with some arguments already applied, a useful\nshorthand when combined with other control flow functions. Any arguments\npassed to the returned function are added to the arguments originally passed\nto apply.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to automatically apply when the\n  continuation is called.\n\n__Example__\n\n```js\n// using apply\n\nasync.parallel([\n    async.apply(fs.writeFile, 'testfile1', 'test1'),\n    async.apply(fs.writeFile, 'testfile2', 'test2'),\n]);\n\n\n// the same process without using apply\n\nasync.parallel([\n    function(callback){\n        fs.writeFile('testfile1', 'test1', callback);\n    },\n    function(callback){\n        fs.writeFile('testfile2', 'test2', callback);\n    }\n]);\n```\n\nIt's possible to pass any number of additional arguments when calling the\ncontinuation:\n\n```js\nnode> var fn = async.apply(sys.puts, 'one');\nnode> fn('two', 'three');\none\ntwo\nthree\n```\n\n---------------------------------------\n\n<a name=\"nextTick\" />\n### nextTick(callback)\n\nCalls the callback on a later loop around the event loop. In node.js this just\ncalls process.nextTick, in the browser it falls back to setImmediate(callback)\nif available, otherwise setTimeout(callback, 0), which means other higher priority\nevents may precede the execution of the callback.\n\nThis is used internally for browser-compatibility purposes.\n\n__Arguments__\n\n* callback - The function to call on a later loop around the event loop.\n\n__Example__\n\n```js\nvar call_order = [];\nasync.nextTick(function(){\n    call_order.push('two');\n    // call_order now equals ['one','two']\n});\ncall_order.push('one')\n```\n\n<a name=\"times\" />\n### times(n, callback)\n\nCalls the callback n times and accumulates results in the same manner\nyou would use with async.map.\n\n__Arguments__\n\n* n - The number of times to run the function.\n* callback - The function to call n times.\n\n__Example__\n\n```js\n// Pretend this is some complicated async factory\nvar createUser = function(id, callback) {\n  callback(null, {\n    id: 'user' + id\n  })\n}\n// generate 5 users\nasync.times(5, function(n, next){\n    createUser(n, function(err, user) {\n      next(err, user)\n    })\n}, function(err, users) {\n  // we should now have 5 users\n});\n```\n\n<a name=\"timesSeries\" />\n### timesSeries(n, callback)\n\nThe same as times only the iterator is applied to each item in the array in\nseries. The next iterator is only called once the current one has completed\nprocessing. The results array will be in the same order as the original.\n\n\n## Utils\n\n<a name=\"memoize\" />\n### memoize(fn, [hasher])\n\nCaches the results of an async function. When creating a hash to store function\nresults against, the callback is omitted from the hash and an optional hash\nfunction can be used.\n\nThe cache of results is exposed as the `memo` property of the function returned\nby `memoize`.\n\n__Arguments__\n\n* fn - the function you to proxy and cache results from.\n* hasher - an optional function for generating a custom hash for storing\n  results, it has all the arguments applied to it apart from the callback, and\n  must be synchronous.\n\n__Example__\n\n```js\nvar slow_fn = function (name, callback) {\n    // do something\n    callback(null, result);\n};\nvar fn = async.memoize(slow_fn);\n\n// fn can now be used as if it were slow_fn\nfn('some name', function () {\n    // callback\n});\n```\n\n<a name=\"unmemoize\" />\n### unmemoize(fn)\n\nUndoes a memoized function, reverting it to the original, unmemoized\nform. Comes handy in tests.\n\n__Arguments__\n\n* fn - the memoized function\n\n<a name=\"log\" />\n### log(function, arguments)\n\nLogs the result of an async function to the console. Only works in node.js or\nin browsers that support console.log and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.log is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, 'hello ' + name);\n    }, 1000);\n};\n```\n```js\nnode> async.log(hello, 'world');\n'hello world'\n```\n\n---------------------------------------\n\n<a name=\"dir\" />\n### dir(function, arguments)\n\nLogs the result of an async function to the console using console.dir to\ndisplay the properties of the resulting object. Only works in node.js or\nin browsers that support console.dir and console.error (such as FF and Chrome).\nIf multiple arguments are returned from the async function, console.dir is\ncalled on each argument in order.\n\n__Arguments__\n\n* function - The function you want to eventually apply all arguments to.\n* arguments... - Any number of arguments to apply to the function.\n\n__Example__\n\n```js\nvar hello = function(name, callback){\n    setTimeout(function(){\n        callback(null, {hello: name});\n    }, 1000);\n};\n```\n```js\nnode> async.dir(hello, 'world');\n{hello: 'world'}\n```\n\n---------------------------------------\n\n<a name=\"noConflict\" />\n### noConflict()\n\nChanges the value of async back to its original value, returning a reference to the\nasync object.\n","readmeFilename":"README.md","homepage":"https://github.com/caolan/async","_id":"async@0.2.10","_from":"async@~0.2.9"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js","id":"combined-stream/lib/combined_stream.js","options":{},"isModule":true,"requiredModules":["util/util.js","stream","delayed-stream/lib/delayed_stream.js"],"mtime":1414750567000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js","id":"delayed-stream/lib/delayed_stream.js","options":{},"isModule":true,"requiredModules":["stream","util/util.js"],"mtime":1306224584000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"delayed-stream","description":"Buffers events from a stream until you are ready to handle them.","version":"0.0.5","homepage":"https://github.com/felixge/node-delayed-stream","repository":{"type":"git","url":"git://github.com/felixge/node-delayed-stream.git"},"main":"./lib/delayed_stream","engines":{"node":">=0.4.0"},"dependencies":{},"devDependencies":{"fake":"0.2.0","far":"0.0.1"},"readme":"# delayed-stream\n\nBuffers events from a stream until you are ready to handle them.\n\n## Installation\n\n``` bash\nnpm install delayed-stream\n```\n\n## Usage\n\nThe following example shows how to write a http echo server that delays its\nresponse by 1000 ms.\n\n``` javascript\nvar DelayedStream = require('delayed-stream');\nvar http = require('http');\n\nhttp.createServer(function(req, res) {\n  var delayed = DelayedStream.create(req);\n\n  setTimeout(function() {\n    res.writeHead(200);\n    delayed.pipe(res);\n  }, 1000);\n});\n```\n\nIf you are not using `Stream#pipe`, you can also manually release the buffered\nevents by calling `delayedStream.resume()`:\n\n``` javascript\nvar delayed = DelayedStream.create(req);\n\nsetTimeout(function() {\n  // Emit all buffered events and resume underlaying source\n  delayed.resume();\n}, 1000);\n```\n\n## Implementation\n\nIn order to use this meta stream properly, here are a few things you should\nknow about the implementation.\n\n### Event Buffering / Proxying\n\nAll events of the `source` stream are hijacked by overwriting the `source.emit`\nmethod. Until node implements a catch-all event listener, this is the only way.\n\nHowever, delayed-stream still continues to emit all events it captures on the\n`source`, regardless of whether you have released the delayed stream yet or\nnot.\n\nUpon creation, delayed-stream captures all `source` events and stores them in\nan internal event buffer. Once `delayedStream.release()` is called, all\nbuffered events are emitted on the `delayedStream`, and the event buffer is\ncleared. After that, delayed-stream merely acts as a proxy for the underlaying\nsource.\n\n### Error handling\n\nError events on `source` are buffered / proxied just like any other events.\nHowever, `delayedStream.create` attaches a no-op `'error'` listener to the\n`source`. This way you only have to handle errors on the `delayedStream`\nobject, rather than in two places.\n\n### Buffer limits\n\ndelayed-stream provides a `maxDataSize` property that can be used to limit\nthe amount of data being buffered. In order to protect you from bad `source`\nstreams that don't react to `source.pause()`, this feature is enabled by\ndefault.\n\n## API\n\n### DelayedStream.create(source, [options])\n\nReturns a new `delayedStream`. Available options are:\n\n* `pauseStream`\n* `maxDataSize`\n\nThe description for those properties can be found below.\n\n### delayedStream.source\n\nThe `source` stream managed by this object. This is useful if you are\npassing your `delayedStream` around, and you still want to access properties\non the `source` object.\n\n### delayedStream.pauseStream = true\n\nWhether to pause the underlaying `source` when calling\n`DelayedStream.create()`. Modifying this property afterwards has no effect.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature. You can also modify this property during runtime.\n\n### delayedStream.maxDataSize = 1024 * 1024\n\nThe amount of data to buffer before emitting an `error`.\n\nIf the underlaying source is emitting `Buffer` objects, the `maxDataSize`\nrefers to bytes.\n\nIf the underlaying source is emitting JavaScript strings, the size refers to\ncharacters.\n\nIf you know what you are doing, you can set this property to `Infinity` to\ndisable this feature.\n\n### delayedStream.dataSize = 0\n\nThe amount of data buffered so far.\n\n### delayedStream.readable\n\nAn ECMA5 getter that returns the value of `source.readable`.\n\n### delayedStream.resume()\n\nIf the `delayedStream` has not been released so far, `delayedStream.release()`\nis called.\n\nIn either case, `source.resume()` is called.\n\n### delayedStream.pause()\n\nCalls `source.pause()`.\n\n### delayedStream.pipe(dest)\n\nCalls `delayedStream.resume()` and then proxies the arguments to `source.pipe`.\n\n### delayedStream.release()\n\nEmits and clears all events that have been buffered up so far. This does not\nresume the underlaying source, use `delayedStream.resume()` instead.\n\n## License\n\ndelayed-stream is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-delayed-stream/issues"},"_id":"delayed-stream@0.0.5","_shasum":"d4b1f43a93e8296dfe02694f4680bc37a313c73f","_from":"delayed-stream@0.0.5","_resolved":"https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js","id":"delayed-stream/test/common.js","options":{},"isModule":true,"requiredModules":["delayed-stream/lib/delayed_stream.js","assert","fake"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js","id":"delayed-stream/test/integration/test-delayed-http-upload.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","http"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js","id":"delayed-stream/test/integration/test-delayed-stream-auto-pause.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js","id":"delayed-stream/test/integration/test-delayed-stream-pause.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js","id":"delayed-stream/test/integration/test-delayed-stream.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js","id":"delayed-stream/test/integration/test-handle-source-errors.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js","id":"delayed-stream/test/integration/test-max-data-size.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js","id":"delayed-stream/test/integration/test-pipe-resumes.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js","id":"delayed-stream/test/integration/test-proxy-readable.js","options":{},"isModule":true,"requiredModules":["delayed-stream/test/common.js","stream"],"mtime":1306224584000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js","id":"delayed-stream/test/run.js","options":{},"isModule":true,"requiredModules":["far"],"mtime":1306224584000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/combined-stream/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"combined-stream","description":"A stream that emits multiple other streams one after another.","version":"0.0.7","homepage":"https://github.com/felixge/node-combined-stream","repository":{"type":"git","url":"git://github.com/felixge/node-combined-stream.git"},"main":"./lib/combined_stream","scripts":{"test":"node test/run.js"},"engines":{"node":">= 0.8"},"dependencies":{"delayed-stream":"0.0.5"},"devDependencies":{"far":"~0.0.7"},"readme":"# combined-stream [![Build Status](https://travis-ci.org/felixge/node-combined-stream.svg?branch=master)](https://travis-ci.org/felixge/node-combined-stream)\n\nA stream that emits multiple other streams one after another.\n\n## Installation\n\n``` bash\nnpm install combined-stream\n```\n\n## Usage\n\nHere is a simple example that shows how you can use combined-stream to combine\ntwo files into one:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(fs.createReadStream('file1.txt'));\ncombinedStream.append(fs.createReadStream('file2.txt'));\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\nWhile the example above works great, it will pause all source streams until\nthey are needed. If you don't want that to happen, you can set `pauseStreams`\nto `false`:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create({pauseStreams: false});\ncombinedStream.append(fs.createReadStream('file1.txt'));\ncombinedStream.append(fs.createReadStream('file2.txt'));\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\nHowever, what if you don't have all the source streams yet, or you don't want\nto allocate the resources (file descriptors, memory, etc.) for them right away?\nWell, in that case you can simply provide a callback that supplies the stream\nby calling a `next()` function:\n\n``` javascript\nvar CombinedStream = require('combined-stream');\nvar fs = require('fs');\n\nvar combinedStream = CombinedStream.create();\ncombinedStream.append(function(next) {\n  next(fs.createReadStream('file1.txt'));\n});\ncombinedStream.append(function(next) {\n  next(fs.createReadStream('file2.txt'));\n});\n\ncombinedStream.pipe(fs.createWriteStream('combined.txt'));\n```\n\n## API\n\n### CombinedStream.create([options])\n\nReturns a new combined stream object. Available options are:\n\n* `maxDataSize`\n* `pauseStreams`\n\nThe effect of those options is described below.\n\n### combinedStream.pauseStreams = `true`\n\nWhether to apply back pressure to the underlaying streams. If set to `false`,\nthe underlaying streams will never be paused. If set to `true`, the\nunderlaying streams will be paused right after being appended, as well as when\n`delayedStream.pipe()` wants to throttle.\n\n### combinedStream.maxDataSize = `2 * 1024 * 1024`\n\nThe maximum amount of bytes (or characters) to buffer for all source streams.\nIf this value is exceeded, `combinedStream` emits an `'error'` event.\n\n### combinedStream.dataSize = `0`\n\nThe amount of bytes (or characters) currently buffered by `combinedStream`.\n\n### combinedStream.append(stream)\n\nAppends the given `stream` to the combinedStream object. If `pauseStreams` is\nset to `true, this stream will also be paused right away.\n\n`streams` can also be a function that takes one parameter called `next`. `next`\nis a function that must be invoked in order to provide the `next` stream, see\nexample above.\n\nRegardless of how the `stream` is appended, combined-stream always attaches an\n`'error'` listener to it, so you don't have to do that manually.\n\nSpecial case: `stream` can also be a String or Buffer.\n\n### combinedStream.write(data)\n\nYou should not call this, `combinedStream` takes care of piping the appended\nstreams into itself for you.\n\n### combinedStream.resume()\n\nCauses `combinedStream` to start drain the streams it manages. The function is\nidempotent, and also emits a `'resume'` event each time which usually goes to\nthe stream that is currently being drained.\n\n### combinedStream.pause();\n\nIf `combinedStream.pauseStreams` is set to `false`, this does nothing.\nOtherwise a `'pause'` event is emitted, this goes to the stream that is\ncurrently being drained, so you can use it to apply back pressure.\n\n### combinedStream.end();\n\nSets `combinedStream.writable` to false, emits an `'end'` event, and removes\nall streams from the queue.\n\n### combinedStream.destroy();\n\nSame as `combinedStream.end()`, except it emits a `'close'` event instead of\n`'end'`.\n\n## License\n\ncombined-stream is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-combined-stream/issues"},"_id":"combined-stream@0.0.7","_shasum":"0137e657baa5a7541c57ac37ac5fc07d73b4dc1f","_from":"combined-stream@~0.0.4","_resolved":"https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/mime/mime.js","id":"mime/mime.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1376588058000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/mime/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/mime/package.json","data":{"author":{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"},"contributors":[{"name":"Benjamin Thomas","email":"benjamin@benjaminthomas.org","url":"http://github.com/bentomas"}],"dependencies":{},"description":"A comprehensive library for mime-type mapping","devDependencies":{},"keywords":["util","mime"],"main":"mime.js","name":"mime","repository":{"url":"https://github.com/broofa/node-mime","type":"git"},"version":"1.2.11","readme":"# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n    npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.\n\n    var mime = require('mime');\n\n    mime.lookup('/path/to/file.txt');         // => 'text/plain'\n    mime.lookup('file.txt');                  // => 'text/plain'\n    mime.lookup('.TXT');                      // => 'text/plain'\n    mime.lookup('htm');                       // => 'text/html'\n\n### mime.default_type\nSets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.)\n\n### mime.extension(type)\nGet the default extension for `type`\n\n    mime.extension('text/html');                 // => 'html'\n    mime.extension('application/octet-stream');  // => 'bin'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n    mime.charsets.lookup('text/plain');        // => 'UTF-8'\n\n(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project.  If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n    mime.define({\n        'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],\n        'application/x-my-type': ['x-mt', 'x-mtt'],\n        // etc ...\n    });\n\n    mime.lookup('x-sft');                 // => 'text/x-some-format'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n    mime.extension('text/x-some-format'); // => 'x-sf'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache \".types\" format file\n\n    mime.load('./my_project.types');\n\nThe .types file format is simple -  See the `types` dir for examples.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/broofa/node-mime/issues"},"homepage":"https://github.com/broofa/node-mime","_id":"mime@1.2.11","_shasum":"58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10","_from":"mime@~1.2.11","_resolved":"https://registry.npmjs.org/mime/-/mime-1.2.11.tgz","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/node_modules/mime/test.js","id":"mime/test.js","options":{},"isModule":true,"requiredModules":["mime/mime.js","assert","path"],"mtime":1376588031000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/form-data/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"form-data","description":"A module to create readable \"multipart/form-data\" streams.  Can be used to submit forms and file uploads to other web applications.","version":"0.1.2","repository":{"type":"git","url":"git://github.com/felixge/node-form-data.git"},"main":"./lib/form_data","scripts":{"test":"node test/run.js"},"engines":{"node":">= 0.6"},"dependencies":{"combined-stream":"~0.0.4","mime":"~1.2.11","async":"~0.2.9"},"licenses":[{"type":"MIT","url":"https://raw.github.com/felixge/node-form-data/master/License"}],"devDependencies":{"fake":"~0.2.2","far":"~0.0.7","formidable":"~1.0.14","request":"~2.27.0"},"readme":"# Form-Data [![Build Status](https://travis-ci.org/felixge/node-form-data.png?branch=master)](https://travis-ci.org/felixge/node-form-data) [![Dependency Status](https://gemnasium.com/felixge/node-form-data.png)](https://gemnasium.com/felixge/node-form-data)\n\nA module to create readable ```\"multipart/form-data\"``` streams. Can be used to submit forms and file uploads to other web applications.\n\nThe API of this module is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd].\n\n[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface\n[streams2-thing]: http://nodejs.org/api/stream.html#stream_compatibility_with_older_node_versions\n\n## Install\n\n```\nnpm install form-data\n```\n\n## Usage\n\nIn this example we are constructing a form with 3 fields that contain a string,\na buffer and a file stream.\n\n``` javascript\nvar FormData = require('form-data');\nvar fs = require('fs');\n\nvar form = new FormData();\nform.append('my_field', 'my value');\nform.append('my_buffer', new Buffer(10));\nform.append('my_file', fs.createReadStream('/foo/bar.jpg'));\n```\n\nAlso you can use http-response stream:\n\n``` javascript\nvar FormData = require('form-data');\nvar http = require('http');\n\nvar form = new FormData();\n\nhttp.request('http://nodejs.org/images/logo.png', function(response) {\n  form.append('my_field', 'my value');\n  form.append('my_buffer', new Buffer(10));\n  form.append('my_logo', response);\n});\n```\n\nOr @mikeal's request stream:\n\n``` javascript\nvar FormData = require('form-data');\nvar request = require('request');\n\nvar form = new FormData();\n\nform.append('my_field', 'my value');\nform.append('my_buffer', new Buffer(10));\nform.append('my_logo', request('http://nodejs.org/images/logo.png'));\n```\n\nIn order to submit this form to a web application, call ```submit(url, [callback])``` method:\n\n``` javascript\nform.submit('http://example.org/', function(err, res) {\n  // res – response object (http.IncomingMessage)  //\n  res.resume(); // for node-0.10.x\n});\n\n```\n\nFor more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods.\n\n### Alternative submission methods\n\nYou can use node's http client interface:\n\n``` javascript\nvar http = require('http');\n\nvar request = http.request({\n  method: 'post',\n  host: 'example.org',\n  path: '/upload',\n  headers: form.getHeaders()\n});\n\nform.pipe(request);\n\nrequest.on('response', function(res) {\n  console.log(res.statusCode);\n});\n```\n\nOr if you would prefer the `'Content-Length'` header to be set for you:\n\n``` javascript\nform.submit('example.org/upload', function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\nTo use custom headers and pre-known length in parts:\n\n``` javascript\nvar CRLF = '\\r\\n';\nvar form = new FormData();\n\nvar options = {\n  header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF,\n  knownLength: 1\n};\n\nform.append('my_buffer', buffer, options);\n\nform.submit('http://example.com/', function(err, res) {\n  if (err) throw err;\n  console.log('Done');\n});\n```\n\nForm-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal's request```), for some other types of streams you'd need to provide \"file\"-related information manually:\n\n``` javascript\nsomeModule.stream(function(err, stdout, stderr) {\n  if (err) throw err;\n\n  var form = new FormData();\n\n  form.append('file', stdout, {\n    filename: 'unicycle.jpg',\n    contentType: 'image/jpg',\n    knownLength: 19806\n  });\n\n  form.submit('http://example.com/', function(err, res) {\n    if (err) throw err;\n    console.log('Done');\n  });\n});\n```\n\nFor edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter:\n\n``` javascript\nform.submit({\n  host: 'example.com',\n  path: '/probably.php?extra=params',\n  auth: 'username:password'\n}, function(err, res) {\n  console.log(res.statusCode);\n});\n```\n\n## Notes\n\n- ```getLengthSync()``` method DOESN'T calculate length for streams, use ```knownLength``` options as workaround.\n- If it feels like FormData hangs after submit and you're on ```node-0.10```, please check [Compatibility with Older Node Versions][streams2-thing]\n\n## TODO\n\n- Add new streams (0.10) support and try really hard not to break it for 0.8.x.\n\n## License\n\nForm-Data is licensed under the MIT license.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/felixge/node-form-data/issues"},"homepage":"https://github.com/felixge/node-form-data","_id":"form-data@0.1.2","_from":"form-data@0.1.2"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/benchmark/bench-multipart-parser.js","id":"formidable/benchmark/bench-multipart-parser.js","options":{},"isModule":true,"requiredModules":["assert","formidable/test/common.js","formidable/lib/multipart_parser.js","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/example/json.js","id":"formidable/example/json.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","util/util.js","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/example/post.js","id":"formidable/example/post.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","util/util.js","formidable/lib/index.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/example/upload.js","id":"formidable/example/upload.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","util/util.js","formidable/lib/index.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/index.js","id":"formidable/index.js","options":{},"isModule":true,"requiredModules":["formidable/lib/index.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/lib/file.js","id":"formidable/lib/file.js","options":{},"isModule":true,"requiredModules":["util/util.js","fs","events","crypto"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/lib/incoming_form.js","id":"formidable/lib/incoming_form.js","options":{},"isModule":true,"requiredModules":["fs","util/util.js","path","formidable/lib/file.js","formidable/lib/multipart_parser.js","formidable/lib/querystring_parser.js","formidable/lib/octet_parser.js","formidable/lib/json_parser.js","string_decoder/index.js","events","stream","os"],"mtime":1367528482000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/lib/index.js","id":"formidable/lib/index.js","options":{},"isModule":true,"requiredModules":["formidable/lib/incoming_form.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/lib/json_parser.js","id":"formidable/lib/json_parser.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/lib/multipart_parser.js","id":"formidable/lib/multipart_parser.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/lib/octet_parser.js","id":"formidable/lib/octet_parser.js","options":{},"isModule":true,"requiredModules":["events","util/util.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/lib/querystring_parser.js","id":"formidable/lib/querystring_parser.js","options":{},"isModule":true,"requiredModules":["querystring"],"mtime":1366669961000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/package.json","data":{"name":"formidable","description":"A node.js module for parsing form data, especially file uploads.","homepage":"https://github.com/felixge/node-formidable","version":"1.0.14","devDependencies":{"gently":"0.8.0","findit":"0.1.1","hashish":"0.0.4","urun":"~0.0.6","utest":"0.0.3","request":"~2.11.4"},"directories":{"lib":"./lib"},"main":"./lib/index","scripts":{"test":"node test/run.js","clean":"rm test/tmp/*"},"engines":{"node":">=0.8.0"},"repository":{"type":"git","url":"git://github.com/felixge/node-formidable.git"},"bugs":{"url":"http://github.com/felixge/node-formidable/issues"},"optionalDependencies":{},"readme":"# Formidable\n\n[![Build Status](https://secure.travis-ci.org/felixge/node-formidable.png?branch=master)](http://travis-ci.org/felixge/node-formidable)\n\n## Purpose\n\nA node.js module for parsing form data, especially file uploads.\n\n## Current status\n\nThis module was developed for [Transloadit](http://transloadit.com/), a service focused on uploading\nand encoding images and videos. It has been battle-tested against hundreds of GB of file uploads from\na large variety of clients and is considered production-ready.\n\n## Features\n\n* Fast (~500mb/sec), non-buffering multipart parser\n* Automatically writing file uploads to disk\n* Low memory footprint\n* Graceful error handling\n* Very high test coverage\n\n## Installation\n\nVia [npm](http://github.com/isaacs/npm):\n```\nnpm install formidable@latest\n```\nManually:\n```\ngit clone git://github.com/felixge/node-formidable.git formidable\nvim my.js\n# var formidable = require('./formidable');\n```\n\nNote: Formidable requires [gently](http://github.com/felixge/node-gently) to run the unit tests, but you won't need it for just using the library.\n\n## Example\n\nParse an incoming file upload.\n```javascript\nvar formidable = require('formidable'),\n    http = require('http'),\n    util = require('util');\n\nhttp.createServer(function(req, res) {\n  if (req.url == '/upload' && req.method.toLowerCase() == 'post') {\n    // parse a file upload\n    var form = new formidable.IncomingForm();\n\n    form.parse(req, function(err, fields, files) {\n      res.writeHead(200, {'content-type': 'text/plain'});\n      res.write('received upload:\\n\\n');\n      res.end(util.inspect({fields: fields, files: files}));\n    });\n\n    return;\n  }\n\n  // show a file upload form\n  res.writeHead(200, {'content-type': 'text/html'});\n  res.end(\n    '<form action=\"/upload\" enctype=\"multipart/form-data\" method=\"post\">'+\n    '<input type=\"text\" name=\"title\"><br>'+\n    '<input type=\"file\" name=\"upload\" multiple=\"multiple\"><br>'+\n    '<input type=\"submit\" value=\"Upload\">'+\n    '</form>'\n  );\n}).listen(8080);\n```\n## API\n\n### Formidable.IncomingForm\n```javascript\nvar form = new formidable.IncomingForm()\n```\nCreates a new incoming form.\n\n```javascript\nform.encoding = 'utf-8';\n```\nSets encoding for incoming form fields.\n\n```javascript\nform.uploadDir = process.env.TMP || process.env.TMPDIR || process.env.TEMP || '/tmp' || process.cwd();\n```\nThe directory for placing file uploads in. You can move them later on using\n`fs.rename()`. The default directory is picked at module load time depending on\nthe first existing directory from those listed above.\n\n```javascript\nform.keepExtensions = false;\n```\nIf you want the files written to `form.uploadDir` to include the extensions of the original files, set this property to `true`.\n\n```javascript\nform.type\n```\nEither 'multipart' or 'urlencoded' depending on the incoming request.\n\n```javascript\nform.maxFieldsSize = 2 * 1024 * 1024;\n```\nLimits the amount of memory a field (not file) can allocate in bytes.\nIf this value is exceeded, an `'error'` event is emitted. The default\nsize is 2MB.\n\n```javascript\nform.maxFields = 0;\n```\nLimits the number of fields that the querystring parser will decode. Defaults\nto 0 (unlimited).\n\n```javascript\nform.hash = false;\n```\nIf you want checksums calculated for incoming files, set this to either `'sha1'` or `'md5'`.\n\n```javascript\nform.bytesReceived\n```\nThe amount of bytes received for this form so far.\n\n```javascript\nform.bytesExpected\n```\nThe expected number of bytes in this form.\n\n```javascript\nform.parse(request, [cb]);\n```\nParses an incoming node.js `request` containing form data. If `cb` is provided, all fields an files are collected and passed to the callback:\n\n\n```javascript\nform.parse(req, function(err, fields, files) {\n  // ...\n});\n\nform.onPart(part);\n```\nYou may overwrite this method if you are interested in directly accessing the multipart stream. Doing so will disable any `'field'` / `'file'` events  processing which would occur otherwise, making you fully responsible for handling the processing.\n\n```javascript\nform.onPart = function(part) {\n  part.addListener('data', function() {\n    // ...\n  });\n}\n```\nIf you want to use formidable to only handle certain parts for you, you can do so:\n```javascript\nform.onPart = function(part) {\n  if (!part.filename) {\n    // let formidable handle all non-file parts\n    form.handlePart(part);\n  }\n}\n```\nCheck the code in this method for further inspiration.\n\n\n### Formidable.File\n```javascript\nfile.size = 0\n```\nThe size of the uploaded file in bytes. If the file is still being uploaded (see `'fileBegin'` event), this property says how many bytes of the file have been written to disk yet.\n```javascript\nfile.path = null\n```\nThe path this file is being written to. You can modify this in the `'fileBegin'` event in\ncase you are unhappy with the way formidable generates a temporary path for your files.\n```javascript\nfile.name = null\n```\nThe name this file had according to the uploading client.\n```javascript\nfile.type = null\n```\nThe mime type of this file, according to the uploading client.\n```javascript\nfile.lastModifiedDate = null\n```\nA date object (or `null`) containing the time this file was last written to. Mostly\nhere for compatibility with the [W3C File API Draft](http://dev.w3.org/2006/webapi/FileAPI/).\n```javascript\nfile.hash = null\n```\nIf hash calculation was set, you can read the hex digest out of this var.\n\n#### Formidable.File#toJSON()\n\n  This method returns a JSON-representation of the file, allowing you to\n  `JSON.stringify()` the file which is useful for logging and responding\n  to requests.\n\n### Events\n\n\n#### 'progress'\n```javascript\nform.on('progress', function(bytesReceived, bytesExpected) {\n});\n```\nEmitted after each incoming chunk of data that has been parsed. Can be used to roll your own progress bar.\n\n\n\n#### 'field'\n```javascript\nform.on('field', function(name, value) {\n});\n```\n\n#### 'fileBegin'\n\nEmitted whenever a field / value pair has been received.\n```javascript\nform.on('fileBegin', function(name, file) {\n});\n```\n\n#### 'file'\n\nEmitted whenever a new file is detected in the upload stream. Use this even if\nyou want to stream the file to somewhere else while buffering the upload on\nthe file system.\n\nEmitted whenever a field / file pair has been received. `file` is an instance of `File`.\n```javascript\nform.on('file', function(name, file) {\n});\n```\n\n#### 'error'\n\nEmitted when there is an error processing the incoming form. A request that experiences an error is automatically paused, you will have to manually call `request.resume()` if you want the request to continue firing `'data'` events.\n```javascript\nform.on('error', function(err) {\n});\n```\n\n#### 'aborted'\n\n\nEmitted when the request was aborted by the user. Right now this can be due to a 'timeout' or 'close' event on the socket. In the future there will be a separate 'timeout' event (needs a change in the node core).\n```javascript\nform.on('aborted', function() {\n});\n```\n\n##### 'end'\n```javascript\nform.on('end', function() {\n});\n```\nEmitted when the entire request has been received, and all contained files have finished flushing to disk. This is a great place for you to send your response.\n\n\n\n## Changelog\n\n### v1.0.14\n\n* Add failing hash tests. (Ben Trask)\n* Enable hash calculation again (Eugene Girshov)\n* Test for immediate data events (Tim Smart)\n* Re-arrange IncomingForm#parse (Tim Smart)\n\n### v1.0.13\n\n* Only update hash if update method exists (Sven Lito)\n* According to travis v0.10 needs to go quoted (Sven Lito)\n* Bumping build node versions (Sven Lito)\n* Additional fix for empty requests (Eugene Girshov)\n* Change the default to 1000, to match the new Node behaviour. (OrangeDog)\n* Add ability to control maxKeys in the querystring parser. (OrangeDog)\n* Adjust test case to work with node 0.9.x (Eugene Girshov)\n* Update package.json (Sven Lito)\n* Path adjustment according to eb4468b (Markus Ast)\n\n### v1.0.12\n\n* Emit error on aborted connections (Eugene Girshov)\n* Add support for empty requests (Eugene Girshov)\n* Fix name/filename handling in Content-Disposition (jesperp)\n* Tolerate malformed closing boundary in multipart (Eugene Girshov)\n* Ignore preamble in multipart messages (Eugene Girshov)\n* Add support for application/json (Mike Frey, Carlos Rodriguez)\n* Add support for Base64 encoding (Elmer Bulthuis)\n* Add File#toJSON (TJ Holowaychuk)\n* Remove support for Node.js 0.4 & 0.6 (Andrew Kelley)\n* Documentation improvements (Sven Lito, Andre Azevedo)\n* Add support for application/octet-stream (Ion Lupascu, Chris Scribner)\n* Use os.tmpDir() to get tmp directory (Andrew Kelley)\n* Improve package.json (Andrew Kelley, Sven Lito)\n* Fix benchmark script (Andrew Kelley)\n* Fix scope issue in incoming_forms (Sven Lito)\n* Fix file handle leak on error (OrangeDog)\n\n### v1.0.11\n\n* Calculate checksums for incoming files (sreuter)\n* Add definition parameters to \"IncomingForm\" as an argument (Math-)\n\n### v1.0.10\n\n* Make parts to be proper Streams (Matt Robenolt)\n\n### v1.0.9\n\n* Emit progress when content length header parsed (Tim Koschützki)\n* Fix Readme syntax due to GitHub changes (goob)\n* Replace references to old 'sys' module in Readme with 'util' (Peter Sugihara)\n\n### v1.0.8\n\n* Strip potentially unsafe characters when using `keepExtensions: true`.\n* Switch to utest / urun for testing\n* Add travis build\n\n### v1.0.7\n\n* Remove file from package that was causing problems when installing on windows. (#102)\n* Fix typos in Readme (Jason Davies).\n\n### v1.0.6\n\n* Do not default to the default to the field name for file uploads where\n  filename=\"\".\n\n### v1.0.5\n\n* Support filename=\"\" in multipart parts\n* Explain unexpected end() errors in parser better\n\n**Note:** Starting with this version, formidable emits 'file' events for empty\nfile input fields. Previously those were incorrectly emitted as regular file\ninput fields with value = \"\".\n\n### v1.0.4\n\n* Detect a good default tmp directory regardless of platform. (#88)\n\n### v1.0.3\n\n* Fix problems with utf8 characters (#84) / semicolons in filenames (#58)\n* Small performance improvements\n* New test suite and fixture system\n\n### v1.0.2\n\n* Exclude node\\_modules folder from git\n* Implement new `'aborted'` event\n* Fix files in example folder to work with recent node versions\n* Make gently a devDependency\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v1.0.1...v1.0.2)\n\n### v1.0.1\n\n* Fix package.json to refer to proper main directory. (#68, Dean Landolt)\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v1.0.0...v1.0.1)\n\n### v1.0.0\n\n* Add support for multipart boundaries that are quoted strings. (Jeff Craig)\n\nThis marks the beginning of development on version 2.0 which will include\nseveral architectural improvements.\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v0.9.11...v1.0.0)\n\n### v0.9.11\n\n* Emit `'progress'` event when receiving data, regardless of parsing it. (Tim Koschützki)\n* Use [W3C FileAPI Draft](http://dev.w3.org/2006/webapi/FileAPI/) properties for File class\n\n**Important:** The old property names of the File class will be removed in a\nfuture release.\n\n[See Commits](https://github.com/felixge/node-formidable/compare/v0.9.10...v0.9.11)\n\n### Older releases\n\nThese releases were done before starting to maintain the above Changelog:\n\n* [v0.9.10](https://github.com/felixge/node-formidable/compare/v0.9.9...v0.9.10)\n* [v0.9.9](https://github.com/felixge/node-formidable/compare/v0.9.8...v0.9.9)\n* [v0.9.8](https://github.com/felixge/node-formidable/compare/v0.9.7...v0.9.8)\n* [v0.9.7](https://github.com/felixge/node-formidable/compare/v0.9.6...v0.9.7)\n* [v0.9.6](https://github.com/felixge/node-formidable/compare/v0.9.5...v0.9.6)\n* [v0.9.5](https://github.com/felixge/node-formidable/compare/v0.9.4...v0.9.5)\n* [v0.9.4](https://github.com/felixge/node-formidable/compare/v0.9.3...v0.9.4)\n* [v0.9.3](https://github.com/felixge/node-formidable/compare/v0.9.2...v0.9.3)\n* [v0.9.2](https://github.com/felixge/node-formidable/compare/v0.9.1...v0.9.2)\n* [v0.9.1](https://github.com/felixge/node-formidable/compare/v0.9.0...v0.9.1)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)\n* [v0.1.0](https://github.com/felixge/node-formidable/commits/v0.1.0)\n\n## License\n\nFormidable is licensed under the MIT license.\n\n## Ports\n\n* [multipart-parser](http://github.com/FooBarWidget/multipart-parser): a C++ parser based on formidable\n\n## Credits\n\n* [Ryan Dahl](http://twitter.com/ryah) for his work on [http-parser](http://github.com/ry/http-parser) which heavily inspired multipart_parser.js\n","readmeFilename":"Readme.md","dependencies":{},"_id":"formidable@1.0.14","_shasum":"2b3f4c411cbb5fdd695c44843e2a23514a43231a","_from":"formidable@1.0.14","_resolved":"https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz"},"mtime":1415897192000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/common.js","id":"formidable/test/common.js","options":{},"isModule":true,"requiredModules":["path","formidable/lib/index.js","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/fixture/js/encoding.js","id":"formidable/test/fixture/js/encoding.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/fixture/js/misc.js","id":"formidable/test/fixture/js/misc.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/fixture/js/no-filename.js","id":"formidable/test/fixture/js/no-filename.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/fixture/js/preamble.js","id":"formidable/test/fixture/js/preamble.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/fixture/js/special-chars-in-filename.js","id":"formidable/test/fixture/js/special-chars-in-filename.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/fixture/js/workarounds.js","id":"formidable/test/fixture/js/workarounds.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/fixture/multipart.js","id":"formidable/test/fixture/multipart.js","options":{},"isModule":true,"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/integration/test-fixtures.js","id":"formidable/test/integration/test-fixtures.js","options":{},"isModule":true,"requiredModules":["hashish","fs","findit","path","http","net","assert","formidable/test/common.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/integration/test-json.js","id":"formidable/test/integration/test-json.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/integration/test-octet-stream.js","id":"formidable/test/integration/test-octet-stream.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","http","fs","path","hashish","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/legacy/common.js","id":"formidable/test/legacy/common.js","options":{},"isModule":true,"requiredModules":["path","fs","gently","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/legacy/integration/test-multipart-parser.js","id":"formidable/test/legacy/integration/test-multipart-parser.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/legacy/simple/test-file.js","id":"formidable/test/legacy/simple/test-file.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","events"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/legacy/simple/test-incoming-form.js","id":"formidable/test/legacy/simple/test-incoming-form.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","events","fs","path","buffer"],"mtime":1367528482000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/legacy/simple/test-multipart-parser.js","id":"formidable/test/legacy/simple/test-multipart-parser.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","events","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/legacy/simple/test-querystring-parser.js","id":"formidable/test/legacy/simple/test-querystring-parser.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","buffer"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/legacy/system/test-multi-video-upload.js","id":"formidable/test/legacy/system/test-multi-video-upload.js","options":{},"isModule":true,"requiredModules":["formidable/test/legacy/common.js","fs","http"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/run.js","id":"formidable/test/run.js","options":{},"isModule":true,"requiredModules":["urun"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/standalone/test-connection-aborted.js","id":"formidable/test/standalone/test-connection-aborted.js","options":{},"isModule":true,"requiredModules":["assert","http","net","formidable/lib/index.js"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/standalone/test-content-transfer-encoding.js","id":"formidable/test/standalone/test-content-transfer-encoding.js","options":{},"isModule":true,"requiredModules":["assert","formidable/test/common.js","formidable/lib/index.js","http"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/standalone/test-issue-46.js","id":"formidable/test/standalone/test-issue-46.js","options":{},"isModule":true,"requiredModules":["http","formidable/lib/index.js","request/index.js","assert"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/unit/test-file.js","id":"formidable/test/unit/test-file.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","utest"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/test/unit/test-incoming-form.js","id":"formidable/test/unit/test-incoming-form.js","options":{},"isModule":true,"requiredModules":["formidable/test/common.js","utest","path"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/formidable/tool/record.js","id":"formidable/tool/record.js","options":{},"isModule":true,"requiredModules":["http","fs"],"mtime":1366669961000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/methods/index.js","id":"methods/index.js","options":{},"isModule":true,"mtime":1340735657000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/methods/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/methods/package.json","data":{"name":"methods","version":"0.0.1","description":"HTTP methods that node supports","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["http","methods"],"author":{"name":"TJ Holowaychuk"},"license":"MIT","readme":"ERROR: No README data found!","_id":"methods@0.0.1","_from":"methods@0.0.1"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/mime/mime.js","id":"mime/mime.js","options":{},"isModule":true,"requiredModules":["path","fs"],"mtime":1329401695000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/mime/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/mime/package.json","data":{"author":{"name":"Robert Kieffer","email":"robert@broofa.com","url":"http://github.com/broofa"},"contributors":[{"name":"Benjamin Thomas","email":"benjamin@benjaminthomas.org","url":"http://github.com/bentomas"}],"dependencies":{},"description":"A comprehensive library for mime-type mapping","devDependencies":{},"keywords":["util","mime"],"main":"mime.js","name":"mime","repository":{"url":"http://github.com/bentomas/node-mime","type":"git"},"version":"1.2.5","readme":"# mime\n\nComprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.\n\n## Install\n\nInstall with [npm](http://github.com/isaacs/npm):\n\n    npm install mime\n\n## API - Queries\n\n### mime.lookup(path)\nGet the mime type associated with a file. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.').  E.g.\n\n    var mime = require('mime');\n\n    mime.lookup('/path/to/file.txt');         // => 'text/plain'\n    mime.lookup('file.txt');                  // => 'text/plain'\n    mime.lookup('.TXT');                      // => 'text/plain'\n    mime.lookup('htm');                       // => 'text/html'\n\n### mime.extension(type)\nGet the default extension for `type`\n\n    mime.extension('text/html');                 // => 'html'\n    mime.extension('application/octet-stream');  // => 'bin'\n\n### mime.charsets.lookup()\n\nMap mime-type to charset\n\n    mime.charsets.lookup('text/plain');        // => 'UTF-8'\n\n(The logic for charset lookups is pretty rudimentary.  Feel free to suggest improvements.)\n\n## API - Defining Custom Types\n\nThe following APIs allow you to add your own type mappings within your project.  If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/bentomas/node-mime/wiki/Requesting-New-Types).\n\n### mime.define()\n\nAdd custom mime/extension mappings\n\n    mime.define({\n        'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],\n        'application/x-my-type': ['x-mt', 'x-mtt'],\n        // etc ...\n    });\n\n    mime.lookup('x-sft');                 // => 'text/x-some-format'\n\nThe first entry in the extensions array is returned by `mime.extension()`. E.g.\n\n    mime.extension('text/x-some-format'); // => 'x-sf'\n\n### mime.load(filepath)\n\nLoad mappings from an Apache \".types\" format file\n\n    mime.load('./my_project.types');\n\nThe .types file format is simple -  See the `types` dir for examples.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/bentomas/node-mime/issues"},"homepage":"https://github.com/bentomas/node-mime","_id":"mime@1.2.5","_shasum":"9eed073022a8bf5e16c8566c6867b8832bfbfa13","_from":"mime@1.2.5","_resolved":"https://registry.npmjs.org/mime/-/mime-1.2.5.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/mime/test.js","id":"mime/test.js","options":{},"isModule":true,"requiredModules":["mime/mime.js","assert"],"mtime":1329401695000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/qs/index.js","id":"qs/index.js","options":{},"isModule":true,"mtime":1386088635000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/qs/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/qs/package.json","data":{"name":"qs","description":"querystring parser","version":"0.6.6","keywords":["query string","parser","component"],"repository":{"type":"git","url":"git://github.com/visionmedia/node-querystring.git"},"devDependencies":{"mocha":"*","expect.js":"*"},"scripts":{"test":"make test"},"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","url":"http://tjholowaychuk.com"},"main":"index","engines":{"node":"*"},"readme":"# node-querystring\n\n  query string parser for node and the browser supporting nesting, as it was removed from `0.3.x`, so this library provides the previous and commonly desired behaviour (and twice as fast). Used by [express](http://expressjs.com), [connect](http://senchalabs.github.com/connect) and others.\n\n## Installation\n\n    $ npm install qs\n\n## Examples\n\n```js\nvar qs = require('qs');\n\nqs.parse('user[name][first]=Tobi&user[email]=tobi@learnboost.com');\n// => { user: { name: { first: 'Tobi' }, email: 'tobi@learnboost.com' } }\n\nqs.stringify({ user: { name: 'Tobi', email: 'tobi@learnboost.com' }})\n// => user[name]=Tobi&user[email]=tobi%40learnboost.com\n```\n\n## Testing\n\nInstall dev dependencies:\n\n    $ npm install -d\n\nand execute:\n\n    $ make test\n\nbrowser:\n\n    $ open test/browser/index.html\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/node-querystring/issues"},"homepage":"https://github.com/visionmedia/node-querystring","_id":"qs@0.6.6","_shasum":"6e015098ff51968b8a3c819001d5f2c89bc4b107","_from":"qs@0.6.6","_resolved":"https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/duplex.js","id":"readable-stream/duplex.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js"],"mtime":1388359679000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/lib/_stream_duplex.js","id":"readable-stream/lib/_stream_duplex.js","options":{},"isModule":true,"requiredModules":["core-util-is/lib/util.js","inherits/inherits.js","readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js"],"mtime":1396170181000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/lib/_stream_passthrough.js","id":"readable-stream/lib/_stream_passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1396170181000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/lib/_stream_readable.js","id":"readable-stream/lib/_stream_readable.js","options":{},"isModule":true,"requiredModules":["isarray/index.js","buffer","events","stream","core-util-is/lib/util.js","inherits/inherits.js","string_decoder/index.js"],"mtime":1396757779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/lib/_stream_transform.js","id":"readable-stream/lib/_stream_transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_duplex.js","core-util-is/lib/util.js","inherits/inherits.js"],"mtime":1396757779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/lib/_stream_writable.js","id":"readable-stream/lib/_stream_writable.js","options":{},"isModule":true,"requiredModules":["buffer","core-util-is/lib/util.js","inherits/inherits.js","stream","readable-stream/lib/_stream_duplex.js"],"mtime":1396757779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/core-util-is/lib/util.js","id":"core-util-is/lib/util.js","options":{},"isModule":true,"mtime":1389160234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/core-util-is/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/core-util-is/package.json","data":{"name":"core-util-is","version":"1.0.1","description":"The `util.is*` functions introduced in Node v0.12.","main":"lib/util.js","repository":{"type":"git","url":"git://github.com/isaacs/core-util-is"},"keywords":["util","isBuffer","isArray","isNumber","isString","isRegExp","isThis","isThat","polyfill"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","bugs":{"url":"https://github.com/isaacs/core-util-is/issues"},"readme":"# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/core-util-is","_id":"core-util-is@1.0.1","_shasum":"6b07085aef9a3ccac6ee53bf9d3df0c1521a5538","_from":"core-util-is@~1.0.0","_resolved":"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz","scripts":{}},"mtime":1415897191000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/core-util-is/util.js","id":"core-util-is/util.js","options":{},"isModule":true,"mtime":1377557059000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/inherits.js","id":"inherits/inherits.js","options":{},"isModule":true,"requiredModules":["util/util.js"],"mtime":1368714177000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/inherits_browser.js","id":"inherits/inherits_browser.js","options":{},"isModule":true,"mtime":1368715198000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/package.json","data":{"name":"inherits","description":"Browser-friendly inheritance fully compatible with standard node.js inherits()","version":"2.0.1","keywords":["inheritance","class","klass","oop","object-oriented","inherits","browser","browserify"],"main":"./inherits.js","browser":"./inherits_browser.js","repository":{"type":"git","url":"git://github.com/isaacs/inherits"},"license":"ISC","scripts":{"test":"node test"},"readme":"Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n  superclass\n* new version overwrites current prototype while old one preserves any\n  existing fields on it\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/inherits/issues"},"homepage":"https://github.com/isaacs/inherits","_id":"inherits@2.0.1","_shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","_from":"inherits@~2.0.1","_resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/inherits/test.js","id":"inherits/test.js","options":{},"isModule":true,"requiredModules":["inherits/inherits.js","assert"],"mtime":1368715388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/build/build.js","id":"isarray/build/build.js","options":{},"isModule":true,"mtime":1369676297000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/component.json","id":"isarray/component.json","options":{},"isModule":true,"mtime":1369676355000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/index.js","id":"isarray/index.js","options":{},"isModule":true,"mtime":1369249661000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/isarray/package.json","data":{"name":"isarray","description":"Array#isArray for older browsers","version":"0.0.1","repository":{"type":"git","url":"git://github.com/juliangruber/isarray.git"},"homepage":"https://github.com/juliangruber/isarray","main":"index.js","scripts":{"test":"tap test/*.js"},"dependencies":{},"devDependencies":{"tap":"*"},"keywords":["browser","isarray","array"],"author":{"name":"Julian Gruber","email":"mail@juliangruber.com","url":"http://juliangruber.com"},"license":"MIT","readme":"\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/juliangruber/isarray/issues"},"_id":"isarray@0.0.1","_shasum":"8a18acfca9a8f4177e09abfc6038939b05d1eedf","_from":"isarray@0.0.1","_resolved":"https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/string_decoder/index.js","id":"string_decoder/index.js","options":{},"isModule":true,"requiredModules":["buffer"],"mtime":1408767880000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/string_decoder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/node_modules/string_decoder/package.json","data":{"name":"string_decoder","version":"0.10.31","description":"The string_decoder module from Node core","main":"index.js","dependencies":{},"devDependencies":{"tap":"~0.4.8"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/rvagg/string_decoder.git"},"homepage":"https://github.com/rvagg/string_decoder","keywords":["string","decoder","browser","browserify"],"license":"MIT","readme":"**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/string_decoder/issues"},"_id":"string_decoder@0.10.31","_shasum":"62e203bc41766c6c28c9fc84301dab1c5310fa94","_from":"string_decoder@~0.10.x","_resolved":"https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"},"mtime":1415897191000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/package.json","data":{"name":"readable-stream","version":"1.0.27-1","description":"Streams2, a user-land copy of the stream library from Node.js v0.10.x","main":"readable.js","dependencies":{"core-util-is":"~1.0.0","isarray":"0.0.1","string_decoder":"~0.10.x","inherits":"~2.0.1"},"devDependencies":{"tap":"~0.2.6"},"scripts":{"test":"tap test/simple/*.js"},"repository":{"type":"git","url":"git://github.com/isaacs/readable-stream"},"keywords":["readable","stream","pipe"],"browser":{"util":false},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"MIT","readme":"# readable-stream\n\n***Node-core streams for userland***\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png)](https://nodei.co/npm/readable-stream/)\n\nThis package is a mirror of the Streams2 and Streams3 implementations in Node-core.\n\nIf you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core.\n\n**readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12.\n\n**readable-stream** uses proper patch-level versioning so if you pin to `\"~1.0.0\"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `\"~1.1.0\"`\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/isaacs/readable-stream/issues"},"homepage":"https://github.com/isaacs/readable-stream","_id":"readable-stream@1.0.27-1","_shasum":"6b67983c20357cefd07f0165001a16d710d91078","_from":"readable-stream@1.0.27-1","_resolved":"https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/passthrough.js","id":"readable-stream/passthrough.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_passthrough.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/readable.js","id":"readable-stream/readable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_readable.js","readable-stream/lib/_stream_writable.js","readable-stream/lib/_stream_duplex.js","readable-stream/lib/_stream_transform.js","readable-stream/lib/_stream_passthrough.js"],"mtime":1396757779000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/transform.js","id":"readable-stream/transform.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_transform.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/readable-stream/writable.js","id":"readable-stream/writable.js","options":{},"isModule":true,"requiredModules":["readable-stream/lib/_stream_writable.js"],"mtime":1388359680000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/reduce-component/component.json","id":"reduce-component/component.json","options":{},"isModule":true,"mtime":1381756459000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/reduce-component/index.js","id":"reduce-component/index.js","options":{},"isModule":true,"mtime":1382205796000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/reduce-component/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/reduce-component/package.json","data":{"name":"reduce-component","description":"Array reduce component","version":"1.0.1","repository":{"type":"git","url":"git://github.com/redventures/reduce.git"},"dependencies":{},"devDependencies":{"mocha":"*","should":"*"},"component":{"scripts":{"reduce":"index.js"}},"main":"./index.js","license":"Apache, Version 2.0","readme":"\n# reduce\n\n  array reduce\n\n## Installation\n\n```sh\n  $ component install redventures/reduce\n```\n\n## API\n\n```js\nvar reduce = require('reduce');\n\nvar numbers = [0, 1, 2, 3, 4, 5];\n\nvar result = reduce(numbers, function(prev, curr){\n  return prev + curr;\n});\n```\n   \n## License\n\nCopyright 2012 Red Ventures\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/redventures/reduce/issues"},"homepage":"https://github.com/redventures/reduce","_id":"reduce-component@1.0.1","_shasum":"e0c93542c574521bea13df0f9488ed82ab77c5da","_from":"reduce-component@1.0.1","_resolved":"https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz","scripts":{}},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/node_modules/reduce-component/test/reduce.js","id":"reduce-component/test/reduce.js","options":{},"isModule":true,"requiredModules":["reduce-component/index.js"],"mtime":1352355681000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/package.json","data":{"name":"superagent","version":"0.18.0","description":"elegant & feature rich browser / node HTTP with a fluent API","scripts":{"test":"make test"},"keywords":["http","ajax","request","agent"],"author":{"name":"TJ Holowaychuk","email":"tj@vision-media.ca"},"contributors":[{"name":"Hunter Loftis","email":"hunter@hunterloftis.com"}],"repository":{"type":"git","url":"git://github.com/visionmedia/superagent.git"},"dependencies":{"qs":"0.6.6","formidable":"1.0.14","mime":"1.2.5","component-emitter":"1.1.2","methods":"0.0.1","cookiejar":"1.3.2","debug":"~0.7.2","reduce-component":"1.0.1","extend":"~1.2.1","form-data":"0.1.2","readable-stream":"1.0.27-1"},"devDependencies":{"zuul":"~1.6.0","express":"3.5.0","better-assert":"~0.1.0","should":"3.1.3","mocha":"*"},"browser":{"./lib/node/index.js":"./lib/client.js","emitter":"component-emitter","reduce":"reduce-component"},"component":{"scripts":{"superagent":"lib/client.js"}},"main":"./lib/node/index.js","engines":{"node":"*"},"readme":"# SuperAgent\n\n  SuperAgent is a small progressive __client-side__ HTTP request library, and __Node.js__ module with the same API, sporting many high-level HTTP client features. View the [docs](http://visionmedia.github.com/superagent/).\n\n![super agent](http://f.cl.ly/items/3d282n3A0h0Z0K2w0q2a/Screenshot.png)\n\n## Installation\n\n  node:\n\n```\n$ npm install superagent\n```\n\n  component:\n\n```\n$ component install visionmedia/superagent\n```\n\n  with script tags use ./superagent.js\n\n## Motivation\n\n  This library spawned from my frustration with jQuery's weak & inconsistent Ajax support. jQuery's API, while having recently added some promise-like support, is largely static, forcing you to build up big objects containing all the header fields and options, not to mention most of the options are awkwardly named \"type\" instead of \"method\", etc. Onto examples!\n\n  The following is what you might typically do for a simple __GET__ with jQuery:\n\n```js\n$.get('/user/1', function(data, textStatus, xhr){\n\n});\n```\n\nGreat, it's ok, but it's kinda lame having 3 arguments just to access something on the `xhr`. Our equivalent would be:\n\n```js\nrequest.get('/user/1', function(res){\n\n});\n```\n\nThe response object is an instanceof `request.Response`, encapsulating all of this information instead of throwing a bunch of arguments at you. For example, we can check `res.status`, `res.header` for header fields, `res.text`, `res.body` etc.\n\nAn example of a JSON POST with jQuery typically might use `$.post()`, however once you need to start defining header fields you have to then re-write it using `$.ajax()`... so that might look like:\n\n```js\n$.ajax({\n  url: '/api/pet',\n  type: 'POST',\n  data: { name: 'Manny', species: 'cat' },\n  headers: { 'X-API-Key': 'foobar' }\n}).success(function(res){\n\n}).error(function(){\n\n});\n```\n\n Not only is it ugly, but it's pretty opinionated. jQuery likes to special-case {4,5}xx- for example, you cannot (easily at least) receive a parsed JSON response for say \"400 Bad Request\". This same request would look like this:\n\n```js\nrequest\n  .post('/api/pet')\n  .send({ name: 'Manny', species: 'cat' })\n  .set('X-API-Key', 'foobar')\n  .set('Accept', 'application/json')\n  .end(function(error, res){\n\n  });\n```\n\nBuilding on the existing API internally, we also provide something similar to `$.post()` for those times in life where your interactions are very basic:\n\n```js\nrequest.post('/api/pet', cat, function(error, res){\n\n});\n```\n\n# Plugins\n\nUsage:\n\n```js\nvar nocache = require('no-cache');\nvar request = require('superagent');\nvar prefix = require('superagent-prefix')('/static');\n\nprefix(request); // Prefixes *all* requests\n\nrequest\n.get('/some-url')\n.use(nocache) // Prevents caching of *only* this request\n.end(function(res){\n    // Do something\n});\n```\n\nExisting plugins:\n * [superagent-no-cache](https://github.com/johntron/superagent-no-cache) - prevents caching by including Cache-Control header\n * [superagent-prefix](https://github.com/johntron/superagent-prefix) - prefixes absolute URLs (useful in test environment)\n\nPlease prefix your plugin component with `superagent-*`\n\nFor superagent extensions such as couchdb and oauth visit the [wiki](https://github.com/visionmedia/superagent/wiki).\n\n## Running node tests\n\n  Install dependencies:\n\n     $ npm install\n\n  Run em!\n\n    $ make test\n\n## Running browser tests\n\n Install the test server deps (nodejs / express):\n\n    $ npm install\n\n Start the test server:\n\n    $ make test-server\n\n Visit `localhost:4000/` in the browser.\n\n## Browser build\n\n  The browser build of superagent is located in ./superagent.js\n\n## Examples:\n\n- [agency tests](https://github.com/visionmedia/superagent/blob/master/test/node/agency.js)\n- [express demo app](https://github.com/hunterloftis/component-test/blob/master/lib/users/test/controller.test.js)\n\n\n## License\n\n  MIT\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/superagent/issues"},"homepage":"https://github.com/visionmedia/superagent","_id":"superagent@0.18.0","_shasum":"9d4375a3ae2c4fbd55fd20d5b12a2470d2fc8f62","_from":"superagent@0.18.0","_resolved":"https://registry.npmjs.org/superagent/-/superagent-0.18.0.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/node_modules/superagent/superagent.js","id":"superagent/superagent.js","options":{},"isModule":true,"requiredModules":["emitter","reduce","superagent/lib/node/index.js"],"mtime":1398831615000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/supertest/package.json","data":{"name":"supertest","version":"0.13.0","description":"Super-agent driven library for testing HTTP servers","main":"index.js","scripts":{"test":"make test"},"dependencies":{"superagent":"0.18.0","methods":"1.0.0"},"devDependencies":{"express":"3.1.0","mocha":"1.19.0","should":"3.3.1"},"keywords":["superagent","request","tdd","bdd","http","test","testing"],"author":{"name":"TJ Holowaychuk"},"license":"MIT","repository":{"type":"git","url":"https://github.com/visionmedia/supertest.git"},"readme":"# SuperTest\n\n  HTTP assertions made easy via [super-agent](http://github.com/visionmedia/superagent).\n\n## About\n\n  The motivation with this module is to provide a high-level abstraction for testing\n  HTTP, while still allowing you to drop down to the lower-level API provided by super-agent.\n\n## Example\n\n  You may pass an `http.Server`, or a `Function` to `request()` - if the server is not\n  already listening for connections then it is bound to an ephemeral port for you so\n  there is no need to keep track of ports.\n\n  SuperTest works with any test framework, here is an example without using any\n  test framework at all:\n\n```js\nvar request = require('supertest')\n  , express = require('express');\n\nvar app = express();\n\napp.get('/user', function(req, res){\n  res.send(200, { name: 'tobi' });\n});\n\nrequest(app)\n  .get('/user')\n  .expect('Content-Type', /json/)\n  .expect('Content-Length', '20')\n  .expect(200)\n  .end(function(err, res){\n    if (err) throw err;\n  });\n```\n\n  Here's an example with mocha, note how you can pass `done` straight to any of the `.expect()` calls:\n\n```js\ndescribe('GET /users', function(){\n  it('respond with json', function(done){\n    request(app)\n      .get('/user')\n      .set('Accept', 'application/json')\n      .expect('Content-Type', /json/)\n      .expect(200, done);\n  })\n})\n```\n\n  If you are using the `.end()` method `.expect()` assertions that fail will\n  not throw - they will return the assertion as an error to the `.end()` callback. In\n  order to fail the test case, you will need to rethrow or pass `err` to `done()`, as follows:\n\n```js\ndescribe('GET /users', function(){\n  it('respond with json', function(done){\n    request(app)\n      .get('/user')\n      .set('Accept', 'application/json')\n      .expect(200)\n      .end(function(err, res){\n        if (err) return done(err);\n        done()\n      });\n  })\n})\n```\n\n  Anything you can do with superagent, you can do with supertest - for example multipart file uploads!\n\n```js\nrequest(app)\n.post('/')\n.attach('avatar', 'test/fixtures/homeboy.jpg')\n...\n```\n\n  Passing the app or url each time is not necessary, if you're testing\n  the same host you may simply re-assign the request variable with the\n  initialization app or url, a new `Test` is created per `request.VERB()` call.\n\n```js\nrequest = request('http://localhost:5555');\n\nrequest.get('/').expect(200, function(err){\n  console.log(err);\n});\n\nrequest.get('/').expect('heya', function(err){\n  console.log(err);\n});\n```\n  Here's an example with mocha that shows how to persist a request and its cookies:\n\n```js\nvar request = require('supertest')\n   , should = require('should')\n   , express = require('express');\n\n  \n var app = express(); \n  app.use(express.cookieParser());\n\n\ndescribe('request.agent(app)', function(){\n  var app = express();\n\n  app.use(express.cookieParser());\n\n  app.get('/', function(req, res){\n    res.cookie('cookie', 'hey');\n    res.send();\n  });\n\n  app.get('/return', function(req, res){\n    if (req.cookies.cookie) res.send(req.cookies.cookie);\n    else res.send(':(')\n  });\n\n  var agent = request.agent(app);\n\n  it('should save cookies', function(done){\n    agent\n    .get('/')\n    .expect('set-cookie', 'cookie=hey; Path=/', done);\n  })\n\n  it('should send cookies', function(done){\n    agent\n    .get('/return')\n    .expect('hey', done);\n  })\n})\n```\n  There is another example that is introduced by the file [agency.js](https://github.com/visionmedia/superagent/blob/master/test/node/agency.js)\n\n## API\n\n  You may use any [super-agent](http://github.com/visionmedia/superagent) methods,\n  including `.write()`, `.pipe()` etc and perform assertions in the `.end()` callback\n  for lower-level needs.\n\n### .expect(status[, fn])\n\n  Assert response `status` code.\n\n### .expect(status, body[, fn])\n\n  Assert response `status` code and `body`.\n\n### .expect(body[, fn])\n\n  Assert response `body` text with a string, regular expression, or\n  parsed body object.\n\n### .expect(field, value[, fn])\n\n  Assert header `field` `value` with a string or regular expression.\n\n### .expect(function(res) {})\n\n  Pass a custom assertion function. It'll be given the response object to check. If the response is ok, it should return falsy, most commonly by not returning anything. If the check fails, throw an error or return a truthy value like a string that'll be turned into an error. \n\n  Here the string or error throwing options are both demonstrated:\n\n  ```js\n  request(app)\n    .get('/')\n    .expect(hasPreviousAndNextKeys)\n    .end(done);\n\n  function hasPreviousAndNextKeys(res) {\n    if (!('next' in res.body)) return \"missing next key\";\n    if (!('prev' in res.body)) throw new Error(\"missing prev key\");\n  }\n  ```\n\n### .end(fn)\n\n  Perform the request and invoke `fn(err, res)`.\n\n## Notes\n\n  Inspired by [api-easy](https://github.com/flatiron/api-easy) minus vows coupling.\n\n## License\n\n  MIT\n","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/supertest/issues"},"homepage":"https://github.com/visionmedia/supertest","_id":"supertest@0.13.0","_shasum":"4892bafd9beaa9bbcc95fd5a9f04949aef1ce06f","_from":"supertest@^0.13.0","_resolved":"https://registry.npmjs.org/supertest/-/supertest-0.13.0.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/supertest/test/supertest.js","id":"supertest/test/supertest.js","options":{},"isModule":true,"requiredModules":["supertest/index.js","https","fs","path","should/lib/should.js","express/index.js"],"mtime":1400828661000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/timekeeper/bower.json","id":"timekeeper/bower.json","options":{},"isModule":true,"mtime":1415023234000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/timekeeper/lib/timekeeper.js","id":"timekeeper/lib/timekeeper.js","options":{},"isModule":true,"mtime":1415023234000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/timekeeper/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/timekeeper/package.json","data":{"name":"timekeeper","description":"Easy testing of time-dependent code.","version":"0.0.5","keywords":["fake date","date test","mocking date"],"author":{"name":"Veselin Todorov","email":"hi@vesln.com"},"contributors":[{"name":"Oleg Slobodskoi","email":"oleg008@gmail.com"},{"name":"Guilherme Tramontina","email":"guilherme.tramontina@gmail.com"}],"devDependencies":{"chai":"^1.9.2","jack":"0.0.2","mocha":"^2.0.1","mocha-phantomjs":"^3.5.1","phantomjs":"^1.9.12"},"repository":{"type":"git","url":"http://github.com/vesln/timekeeper.git"},"homepage":"http://github.com/vesln/timekeeper","scripts":{"test":"make test"},"main":"./lib/timekeeper.js","gitHead":"27a485d6ea397071f5c4b06e4a9756783d4320e3","bugs":{"url":"https://github.com/vesln/timekeeper/issues"},"_id":"timekeeper@0.0.5","_shasum":"0ca6e718ce4ef118477c91139a36bbbb6fa01c1d","_from":"timekeeper@0.0.5","_npmVersion":"2.0.0","_npmUser":{"name":"gtramontina","email":"guilherme.tramontina@gmail.com"},"maintainers":[{"name":"vesln","email":"hi@vesln.com"},{"name":"demands","email":"me@maxedmands.com"},{"name":"gtramontina","email":"guilherme.tramontina@gmail.com"}],"dist":{"shasum":"0ca6e718ce4ef118477c91139a36bbbb6fa01c1d","tarball":"http://registry.npmjs.org/timekeeper/-/timekeeper-0.0.5.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/timekeeper/-/timekeeper-0.0.5.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/timekeeper/test/node.support.js","id":"timekeeper/test/node.support.js","options":{},"isModule":true,"requiredModules":["chai/index.js","timekeeper/lib/timekeeper.js"],"mtime":1415023234000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/timekeeper/test/timekeeper.test.js","id":"timekeeper/test/timekeeper.test.js","options":{},"isModule":true,"mtime":1415023234000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/to-csv/component.json","id":"to-csv/component.json","options":{},"isModule":true,"mtime":1411926460000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/to-csv/index.js","id":"to-csv/index.js","options":{},"isModule":true,"mtime":1411927580000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/to-csv/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/to-csv/package.json","data":{"name":"to-csv","version":"0.0.3","description":"Convert objects to CSV","main":"index.js","scripts":{"test":"make test"},"keywords":["csv","object","convert"],"author":{"name":"Joseph Werle","email":"joseph.werle@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/jwerle/to-csv.git"},"bugs":{"url":"https://github.com/jwerle/to-csv/issues"},"gitHead":"4724f7c27f36ecef94ffb1eb354ed528dd95d00a","homepage":"https://github.com/jwerle/to-csv","_id":"to-csv@0.0.3","_shasum":"2510e2f430117b4cab284c3818d22ba4943bd4ab","_from":"to-csv@0.0.3","_npmVersion":"1.5.0-alpha-4","_npmUser":{"name":"werle","email":"joseph.werle@gmail.com"},"maintainers":[{"name":"werle","email":"joseph.werle@gmail.com"}],"dist":{"shasum":"2510e2f430117b4cab284c3818d22ba4943bd4ab","tarball":"http://registry.npmjs.org/to-csv/-/to-csv-0.0.3.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/to-csv/-/to-csv-0.0.3.tgz"},"mtime":1439487641000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/to-csv/test.js","id":"to-csv/test.js","options":{},"isModule":true,"requiredModules":["to-csv/index.js","assert"],"mtime":1411927580000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/generate-pubsuffix.js","id":"tough-cookie/generate-pubsuffix.js","options":{},"isModule":true,"requiredModules":["fs","assert","punycode/punycode.js"],"mtime":1389643676000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/lib/cookie.js","id":"tough-cookie/lib/cookie.js","options":{},"isModule":true,"requiredModules":["net","url","tough-cookie/lib/pubsuffix.js","tough-cookie/lib/store.js","punycode/punycode.js","tough-cookie/lib/memstore.js"],"mtime":1389648729000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/lib/memstore.js","id":"tough-cookie/lib/memstore.js","options":{},"isModule":true,"requiredModules":["tough-cookie/lib/cookie.js","tough-cookie/lib/store.js","util/util.js"],"mtime":1389648729000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/lib/pubsuffix.js","id":"tough-cookie/lib/pubsuffix.js","options":{},"isModule":true,"mtime":1389643271000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/lib/store.js","id":"tough-cookie/lib/store.js","options":{},"isModule":true,"mtime":1389648729000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/node_modules/punycode/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/node_modules/punycode/package.json","data":{"name":"punycode","version":"1.3.2","description":"A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.","homepage":"https://mths.be/punycode","main":"punycode.js","keywords":["punycode","unicode","idn","idna","dns","url","domain"],"license":"MIT","author":{"name":"Mathias Bynens","url":"https://mathiasbynens.be/"},"contributors":[{"name":"Mathias Bynens","url":"https://mathiasbynens.be/"},{"name":"John-David Dalton","url":"http://allyoucanleet.com/"}],"repository":{"type":"git","url":"https://github.com/bestiejs/punycode.js.git"},"bugs":{"url":"https://github.com/bestiejs/punycode.js/issues"},"files":["LICENSE-MIT.txt","punycode.js"],"scripts":{"test":"node tests/tests.js"},"devDependencies":{"coveralls":"^2.10.1","grunt":"^0.4.5","grunt-contrib-uglify":"^0.5.0","grunt-shell":"^0.7.0","istanbul":"^0.2.13","qunit-extras":"^1.2.0","qunitjs":"~1.11.0","requirejs":"^2.1.14"},"readme":"# Punycode.js [![Build status](https://travis-ci.org/bestiejs/punycode.js.svg?branch=master)](https://travis-ci.org/bestiejs/punycode.js) [![Code coverage status](http://img.shields.io/coveralls/bestiejs/punycode.js/master.svg)](https://coveralls.io/r/bestiejs/punycode.js) [![Dependency status](https://gemnasium.com/bestiejs/punycode.js.svg)](https://gemnasium.com/bestiejs/punycode.js)\n\nA robust Punycode converter that fully complies to [RFC 3492](http://tools.ietf.org/html/rfc3492) and [RFC 5891](http://tools.ietf.org/html/rfc5891), and works on nearly all JavaScript platforms.\n\nThis JavaScript library is the result of comparing, optimizing and documenting different open-source implementations of the Punycode algorithm:\n\n* [The C example code from RFC 3492](http://tools.ietf.org/html/rfc3492#appendix-C)\n* [`punycode.c` by _Markus W. Scherer_ (IBM)](http://opensource.apple.com/source/ICU/ICU-400.42/icuSources/common/punycode.c)\n* [`punycode.c` by _Ben Noordhuis_](https://github.com/bnoordhuis/punycode/blob/master/punycode.c)\n* [JavaScript implementation by _some_](http://stackoverflow.com/questions/183485/can-anyone-recommend-a-good-free-javascript-for-punycode-to-unicode-conversion/301287#301287)\n* [`punycode.js` by _Ben Noordhuis_](https://github.com/joyent/node/blob/426298c8c1c0d5b5224ac3658c41e7c2a3fe9377/lib/punycode.js) (note: [not fully compliant](https://github.com/joyent/node/issues/2072))\n\nThis project is [bundled](https://github.com/joyent/node/blob/master/lib/punycode.js) with [Node.js v0.6.2+](https://github.com/joyent/node/compare/975f1930b1...61e796decc).\n\n## Installation\n\nVia [npm](http://npmjs.org/) (only required for Node.js releases older than v0.6.2):\n\n```bash\nnpm install punycode\n```\n\nVia [Bower](http://bower.io/):\n\n```bash\nbower install punycode\n```\n\nVia [Component](https://github.com/component/component):\n\n```bash\ncomponent install bestiejs/punycode.js\n```\n\nIn a browser:\n\n```html\n<script src=\"punycode.js\"></script>\n```\n\nIn [Narwhal](http://narwhaljs.org/), [Node.js](http://nodejs.org/), and [RingoJS](http://ringojs.org/):\n\n```js\nvar punycode = require('punycode');\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('punycode.js');\n```\n\nUsing an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire(\n  {\n    'paths': {\n      'punycode': 'path/to/punycode'\n    }\n  },\n  ['punycode'],\n  function(punycode) {\n    console.log(punycode);\n  }\n);\n```\n\n## API\n\n### `punycode.decode(string)`\n\nConverts a Punycode string of ASCII symbols to a string of Unicode symbols.\n\n```js\n// decode domain name parts\npunycode.decode('maana-pta'); // 'mañana'\npunycode.decode('--dqo34k'); // '☃-⌘'\n```\n\n### `punycode.encode(string)`\n\nConverts a string of Unicode symbols to a Punycode string of ASCII symbols.\n\n```js\n// encode domain name parts\npunycode.encode('mañana'); // 'maana-pta'\npunycode.encode('☃-⌘'); // '--dqo34k'\n```\n\n### `punycode.toUnicode(input)`\n\nConverts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode.\n\n```js\n// decode domain names\npunycode.toUnicode('xn--maana-pta.com');\n// → 'mañana.com'\npunycode.toUnicode('xn----dqo34k.com');\n// → '☃-⌘.com'\n\n// decode email addresses\npunycode.toUnicode('джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq');\n// → 'джумла@джpумлатест.bрфa'\n```\n\n### `punycode.toASCII(input)`\n\nConverts a Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that's already in ASCII.\n\n```js\n// encode domain names\npunycode.toASCII('mañana.com');\n// → 'xn--maana-pta.com'\npunycode.toASCII('☃-⌘.com');\n// → 'xn----dqo34k.com'\n\n// encode email addresses\npunycode.toASCII('джумла@джpумлатест.bрфa');\n// → 'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq'\n```\n\n### `punycode.ucs2`\n\n#### `punycode.ucs2.decode(string)`\n\nCreates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](https://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16.\n\n```js\npunycode.ucs2.decode('abc');\n// → [0x61, 0x62, 0x63]\n// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE:\npunycode.ucs2.decode('\\uD834\\uDF06');\n// → [0x1D306]\n```\n\n#### `punycode.ucs2.encode(codePoints)`\n\nCreates a string based on an array of numeric code point values.\n\n```js\npunycode.ucs2.encode([0x61, 0x62, 0x63]);\n// → 'abc'\npunycode.ucs2.encode([0x1D306]);\n// → '\\uD834\\uDF06'\n```\n\n### `punycode.version`\n\nA string representing the current Punycode.js version number.\n\n## Unit tests & code coverage\n\nAfter cloning this repository, run `npm install --dev` to install the dependencies needed for Punycode.js development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`.\n\nOnce that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, PhantomJS, and web browsers as well, use `grunt test`.\n\nTo generate the code coverage report, use `grunt cover`.\n\nFeel free to fork if you see possible improvements!\n\n## Author\n\n| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|\n| [Mathias Bynens](https://mathiasbynens.be/) |\n\n## Contributors\n\n| [![twitter/jdalton](https://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## License\n\nPunycode.js is available under the [MIT](https://mths.be/mit) license.\n","readmeFilename":"README.md","_id":"punycode@1.3.2","_shasum":"9653a036fb7c1ee42342f2325cceefea3926c48d","_from":"punycode@>=0.2.0","_resolved":"https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/node_modules/punycode/punycode.js","id":"punycode/punycode.js","options":{},"isModule":true,"mtime":1413979177000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/package.json","data":{"author":{"name":"GoInstant Inc., a salesforce.com company"},"license":"MIT","name":"tough-cookie","description":"RFC6265 Cookies and Cookie Jar for node.js","keywords":["HTTP","cookie","cookies","set-cookie","cookiejar","jar","RFC6265","RFC2965"],"version":"0.12.1","homepage":"https://github.com/goinstant/tough-cookie","repository":{"type":"git","url":"git://github.com/goinstant/tough-cookie.git"},"bugs":{"url":"https://github.com/goinstant/tough-cookie/issues"},"main":"./lib/cookie","scripts":{"test":"vows test.js"},"engines":{"node":">=0.4.12"},"dependencies":{"punycode":">=0.2.0"},"devDependencies":{"vows":"0.7.0","async":">=0.1.12"},"readme":"[RFC6265](http://tools.ietf.org/html/rfc6265) Cookies and CookieJar for Node.js\n\n![Tough Cookie](http://www.goinstant.com.s3.amazonaws.com/tough-cookie.jpg)\n\n[![Build Status](https://travis-ci.org/goinstant/node-cookie.png?branch=master)](https://travis-ci.org/goinstant/node-cookie)\n\n[![NPM Stats](https://nodei.co/npm/tough-cookie.png?downloads=true&stars=true)](https://npmjs.org/package/tough-cookie)\n![NPM Downloads](https://nodei.co/npm-dl/tough-cookie.png?months=9)\n\n# Synopsis\n\n``` javascript\nvar tough = require('tough-cookie'); // note: not 'cookie', 'cookies' or 'node-cookie'\nvar Cookie = tough.Cookie;\nvar cookie = Cookie.parse(header);\ncookie.value = 'somethingdifferent';\nheader = cookie.toString();\n\nvar cookiejar = new tough.CookieJar();\ncookiejar.setCookie(cookie, 'http://currentdomain.example.com/path', cb);\n// ...\ncookiejar.getCookies('http://example.com/otherpath',function(err,cookies) {\n  res.headers['cookie'] = cookies.join('; ');\n});\n```\n\n# Installation\n\nIt's _so_ easy!\n\n`npm install tough-cookie`\n\nRequires `punycode`, which should get installed automatically for you.  Note that node.js v0.6.2+ bundles punycode by default.\n\nWhy the name?  NPM modules `cookie`, `cookies` and `cookiejar` were already taken.\n\n# API\n\ntough\n=====\n\nFunctions on the module you get from `require('tough-cookie')`.  All can be used as pure functions and don't need to be \"bound\".\n\nparseDate(string[,strict])\n-----------------\n\nParse a cookie date string into a `Date`.  Parses according to RFC6265 Section 5.1.1, not `Date.parse()`.  If strict is set to true then leading/trailing non-seperator characters around the time part will cause the parsing to fail (e.g. \"Thu, 01 Jan 1970 00:00:010 GMT\" has an extra trailing zero but Chrome, an assumedly RFC-compliant browser, treats this as valid).\n\nformatDate(date)\n----------------\n\nFormat a Date into a RFC1123 string (the RFC6265-recommended format).\n\ncanonicalDomain(str)\n--------------------\n\nTransforms a domain-name into a canonical domain-name.  The canonical domain-name is a trimmed, lowercased, stripped-of-leading-dot and optionally punycode-encoded domain-name (Section 5.1.2 of RFC6265).  For the most part, this function is idempotent (can be run again on its output without ill effects).\n\ndomainMatch(str,domStr[,canonicalize=true])\n-------------------------------------------\n\nAnswers \"does this real domain match the domain in a cookie?\".  The `str` is the \"current\" domain-name and the `domStr` is the \"cookie\" domain-name.  Matches according to RFC6265 Section 5.1.3, but it helps to think of it as a \"suffix match\".\n\nThe `canonicalize` parameter will run the other two paramters through `canonicalDomain` or not.\n\ndefaultPath(path)\n-----------------\n\nGiven a current request/response path, gives the Path apropriate for storing in a cookie.  This is basically the \"directory\" of a \"file\" in the path, but is specified by Section 5.1.4 of the RFC.\n\nThe `path` parameter MUST be _only_ the pathname part of a URI (i.e. excludes the hostname, query, fragment, etc.).  This is the `.pathname` property of node's `uri.parse()` output.\n\npathMatch(reqPath,cookiePath)\n-----------------------------\n\nAnswers \"does the request-path path-match a given cookie-path?\" as per RFC6265 Section 5.1.4.  Returns a boolean.\n\nThis is essentially a prefix-match where `cookiePath` is a prefix of `reqPath`.\n\nparse(header[,strict=false])\n----------------------------\n\nalias for `Cookie.parse(header[,strict])`\n\nfromJSON(string)\n----------------\n\nalias for `Cookie.fromJSON(string)`\n\ngetPublicSuffix(hostname)\n-------------------------\n\nReturns the public suffix of this hostname.  The public suffix is the shortest domain-name upon which a cookie can be set.  Returns `null` if the hostname cannot have cookies set for it.\n\nFor example: `www.example.com` and `www.subdomain.example.com` both have public suffix `example.com`.\n\nFor further information, see http://publicsuffix.org/.  This module derives its list from that site.\n\ncookieCompare(a,b)\n------------------\n\nFor use with `.sort()`, sorts a list of cookies into the recommended order given in the RFC (Section 5.4 step 2).  Longest `.path`s go first, then sorted oldest to youngest.\n\n``` javascript\nvar cookies = [ /* unsorted array of Cookie objects */ ];\ncookies = cookies.sort(cookieCompare);\n```\n\npermuteDomain(domain)\n---------------------\n\nGenerates a list of all possible domains that `domainMatch()` the parameter.  May be handy for implementing cookie stores.\n\n\npermutePath(path)\n-----------------\n\nGenerates a list of all possible paths that `pathMatch()` the parameter.  May be handy for implementing cookie stores.\n\nCookie\n======\n\nCookie.parse(header[,strict=false])\n-----------------------------------\n\nParses a single Cookie or Set-Cookie HTTP header into a `Cookie` object.  Returns `undefined` if the string can't be parsed.  If in strict mode, returns `undefined` if the cookie doesn't follow the guidelines in section 4 of RFC6265.  Generally speaking, strict mode can be used to validate your own generated Set-Cookie headers, but acting as a client you want to be lenient and leave strict mode off.\n\nHere's how to process the Set-Cookie header(s) on a node HTTP/HTTPS response:\n\n``` javascript\nif (res.headers['set-cookie'] instanceof Array)\n  cookies = res.headers['set-cookie'].map(function (c) { return (Cookie.parse(c)); });\nelse\n  cookies = [Cookie.parse(res.headers['set-cookie'])];\n```\n\nCookie.fromJSON(string)\n-----------------------\n\nConvert a JSON string to a `Cookie` object.  Does a `JSON.parse()` and converts the `.created`, `.lastAccessed` and `.expires` properties into `Date` objects.\n\nProperties\n==========\n\n  * _key_ - string - the name or key of the cookie (default \"\")\n  * _value_ - string - the value of the cookie (default \"\")\n  * _expires_ - `Date` - if set, the `Expires=` attribute of the cookie (defaults to the string `\"Infinity\"`). See `setExpires()`\n  * _maxAge_ - seconds - if set, the `Max-Age=` attribute _in seconds_ of the cookie.  May also be set to strings `\"Infinity\"` and `\"-Infinity\"` for non-expiry and immediate-expiry, respectively.  See `setMaxAge()`\n  * _domain_ - string - the `Domain=` attribute of the cookie\n  * _path_ - string - the `Path=` of the cookie\n  * _secure_ - boolean - the `Secure` cookie flag\n  * _httpOnly_ - boolean - the `HttpOnly` cookie flag\n  * _extensions_ - `Array` - any unrecognized cookie attributes as strings (even if equal-signs inside)\n\nAfter a cookie has been passed through `CookieJar.setCookie()` it will have the following additional attributes:\n\n  * _hostOnly_ - boolean - is this a host-only cookie (i.e. no Domain field was set, but was instead implied)\n  * _pathIsDefault_ - boolean - if true, there was no Path field on the cookie and `defaultPath()` was used to derive one.\n  * _created_ - `Date` - when this cookie was added to the jar\n  * _lastAccessed_ - `Date` - last time the cookie got accessed. Will affect cookie cleaning once implemented.  Using `cookiejar.getCookies(...)` will update this attribute.\n\nConstruction([{options}])\n------------\n\nReceives an options object that can contain any Cookie properties, uses the default for unspecified properties.\n\n.toString()\n-----------\n\nencode to a Set-Cookie header value.  The Expires cookie field is set using `formatDate()`, but is omitted entirely if `.expires` is `Infinity`.\n\n.cookieString()\n---------------\n\nencode to a Cookie header value (i.e. the `.key` and `.value` properties joined with '=').\n\n.setExpires(String)\n-------------------\n\nsets the expiry based on a date-string passed through `parseDate()`.  If parseDate returns `null` (i.e. can't parse this date string), `.expires` is set to `\"Infinity\"` (a string) is set.\n\n.setMaxAge(number)\n-------------------\n\nsets the maxAge in seconds.  Coerces `-Infinity` to `\"-Infinity\"` and `Infinity` to `\"Infinity\"` so it JSON serializes correctly.\n\n.expiryTime([now=Date.now()])\n-----------------------------\n\n.expiryDate([now=Date.now()])\n-----------------------------\n\nexpiryTime() Computes the absolute unix-epoch milliseconds that this cookie expires. expiryDate() works similarly, except it returns a `Date` object.  Note that in both cases the `now` parameter should be milliseconds.\n\nMax-Age takes precedence over Expires (as per the RFC). The `.created` attribute -- or, by default, the `now` paramter -- is used to offset the `.maxAge` attribute.\n\nIf Expires (`.expires`) is set, that's returned.\n\nOtherwise, `expiryTime()` returns `Infinity` and `expiryDate()` returns a `Date` object for \"Tue, 19 Jan 2038 03:14:07 GMT\" (latest date that can be expressed by a 32-bit `time_t`; the common limit for most user-agents).\n\n.TTL([now=Date.now()])\n---------\n\ncompute the TTL relative to `now` (milliseconds).  The same precedence rules as for `expiryTime`/`expiryDate` apply.\n\nThe \"number\" `Infinity` is returned for cookies without an explicit expiry and `0` is returned if the cookie is expired.  Otherwise a time-to-live in milliseconds is returned.\n\n.canonicalizedDoman()\n---------------------\n\n.cdomain()\n----------\n\nreturn the canonicalized `.domain` field.  This is lower-cased and punycode (RFC3490) encoded if the domain has any non-ASCII characters.\n\n.validate()\n-----------\n\nStatus: *IN PROGRESS*. Works for a few things, but is by no means comprehensive.\n\nvalidates cookie attributes for semantic correctness.  Useful for \"lint\" checking any Set-Cookie headers you generate.  For now, it returns a boolean, but eventually could return a reason string -- you can future-proof with this construct:\n\n``` javascript\nif (cookie.validate() === true) {\n  // it's tasty\n} else {\n  // yuck!\n}\n```\n\nCookieJar\n=========\n\nConstruction([store = new MemoryCookieStore()][, rejectPublicSuffixes])\n------------\n\nSimply use `new CookieJar()`.  If you'd like to use a custom store, pass that to the constructor otherwise a `MemoryCookieStore` will be created and used.\n\n\nAttributes\n----------\n\n  * _rejectPublicSuffixes_ - boolean - reject cookies with domains like \"com\" and \"co.uk\" (default: `true`)\n\nSince eventually this module would like to support database/remote/etc. CookieJars, continuation passing style is used for CookieJar methods.\n\n.setCookie(cookieOrString, currentUrl, [{options},] cb(err,cookie))\n-------------------------------------------------------------------\n\nAttempt to set the cookie in the cookie jar.  If the operation fails, an error will be given to the callback `cb`, otherwise the cookie is passed through.  The cookie will have updated `.created`, `.lastAccessed` and `.hostOnly` properties.\n\nThe `options` object can be omitted and can have the following properties:\n\n  * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API.  Affects HttpOnly cookies.\n  * _secure_ - boolean - autodetect from url - indicates if this is a \"Secure\" API.  If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`.\n  * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies\n  * _strict_ - boolean - default `false` - perform extra checks\n  * _ignoreError_ - boolean - default `false` - silently ignore things like parse errors and invalid domains.  CookieStore errors aren't ignored by this option.\n\nAs per the RFC, the `.hostOnly` property is set if there was no \"Domain=\" parameter in the cookie string (or `.domain` was null on the Cookie object).  The `.domain` property is set to the fully-qualified hostname of `currentUrl` in this case.  Matching this cookie requires an exact hostname match (not a `domainMatch` as per usual).\n\n.setCookieSync(cookieOrString, currentUrl, [{options}])\n-------------------------------------------------------\n\nSynchronous version of `setCookie`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).\n\n.storeCookie(cookie, [{options},] cb(err,cookie))\n-------------------------------------------------\n\n__REMOVED__ removed in lieu of the CookieStore API below\n\n.getCookies(currentUrl, [{options},] cb(err,cookies))\n-----------------------------------------------------\n\nRetrieve the list of cookies that can be sent in a Cookie header for the current url.\n\nIf an error is encountered, that's passed as `err` to the callback, otherwise an `Array` of `Cookie` objects is passed.  The array is sorted with `cookieCompare()` unless the `{sort:false}` option is given.\n\nThe `options` object can be omitted and can have the following properties:\n\n  * _http_ - boolean - default `true` - indicates if this is an HTTP or non-HTTP API.  Affects HttpOnly cookies.\n  * _secure_ - boolean - autodetect from url - indicates if this is a \"Secure\" API.  If the currentUrl starts with `https:` or `wss:` then this is defaulted to `true`, otherwise `false`.\n  * _now_ - Date - default `new Date()` - what to use for the creation/access time of cookies\n  * _expire_ - boolean - default `true` - perform expiry-time checking of cookies and asynchronously remove expired cookies from the store.  Using `false` will return expired cookies and **not** remove them from the store (which is useful for replaying Set-Cookie headers, potentially).\n  * _allPaths_ - boolean - default `false` - if `true`, do not scope cookies by path. The default uses RFC-compliant path scoping. **Note**: may not be supported by the CookieStore `fetchCookies` function (the default MemoryCookieStore supports it).\n\nThe `.lastAccessed` property of the returned cookies will have been updated.\n\n.getCookiesSync(currentUrl, [{options}])\n----------------------------------------\n\nSynchronous version of `getCookies`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).\n\n.getCookieString(...)\n---------------------\n\nAccepts the same options as `.getCookies()` but passes a string suitable for a Cookie header rather than an array to the callback.  Simply maps the `Cookie` array via `.cookieString()`.\n\n.getCookieStringSync(...)\n-------------------------\n\nSynchronous version of `getCookieString`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).\n\n.getSetCookieStrings(...)\n-------------------------\n\nReturns an array of strings suitable for **Set-Cookie** headers. Accepts the same options as `.getCookies()`.  Simply maps the cookie array via `.toString()`.\n\n.getSetCookieStringsSync(...)\n-----------------------------\n\nSynchronous version of `getSetCookieStrings`; only works with synchronous stores (e.g. the default `MemoryCookieStore`).\n\nStore\n=====\n\nBase class for CookieJar stores.\n\n# CookieStore API\n\nThe storage model for each `CookieJar` instance can be replaced with a custom implementation.  The default is `MemoryCookieStore` which can be found in the `lib/memstore.js` file.  The API uses continuation-passing-style to allow for asynchronous stores.\n\nStores should inherit from the base `Store` class, which is available as `require('tough-cookie').Store`.  Stores are asynchronous by default, but if `store.synchronous` is set, then the `*Sync` methods on the CookieJar can be used.\n\nAll `domain` parameters will have been normalized before calling.\n\nThe Cookie store must have all of the following methods.\n\nstore.findCookie(domain, path, key, cb(err,cookie))\n---------------------------------------------------\n\nRetrieve a cookie with the given domain, path and key (a.k.a. name).  The RFC maintains that exactly one of these cookies should exist in a store.  If the store is using versioning, this means that the latest/newest such cookie should be returned.\n\nCallback takes an error and the resulting `Cookie` object.  If no cookie is found then `null` MUST be passed instead (i.e. not an error).\n\nstore.findCookies(domain, path, cb(err,cookies))\n------------------------------------------------\n\nLocates cookies matching the given domain and path.  This is most often called in the context of `cookiejar.getCookies()` above.\n\nIf no cookies are found, the callback MUST be passed an empty array.\n\nThe resulting list will be checked for applicability to the current request according to the RFC (domain-match, path-match, http-only-flag, secure-flag, expiry, etc.), so it's OK to use an optimistic search algorithm when implementing this method.  However, the search algorithm used SHOULD try to find cookies that `domainMatch()` the domain and `pathMatch()` the path in order to limit the amount of checking that needs to be done.\n\nAs of version 0.9.12, the `allPaths` option to `cookiejar.getCookies()` above will cause the path here to be `null`.  If the path is `null`, path-matching MUST NOT be performed (i.e. domain-matching only).\n\nstore.putCookie(cookie, cb(err))\n--------------------------------\n\nAdds a new cookie to the store.  The implementation SHOULD replace any existing cookie with the same `.domain`, `.path`, and `.key` properties -- depending on the nature of the implementation, it's possible that between the call to `fetchCookie` and `putCookie` that a duplicate `putCookie` can occur.\n\nThe `cookie` object MUST NOT be modified; the caller will have already updated the `.creation` and `.lastAccessed` properties.\n\nPass an error if the cookie cannot be stored.\n\nstore.updateCookie(oldCookie, newCookie, cb(err))\n-------------------------------------------------\n\nUpdate an existing cookie.  The implementation MUST update the `.value` for a cookie with the same `domain`, `.path` and `.key`.  The implementation SHOULD check that the old value in the store is equivalent to `oldCookie` - how the conflict is resolved is up to the store.\n\nThe `.lastAccessed` property will always be different between the two objects and `.created` will always be the same.  Stores MAY ignore or defer the `.lastAccessed` change at the cost of affecting how cookies are sorted (or selected for deletion).\n\nStores may wish to optimize changing the `.value` of the cookie in the store versus storing a new cookie.  If the implementation doesn't define this method a stub that calls `putCookie(newCookie,cb)` will be added to the store object.\n\nThe `newCookie` and `oldCookie` objects MUST NOT be modified.\n\nPass an error if the newCookie cannot be stored.\n\nstore.removeCookie(domain, path, key, cb(err))\n----------------------------------------------\n\nRemove a cookie from the store (see notes on `findCookie` about the uniqueness constraint).\n\nThe implementation MUST NOT pass an error if the cookie doesn't exist; only pass an error due to the failure to remove an existing cookie.\n\nstore.removeCookies(domain, path, cb(err))\n------------------------------------------\n\nRemoves matching cookies from the store.  The `path` paramter is optional, and if missing means all paths in a domain should be removed.\n\nPass an error ONLY if removing any existing cookies failed.\n\n# TODO\n\n  * _full_ RFC5890/RFC5891 canonicalization for domains in `cdomain()`\n    * the optional `punycode` requirement implements RFC3492, but RFC6265 requires RFC5891\n  * better tests for `validate()`?\n\n# Copyright and License\n\n(tl;dr: MIT with some MPL/1.1)\n\nCopyright 2012- GoInstant, Inc. and other contributors. All rights reserved.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to\ndeal in the Software without restriction, including without limitation the\nrights to use, copy, modify, merge, publish, distribute, sublicense, and/or\nsell copies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\nIN THE SOFTWARE.\n\nPortions may be licensed under different licenses (in particular public-suffix.txt is MPL/1.1); please read the LICENSE file for full details.\n","readmeFilename":"README.md","_id":"tough-cookie@0.12.1","_from":"tough-cookie@^0.12.1"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/tough-cookie/test.js","id":"tough-cookie/test.js","options":{},"isModule":true,"requiredModules":["vows","assert","async/lib/async.js","tough-cookie/lib/cookie.js"],"mtime":1389648729000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/underscore/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/underscore/package.json","data":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/jashkenas/underscore.git"},"main":"underscore.js","version":"1.8.2","devDependencies":{"docco":"*","eslint":"0.6.x","karma":"~0.12.31","karma-qunit":"~0.1.4","qunit-cli":"~0.2.0","uglify-js":"2.4.x"},"scripts":{"test":"npm run test-node && npm run lint","lint":"eslint underscore.js test/*.js","test-node":"qunit-cli test/*.js","test-browser":"npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start","build":"uglifyjs underscore.js -c \"evaluate=false\" --comments \"/    .*/\" -m --source-map underscore-min.map -o underscore-min.js","doc":"docco underscore.js"},"license":"MIT","files":["underscore.js","underscore-min.js","underscore-min.map","LICENSE"],"gitHead":"19db749b190a7cb5a8b7ab1aab42c0e9dc517250","bugs":{"url":"https://github.com/jashkenas/underscore/issues"},"_id":"underscore@1.8.2","_shasum":"64df2eb590899de950782f3735190ba42ebf311d","_from":"underscore@1.8.2","_npmVersion":"1.4.28","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"jashkenas","email":"jashkenas@gmail.com"}],"dist":{"shasum":"64df2eb590899de950782f3735190ba42ebf311d","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.8.2.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/underscore/-/underscore-1.8.2.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/underscore/underscore-min.js","id":"underscore/underscore-min.js","options":{},"isModule":true,"mtime":1424614440000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/underscore/underscore.js","id":"underscore/underscore.js","options":{},"isModule":true,"mtime":1424614440000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/validator/bower.json","id":"validator/bower.json","options":{},"isModule":true,"mtime":1425348502000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/validator/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/validator/package.json","data":{"name":"validator","description":"String validation and sanitization","version":"3.33.0","homepage":"http://github.com/chriso/validator.js","keywords":["validator","validation","validate","sanitization","sanitize","sanitisation","sanitise","assert"],"author":{"name":"Chris O'Hara","email":"cohara87@gmail.com"},"main":"validator.js","bugs":{"url":"http://github.com/chriso/validator.js/issues"},"repository":{"type":"git","url":"http://github.com/chriso/validator.js.git"},"devDependencies":{"mocha":"latest","istanbul":"latest","jshint":"latest","uglify-js":"latest","coveralls":"latest","contextify":"latest"},"scripts":{"test":"_mocha --reporter spec","coveralls":"istanbul cover _mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage"},"engines":{"node":">= 0.10"},"licenses":[{"type":"MIT","url":"http://github.com/chriso/validator.js/raw/master/LICENSE"}],"gitHead":"656bfdf1de75e4f39351831ed11efb9fc5a775d3","_id":"validator@3.33.0","_shasum":"cd406ee217a1ca37c3aa4e62a73f074444ff8dec","_from":"validator@3.33.0","_npmVersion":"2.6.1","_nodeVersion":"0.12.0","_npmUser":{"name":"cohara87","email":"cohara87@gmail.com"},"maintainers":[{"name":"cohara87","email":"cohara87@gmail.com"}],"dist":{"shasum":"cd406ee217a1ca37c3aa4e62a73f074444ff8dec","tarball":"http://registry.npmjs.org/validator/-/validator-3.33.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/validator/-/validator-3.33.0.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/validator/test/client-side.js","id":"validator/test/client-side.js","options":{},"isModule":true,"requiredModules":["assert","validator/validator.js","validator/validator.min.js"],"mtime":1425348502000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/validator/test/exports.js","id":"validator/test/exports.js","options":{},"isModule":true,"requiredModules":["assert","validator/validator.js","/Users/james/dev/maxwell-edi/node_modules/validator/package.json"],"mtime":1425348502000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/validator/test/sanitizers.js","id":"validator/test/sanitizers.js","options":{},"isModule":true,"requiredModules":["validator/validator.js","util/util.js"],"mtime":1425348502000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/validator/test/validators.js","id":"validator/test/validators.js","options":{},"isModule":true,"requiredModules":["validator/validator.js","util/util.js","contextify","assert","path","fs"],"mtime":1425348753000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/validator/validator.js","id":"validator/validator.js","options":{},"isModule":true,"mtime":1425348780000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/validator/validator.min.js","id":"validator/validator.min.js","options":{},"isModule":true,"mtime":1425348782000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/color-message.js","id":"winston/examples/color-message.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1420570773000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/couchdb.js","id":"winston/examples/couchdb.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/create-file.js","id":"winston/examples/create-file.js","options":{},"isModule":true,"requiredModules":["fs","path","winston/lib/winston.js"],"mtime":1422987293000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/custom-levels.js","id":"winston/examples/custom-levels.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/custom-pretty-print.js","id":"winston/examples/custom-pretty-print.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1422393573000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/exception.js","id":"winston/examples/exception.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/raw-mode.js","id":"winston/examples/raw-mode.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/regular-expressions.js","id":"winston/examples/regular-expressions.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/silly-levels.js","id":"winston/examples/silly-levels.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/examples/webhook-post.js","id":"winston/examples/webhook-post.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/common.js","id":"winston/lib/winston/common.js","options":{},"isModule":true,"requiredModules":["util/util.js","crypto","cycle/cycle.js","fs","winston/lib/winston/config.js"],"mtime":1422988225000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/config/cli-config.js","id":"winston/lib/winston/config/cli-config.js","options":{},"isModule":true,"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/config/npm-config.js","id":"winston/lib/winston/config/npm-config.js","options":{},"isModule":true,"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/config/syslog-config.js","id":"winston/lib/winston/config/syslog-config.js","options":{},"isModule":true,"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/config.js","id":"winston/lib/winston/config.js","options":{},"isModule":true,"requiredModules":["colors/colors.js","winston/lib/winston/config/cli-config.js","winston/lib/winston/config/npm-config.js","winston/lib/winston/config/syslog-config.js"],"mtime":1420570774000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/container.js","id":"winston/lib/winston/container.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston/common.js","winston/lib/winston.js","util/util.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/exception.js","id":"winston/lib/winston/exception.js","options":{},"isModule":true,"requiredModules":["os","stack-trace/lib/stack-trace.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/logger.js","id":"winston/lib/winston/logger.js","options":{},"isModule":true,"requiredModules":["events","util/util.js","async/lib/async.js","winston/lib/winston/config.js","winston/lib/winston/common.js","winston/lib/winston/exception.js","stream"],"mtime":1422988465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/transports/console.js","id":"winston/lib/winston/transports/console.js","options":{},"isModule":true,"requiredModules":["events","util/util.js","colors/colors.js","winston/lib/winston/common.js","winston/lib/winston/transports/transport.js"],"mtime":1422988225000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/transports/daily-rotate-file.js","id":"winston/lib/winston/transports/daily-rotate-file.js","options":{},"isModule":true,"requiredModules":["events","fs","path","util/util.js","colors/colors.js","winston/lib/winston/common.js","winston/lib/winston/transports/transport.js","stream"],"mtime":1422988225000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/transports/file.js","id":"winston/lib/winston/transports/file.js","options":{},"isModule":true,"requiredModules":["events","fs","path","util/util.js","async/lib/async.js","colors/colors.js","winston/lib/winston/common.js","winston/lib/winston/transports/transport.js","isstream/isstream.js","stream"],"mtime":1422988225000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/transports/http.js","id":"winston/lib/winston/transports/http.js","options":{},"isModule":true,"requiredModules":["util/util.js","winston/lib/winston.js","http","https","stream","winston/lib/winston/transports/transport.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/transports/memory.js","id":"winston/lib/winston/transports/memory.js","options":{},"isModule":true,"requiredModules":["events","util/util.js","colors/colors.js","winston/lib/winston/common.js","winston/lib/winston/transports/transport.js"],"mtime":1422988225000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/transports/transport.js","id":"winston/lib/winston/transports/transport.js","options":{},"isModule":true,"requiredModules":["events","util/util.js"],"mtime":1422988225000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/transports/webhook.js","id":"winston/lib/winston/transports/webhook.js","options":{},"isModule":true,"requiredModules":["events","http","https","util/util.js","cycle/cycle.js","winston/lib/winston/common.js","winston/lib/winston/transports/transport.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston/transports.js","id":"winston/lib/winston/transports.js","options":{},"isModule":true,"requiredModules":["fs","path","winston/lib/winston/common.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/lib/winston.js","id":"winston/lib/winston.js","options":{},"isModule":true,"requiredModules":["pkginfo/lib/pkginfo.js","winston/lib/winston/transports.js","winston/lib/winston/common.js","winston/lib/winston/exception.js","winston/lib/winston/config.js","winston/lib/winston/container.js","winston/lib/winston/logger.js","winston/lib/winston/transports/transport.js"],"mtime":1422988465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/examples/normal-usage.js","id":"colors/examples/normal-usage.js","options":{},"isModule":true,"requiredModules":["colors/lib/index.js"],"mtime":1412848997000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/examples/safe-string.js","id":"colors/examples/safe-string.js","options":{},"isModule":true,"requiredModules":["colors/safe.js"],"mtime":1412848997000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/colors.js","id":"colors/lib/colors.js","options":{},"isModule":true,"requiredModules":["colors/lib/styles.js","colors/lib/system/supports-colors.js","colors/lib/custom/trap.js","colors/lib/custom/zalgo.js","colors/lib/maps/america.js","colors/lib/maps/zebra.js","colors/lib/maps/rainbow.js","colors/lib/maps/random.js"],"mtime":1412848388000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/custom/trap.js","id":"colors/lib/custom/trap.js","options":{},"isModule":true,"mtime":1412160652000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/custom/zalgo.js","id":"colors/lib/custom/zalgo.js","options":{},"isModule":true,"mtime":1412161008000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/extendStringPrototype.js","id":"colors/lib/extendStringPrototype.js","options":{},"isModule":true,"requiredModules":["colors/lib/colors.js","colors/lib/styles.js"],"mtime":1412848548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/index.js","id":"colors/lib/index.js","options":{},"isModule":true,"requiredModules":["colors/lib/colors.js","colors/lib/extendStringPrototype.js"],"mtime":1412106146000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/maps/america.js","id":"colors/lib/maps/america.js","options":{},"isModule":true,"requiredModules":["colors/lib/colors.js"],"mtime":1412084866000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/maps/rainbow.js","id":"colors/lib/maps/rainbow.js","options":{},"isModule":true,"requiredModules":["colors/lib/colors.js"],"mtime":1412084787000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/maps/random.js","id":"colors/lib/maps/random.js","options":{},"isModule":true,"requiredModules":["colors/lib/colors.js"],"mtime":1412160487000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/maps/zebra.js","id":"colors/lib/maps/zebra.js","options":{},"isModule":true,"requiredModules":["colors/lib/colors.js"],"mtime":1412084488000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/styles.js","id":"colors/lib/styles.js","options":{},"isModule":true,"mtime":1412161252000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/lib/system/supports-colors.js","id":"colors/lib/system/supports-colors.js","options":{},"isModule":true,"mtime":1412106186000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/package.json","data":{"name":"colors","description":"get colors in your node.js console","version":"1.0.3","author":{"name":"Marak Squires"},"homepage":"https://github.com/Marak/colors.js","bugs":{"url":"https://github.com/Marak/colors.js/issues"},"keywords":["ansi","terminal","colors"],"repository":{"type":"git","url":"git+ssh://git@github.com/Marak/colors.js.git"},"license":"MIT","scripts":{"test":"node tests/basic-test.js && node tests/safe-test.js"},"engines":{"node":">=0.1.90"},"main":"./lib/index","readme":"# colors.js\n\n## get color and style in your node.js console\n\n<img src=\"https://github.com/Marak/colors.js/raw/master/screenshots/colors.png\"/>\n\n## Installation\n\n    npm install colors\n\n## colors and styles!\n\n### text colors\n\n  - black\n  - red\n  - green\n  - yellow\n  - blue\n  - magenta\n  - cyan\n  - white\n  - gray\n  - grey\n\n### background colors\n\n\n\n  - bgBlack\n  - bgRed\n  - bgGreen\n  - bgYellow\n  - bgBlue\n  - bgMagenta\n  - bgCyan\n  - bgWhite\n\n### styles\n\n  - reset\n  - bold\n  - dim\n  - italic\n  - underline\n  - inverse\n  - hidden\n  - strikethrough\n\n### extras\n\n  - rainbow\n  - zebra\n  - america\n  - trap\n  - random\n\n\n## Usage\n\nBy popular demand, `colors` now ships with two types of usages!\n\nThe super nifty way\n\n```js\nvar colors = require('colors');\n\nconsole.log('hello'.green); // outputs green text\nconsole.log('i like cake and pies'.underline.red) // outputs red underlined text\nconsole.log('inverse the color'.inverse); // inverses the color\nconsole.log('OMG Rainbows!'.rainbow); // rainbow\nconsole.log('Run the trap'.trap); // Drops the bass\n\n```\n\nor a slightly less nifty way which doesn't extend `String.prototype`\n\n```js\nvar colors = require('colors/safe');\n\nconsole.log(colors.green('hello')); // outputs green text\nconsole.log(colors.red.underline('i like cake and pies')) // outputs red underlined text\nconsole.log(colors.inverse('inverse the color')); // inverses the color\nconsole.log(colors.rainbow('OMG Rainbows!')); // rainbow\nconsole.log(colors.trap('Run the trap')); // Drops the bass\n\n```\n\nI prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way. \n\nIf you are writing good code you will never have an issue with the first approach. If you really don't want to touch `String.prototype`, the second usage will not touch `String` native object.\n\n## Disabling Colors\n\nTo disable colors you can pass the following arguments in the command line to your application:\n\n```bash\nnode myapp.js --no-color\n```\n\n## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data)\n\n```js\nvar name = 'Marak';\nconsole.log(colors.green('Hello %s'), name);\n// outputs -> 'Hello Marak'\n```\n\n## Custom themes\n\n### Using standard API\n\n```js\n\nvar colors = require('colors');\n\ncolors.setTheme({\n  silly: 'rainbow',\n  input: 'grey',\n  verbose: 'cyan',\n  prompt: 'grey',\n  info: 'green',\n  data: 'grey',\n  help: 'cyan',\n  warn: 'yellow',\n  debug: 'blue',\n  error: 'red'\n});\n\n// outputs red text\nconsole.log(\"this is an error\".error);\n\n// outputs yellow text\nconsole.log(\"this is a warning\".warn);\n```\n\n### Using string safe API\n\n```js\nvar colors = require('colors/safe');\n\n// set single property\nvar error = colors.red;\nerror('this is red');\n\n// set theme\ncolors.setTheme({\n  silly: 'rainbow',\n  input: 'grey',\n  verbose: 'cyan',\n  prompt: 'grey',\n  info: 'green',\n  data: 'grey',\n  help: 'cyan',\n  warn: 'yellow',\n  debug: 'blue',\n  error: 'red'\n});\n\n// outputs red text\nconsole.log(colors.error(\"this is an error\"));\n\n// outputs yellow text\nconsole.log(colors.warn(\"this is a warning\"));\n```\n\n*Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.*","readmeFilename":"ReadMe.md","_id":"colors@1.0.3","_shasum":"0433f44d809680fdeb60ed260f1b0c262e82a40b","_from":"colors@>=1.0.0 <1.1.0","_resolved":"https://registry.npmjs.org/colors/-/colors-1.0.3.tgz"},"mtime":1439487648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/safe.js","id":"colors/safe.js","options":{},"isModule":true,"requiredModules":["colors/lib/colors.js"],"mtime":1412106347000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/tests/basic-test.js","id":"colors/tests/basic-test.js","options":{},"isModule":true,"requiredModules":["assert","colors/lib/index.js"],"mtime":1412104588000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/tests/safe-test.js","id":"colors/tests/safe-test.js","options":{},"isModule":true,"requiredModules":["assert","colors/safe.js"],"mtime":1412089317000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/colors/themes/generic-logging.js","id":"colors/themes/generic-logging.js","options":{},"isModule":true,"mtime":1412106196000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/cycle/cycle.js","id":"cycle/cycle.js","options":{},"isModule":true,"mtime":1387218008000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/cycle/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/cycle/package.json","data":{"name":"cycle","description":"decycle your json","author":"","version":"1.0.3","main":"./cycle.js","homepage":"https://github.com/douglascrockford/JSON-js","repository":{"type":"git","url":"http://github.com/dscape/cycle.git"},"bugs":{"url":"http://github.com/douglascrockford/JSON-js/issues"},"keywords":["json","cycle","stringify","parse"],"engines":{"node":">=0.4.0"},"readme":"Fork of https://github.com/douglascrockford/JSON-js, maintained in npm as `cycle`.\n\n# Contributors\n\n* Douglas Crockford\n* Nuno Job\n* Justin Warkentin\n\n# JSON in JavaScript\n\nDouglas Crockford\ndouglas@crockford.com\n\n2010-11-18\n\n\nJSON is a light-weight, language independent, data interchange format.\nSee http://www.JSON.org/\n\nThe files in this collection implement JSON encoders/decoders in JavaScript.\n\nJSON became a built-in feature of JavaScript when the ECMAScript Programming\nLanguage Standard - Fifth Edition was adopted by the ECMA General Assembly\nin December 2009. Most of the files in this collection are for applications\nthat are expected to run in obsolete web browsers. For most purposes, json2.js\nis the best choice.\n\n\njson2.js: This file creates a JSON property in the global object, if there\nisn't already one, setting its value to an object containing a stringify\nmethod and a parse method. The parse method uses the eval method to do the\nparsing, guarding it with several regular expressions to defend against\naccidental code execution hazards. On current browsers, this file does nothing,\nprefering the built-in JSON object.\n\njson.js: This file does everything that json2.js does. It also adds a\ntoJSONString method and a parseJSON method to Object.prototype. Use of this\nfile is not recommended.\n\njson_parse.js: This file contains an alternative JSON parse function that\nuses recursive descent instead of eval.\n\njson_parse_state.js: This files contains an alternative JSON parse function that\nuses a state machine instead of eval.\n\ncycle.js: This file contains two functions, JSON.decycle and JSON.retrocycle,\nwhich make it possible to encode cyclical structures and dags in JSON, and to\nthen recover them. JSONPath is used to represent the links.\nhttp://GOESSNER.net/articles/JsonPath/\n","readmeFilename":"README.md","_id":"cycle@1.0.3","dist":{"shasum":"21e80b2be8580f98b468f379430662b046c34ad2","tarball":"http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz"},"_from":"cycle@>=1.0.0 <1.1.0","_npmVersion":"1.2.32","_npmUser":{"name":"dscape","email":"nunojobpinto@gmail.com"},"maintainers":[{"name":"dscape","email":"nunojobpinto@gmail.com"}],"directories":{},"_shasum":"21e80b2be8580f98b468f379430662b046c34ad2","_resolved":"https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/eyes/lib/eyes.js","id":"eyes/lib/eyes.js","options":{},"isModule":true,"mtime":1323389014000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/eyes/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/eyes/package.json","data":{"name":"eyes","description":"a customizable value inspector","url":"http://github.com/cloudhead/eyes.js","keywords":["inspector","debug","inspect","print"],"author":{"name":"Alexis Sellier","email":"self@cloudhead.net"},"contributors":[{"name":"Charlie Robbins","email":"charlie@nodejitsu.com"}],"licenses":["MIT"],"main":"./lib/eyes","version":"0.1.8","scripts":{"test":"node test/*-test.js"},"directories":{"lib":"./lib","test":"./test"},"engines":{"node":"> 0.1.90"},"_id":"eyes@0.1.8","dist":{"shasum":"62cf120234c683785d902348a800ef3e0cc20bc0","tarball":"http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz"},"_npmVersion":"1.1.53","_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"maintainers":[{"name":"cloudhead","email":"self@cloudhead.net"},{"name":"indexzero","email":"charlie.robbins@gmail.com"}],"_shasum":"62cf120234c683785d902348a800ef3e0cc20bc0","_resolved":"https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz","_from":"eyes@>=0.1.0 <0.2.0"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/eyes/test/eyes-test.js","id":"eyes/test/eyes-test.js","options":{},"isModule":true,"requiredModules":["util/util.js","eyes/lib/eyes.js"],"mtime":1323389041000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/isstream/isstream.js","id":"isstream/isstream.js","options":{},"isModule":true,"requiredModules":["stream"],"mtime":1396827239000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/isstream/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/isstream/package.json","data":{"name":"isstream","version":"0.1.2","description":"Determine if an object is a Stream","main":"isstream.js","scripts":{"test":"tar --xform 's/^package/readable-stream-1.0/' -zxf readable-stream-1.0.*.tgz && tar --xform 's/^package/readable-stream-1.1/' -zxf readable-stream-1.1.*.tgz && node test.js; rm -rf readable-stream-1.?/"},"repository":{"type":"git","url":"git+https://github.com/rvagg/isstream.git"},"keywords":["stream","type","streams","readable-stream","hippo"],"devDependencies":{"tape":"~2.12.3","core-util-is":"~1.0.0","isarray":"0.0.1","string_decoder":"~0.10.x","inherits":"~2.0.1"},"author":{"name":"Rod Vagg","email":"rod@vagg.org"},"license":"MIT","bugs":{"url":"https://github.com/rvagg/isstream/issues"},"homepage":"https://github.com/rvagg/isstream","readme":"# isStream\n\n[![Build Status](https://secure.travis-ci.org/rvagg/isstream.png)](http://travis-ci.org/rvagg/isstream)\n\n**Test if an object is a `Stream`**\n\n[![NPM](https://nodei.co/npm/isstream.svg)](https://nodei.co/npm/isstream/)\n\nThe missing `Stream.isStream(obj)`: determine if an object is standard Node.js `Stream`. Works for Node-core `Stream` objects (for 0.8, 0.10, 0.11, and in theory, older and newer versions) and all versions of **[readable-stream](https://github.com/isaacs/readable-stream)**.\n\n## Usage:\n\n```js\nvar isStream = require('isstream')\nvar Stream = require('stream')\n\nisStream(new Stream()) // true\n\nisStream({}) // false\n\nisStream(new Stream.Readable())    // true\nisStream(new Stream.Writable())    // true\nisStream(new Stream.Duplex())      // true\nisStream(new Stream.Transform())   // true\nisStream(new Stream.PassThrough()) // true\n```\n\n## But wait! There's more!\n\nYou can also test for `isReadable(obj)`, `isWritable(obj)` and `isDuplex(obj)` to test for implementations of Streams2 (and Streams3) base classes.\n\n```js\nvar isReadable = require('isstream').isReadable\nvar isWritable = require('isstream').isWritable\nvar isDuplex = require('isstream').isDuplex\nvar Stream = require('stream')\n\nisReadable(new Stream()) // false\nisWritable(new Stream()) // false\nisDuplex(new Stream())   // false\n\nisReadable(new Stream.Readable())    // true\nisReadable(new Stream.Writable())    // false\nisReadable(new Stream.Duplex())      // true\nisReadable(new Stream.Transform())   // true\nisReadable(new Stream.PassThrough()) // true\n\nisWritable(new Stream.Readable())    // false\nisWritable(new Stream.Writable())    // true\nisWritable(new Stream.Duplex())      // true\nisWritable(new Stream.Transform())   // true\nisWritable(new Stream.PassThrough()) // true\n\nisDuplex(new Stream.Readable())    // false\nisDuplex(new Stream.Writable())    // false\nisDuplex(new Stream.Duplex())      // true\nisDuplex(new Stream.Transform())   // true\nisDuplex(new Stream.PassThrough()) // true\n```\n\n*Reminder: when implementing your own streams, please [use **readable-stream** rather than core streams](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).*\n\n\n## License\n\n**isStream** is Copyright (c) 2015 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.\n","readmeFilename":"README.md","_id":"isstream@0.1.2","_shasum":"47e63f7af55afa6f92e1500e690eb8b8529c099a","_from":"isstream@>=0.1.1 <0.2.0","_resolved":"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/isstream/test.js","id":"isstream/test.js","options":{},"isModule":true,"requiredModules":["tape","events","util/util.js","isstream/isstream.js","stream","./readable-stream-1.0/","./readable-stream-1.1/"],"mtime":1396831146000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/all-properties.js","id":"examples/all-properties.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/array-argument.js","id":"examples/array-argument.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/multiple-properties.js","id":"examples/multiple-properties.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/object-argument.js","id":"examples/object-argument.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/package.json","data":{"name":"simple-app","description":"A test fixture for pkginfo","version":"0.1.0","author":"Charlie Robbins <charlie.robbins@gmail.com>","keywords":["test","fixture"],"main":"./index.js","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"}},"mtime":1358492246000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/single-property.js","id":"examples/single-property.js","options":{},"isModule":true,"requiredModules":["util/util.js","pkginfo/lib/pkginfo.js"],"mtime":1358492246000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/subdir/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/subdir/package.json","data":{"name":"simple-app-subdir","description":"A test fixture for pkginfo","version":"0.1.0","author":"Charlie Robbins <charlie.robbins@gmail.com>","keywords":["test","fixture"],"main":"./index.js","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"},"subdironly":"true"},"mtime":1358492402000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/examples/target-dir.js","id":"examples/target-dir.js","options":{},"isModule":true,"requiredModules":["util/util.js","path","pkginfo/lib/pkginfo.js"],"mtime":1358492402000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/lib/pkginfo.js","id":"pkginfo/lib/pkginfo.js","options":{},"isModule":true,"requiredModules":["fs","path"],"mtime":1358492402000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/package.json","data":{"name":"pkginfo","version":"0.3.0","description":"An easy way to expose properties on a module from a package.json","author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"repository":{"type":"git","url":"git+ssh://git@github.com/indexzero/node-pkginfo.git"},"keywords":["info","tools","package.json"],"devDependencies":{"vows":"0.7.x"},"main":"./lib/pkginfo","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"},"readme":"# node-pkginfo\n\nAn easy way to expose properties on a module from a package.json\n\n## Installation\n\n### Installing npm (node package manager)\n```\n  curl http://npmjs.org/install.sh | sh\n```\n\n### Installing pkginfo\n```\n  [sudo] npm install pkginfo\n```\n\n## Motivation\nHow often when writing node.js modules have you written the following line(s) of code? \n\n* Hard code your version string into your code\n\n``` js\n  exports.version = '0.1.0';\n```\n\n* Programmatically expose the version from the package.json\n\n``` js\n  exports.version = JSON.parse(fs.readFileSync('/path/to/package.json', 'utf8')).version;\n```\n\nIn other words, how often have you wanted to expose basic information from your package.json onto your module programmatically? **WELL NOW YOU CAN!**\n\n## Usage\n\nUsing `pkginfo` is idiot-proof, just require and invoke it. \n\n``` js\n  var pkginfo = require('pkginfo')(module);\n  \n  console.dir(module.exports);\n```\n\nBy invoking the `pkginfo` module all of the properties in your `package.json` file will be automatically exposed on the callee module (i.e. the parent module of `pkginfo`). \n\nHere's a sample of the output:\n\n```\n  { name: 'simple-app',\n    description: 'A test fixture for pkginfo',\n    version: '0.1.0',\n    author: 'Charlie Robbins <charlie.robbins@gmail.com>',\n    keywords: [ 'test', 'fixture' ],\n    main: './index.js',\n    scripts: { test: 'vows test/*-test.js --spec' },\n    engines: { node: '>= 0.4.0' } }\n```\n\n### Expose specific properties\nIf you don't want to expose **all** properties on from your `package.json` on your module then simple pass those properties to the `pkginfo` function:\n\n``` js\n  var pkginfo = require('pkginfo')(module, 'version', 'author');\n  \n  console.dir(module.exports);\n```\n\n```\n  { version: '0.1.0',\n    author: 'Charlie Robbins <charlie.robbins@gmail.com>' }\n```\n\nIf you're looking for further usage see the [examples][0] included in this repository. \n\n## Run Tests\nTests are written in [vows][1] and give complete coverage of all APIs.\n\n```\n  vows test/*-test.js --spec\n```\n\n[0]: https://github.com/indexzero/node-pkginfo/tree/master/examples\n[1]: http://vowsjs.org\n\n#### Author: [Charlie Robbins](http://nodejitsu.com)\n#### License: MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/indexzero/node-pkginfo/issues"},"homepage":"https://github.com/indexzero/node-pkginfo","_id":"pkginfo@0.3.0","_shasum":"726411401039fe9b009eea86614295d5f3a54276","_from":"pkginfo@>=0.3.0 <0.4.0","_resolved":"https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz"},"mtime":1439487647000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/pkginfo/test/pkginfo-test.js","id":"pkginfo/test/pkginfo-test.js","options":{},"isModule":true,"requiredModules":["assert","child_process","fs","path","vows","pkginfo/lib/pkginfo.js"],"mtime":1358492402000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/stack-trace/lib/stack-trace.js","id":"stack-trace/lib/stack-trace.js","options":{},"isModule":true,"mtime":1392892749000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/stack-trace/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/node_modules/stack-trace/package.json","data":{"author":{"name":"Felix Geisendörfer","email":"felix@debuggable.com","url":"http://debuggable.com/"},"name":"stack-trace","description":"Get v8 stack traces as an array of CallSite objects.","version":"0.0.9","homepage":"https://github.com/felixge/node-stack-trace","repository":{"type":"git","url":"git://github.com/felixge/node-stack-trace.git"},"main":"./lib/stack-trace","engines":{"node":"*"},"dependencies":{},"devDependencies":{"far":"0.0.3","long-stack-traces":"0.1.2"},"bugs":{"url":"https://github.com/felixge/node-stack-trace/issues"},"_id":"stack-trace@0.0.9","dist":{"shasum":"a8f6eaeca90674c333e7c43953f275b451510695","tarball":"http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz"},"_from":"stack-trace@>=0.0.0 <0.1.0","_npmVersion":"1.3.24","_npmUser":{"name":"sebastianhoitz","email":"hoitz@komola.de"},"maintainers":[{"name":"felixge","email":"felix@debuggable.com"},{"name":"tim-smart","email":"tim@fostle.com"},{"name":"sebastianhoitz","email":"hoitz@komola.de"}],"directories":{},"_shasum":"a8f6eaeca90674c333e7c43953f275b451510695","_resolved":"https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz"},"mtime":1439487647000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston/package.json","data":{"name":"winston","description":"A multi-transport async logging library for Node.js","version":"0.9.0","author":{"name":"Nodejitsu Inc.","email":"info@nodejitsu.com"},"maintainers":[{"name":"indexzero","email":"charlie.robbins@gmail.com"},{"name":"chjj","email":"chjjeffrey@gmail.com"},{"name":"jcrugzz","email":"jcrugzz@gmail.com"},{"name":"pose","email":"albertopose@gmail.com"},{"name":"v1","email":"info@3rd-Eden.com"},{"name":"3rdeden","email":"npm@3rd-Eden.com"}],"repository":{"type":"git","url":"https://github.com/flatiron/winston.git"},"keywords":["logging","sysadmin","tools"],"dependencies":{"async":"0.9.x","colors":"1.0.x","cycle":"1.0.x","eyes":"0.1.x","isstream":"0.1.x","pkginfo":"0.3.x","stack-trace":"0.0.x"},"devDependencies":{"hock":"1.x.x","std-mocks":"~1.0.0","vows":"0.7.x"},"main":"./lib/winston","scripts":{"test":"vows --spec --isolate"},"engines":{"node":">= 0.8.0"},"licenses":[{"type":"MIT","url":"https://raw.github.com/flatiron/winston/master/LICENSE"}],"gitHead":"bcd8b0d3fb5063aa9416e5a6edcb371ca34efd6e","bugs":{"url":"https://github.com/flatiron/winston/issues"},"homepage":"https://github.com/flatiron/winston","_id":"winston@0.9.0","_shasum":"b5726e6c42291e305e36286ce7ae9f3b74a527a8","_from":"winston@0.9.0","_npmVersion":"2.2.0","_nodeVersion":"0.10.33","_npmUser":{"name":"indexzero","email":"charlie.robbins@gmail.com"},"dist":{"shasum":"b5726e6c42291e305e36286ce7ae9f3b74a527a8","tarball":"http://registry.npmjs.org/winston/-/winston-0.9.0.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/winston/-/winston-0.9.0.tgz"},"mtime":1439487643000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/cli-test.js","id":"winston/test/cli-test.js","options":{},"isModule":true,"requiredModules":["path","vows","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/container-test.js","id":"winston/test/container-test.js","options":{},"isModule":true,"requiredModules":["assert","fs","http","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/custom-formatter-test.js","id":"winston/test/custom-formatter-test.js","options":{},"isModule":true,"requiredModules":["assert","events","fs","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1422394648000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/custom-pretty-print-test.js","id":"winston/test/custom-pretty-print-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","winston/lib/winston.js"],"mtime":1422393573000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/custom-timestamp-test.js","id":"winston/test/custom-timestamp-test.js","options":{},"isModule":true,"requiredModules":["assert","events","fs","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/exception-test.js","id":"winston/test/exception-test.js","options":{},"isModule":true,"requiredModules":["path","vows","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/fixtures/scripts/default-exceptions.js","id":"winston/test/fixtures/scripts/default-exceptions.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/fixtures/scripts/exit-on-error.js","id":"winston/test/fixtures/scripts/exit-on-error.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/fixtures/scripts/log-exceptions.js","id":"winston/test/fixtures/scripts/log-exceptions.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/fixtures/scripts/log-string-exception.js","id":"winston/test/fixtures/scripts/log-string-exception.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/fixtures/scripts/unhandle-exceptions.js","id":"winston/test/fixtures/scripts/unhandle-exceptions.js","options":{},"isModule":true,"requiredModules":["path","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/helpers.js","id":"winston/test/helpers.js","options":{},"isModule":true,"requiredModules":["assert","fs","path","child_process","util/util.js","vows","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/log-exception-test.js","id":"winston/test/log-exception-test.js","options":{},"isModule":true,"requiredModules":["assert","path","fs","child_process","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/log-filter-test.js","id":"winston/test/log-filter-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1422988465000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/log-rewriter-test.js","id":"winston/test/log-rewriter-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/logger-levels-test.js","id":"winston/test/logger-levels-test.js","options":{},"isModule":true,"requiredModules":["assert","vows","winston/lib/winston.js","util/util.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/logger-test.js","id":"winston/test/logger-test.js","options":{},"isModule":true,"requiredModules":["assert","path","util/util.js","std-mocks","vows","winston/lib/winston.js","winston/test/helpers.js","winston/test/transports/transport.js"],"mtime":1420570109000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/stress/http-server.js","id":"winston/test/stress/http-server.js","options":{},"isModule":true,"requiredModules":["http","path","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/console-test.js","id":"winston/test/transports/console-test.js","options":{},"isModule":true,"requiredModules":["path","vows","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/daily-rotate-file-test.js","id":"winston/test/transports/daily-rotate-file-test.js","options":{},"isModule":true,"requiredModules":["path","vows","fs","assert","winston/lib/winston.js","winston/test/helpers.js","winston/test/transports/transport.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/file-maxfiles-test.js","id":"winston/test/transports/file-maxfiles-test.js","options":{},"isModule":true,"requiredModules":["assert","child_process","fs","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/file-maxsize-test.js","id":"winston/test/transports/file-maxsize-test.js","options":{},"isModule":true,"requiredModules":["assert","child_process","fs","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/file-open-test.js","id":"winston/test/transports/file-open-test.js","options":{},"isModule":true,"requiredModules":["assert","fs","os","path","vows","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/file-stress-test.js","id":"winston/test/transports/file-stress-test.js","options":{},"isModule":true,"requiredModules":["assert","fs","os","path","vows","winston/lib/winston.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/file-tailrolling-test.js","id":"winston/test/transports/file-tailrolling-test.js","options":{},"isModule":true,"requiredModules":["assert","fs","path","vows","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1422395703000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/file-test.js","id":"winston/test/transports/file-test.js","options":{},"isModule":true,"requiredModules":["path","vows","fs","assert","winston/lib/winston.js","winston/test/helpers.js","winston/test/transports/transport.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/http-test.js","id":"winston/test/transports/http-test.js","options":{},"isModule":true,"requiredModules":["path","vows","http","fs","assert","winston/lib/winston.js","winston/test/helpers.js","hock","winston/test/transports/transport.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/memory-test.js","id":"winston/test/transports/memory-test.js","options":{},"isModule":true,"requiredModules":["path","vows","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/transport.js","id":"winston/test/transports/transport.js","options":{},"isModule":true,"requiredModules":["assert","winston/lib/winston.js","winston/test/helpers.js","winston/lib/winston/common.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/transports/webhook-test.js","id":"winston/test/transports/webhook-test.js","options":{},"isModule":true,"requiredModules":["path","vows","fs","http","https","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston/test/winston-test.js","id":"winston/test/winston-test.js","options":{},"isModule":true,"requiredModules":["fs","path","vows","http","assert","winston/lib/winston.js","winston/test/helpers.js"],"mtime":1419965266000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/lib/helpers.js","id":"winston-mongodb/lib/helpers.js","options":{},"isModule":true,"requiredModules":["winston/lib/winston/common.js"],"mtime":1406130990000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/lib/winston-mongodb.js","id":"winston-mongodb/lib/winston-mongodb.js","options":{},"isModule":true,"requiredModules":["util/util.js","os","muri/index.js","mongodb/lib/mongodb/index.js","winston/lib/winston.js","stream","winston-mongodb/lib/helpers.js"],"mtime":1415210583000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/node_modules/muri/index.js","id":"muri/index.js","options":{},"isModule":true,"requiredModules":["muri/lib/index.js"],"mtime":1351777976000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/node_modules/muri/lib/index.js","id":"muri/lib/index.js","options":{},"isModule":true,"requiredModules":["querystring","fs"],"mtime":1361123288000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/node_modules/muri/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/node_modules/muri/package.json","data":{"name":"muri","version":"0.3.1","description":"MongoDB URI parser","main":"index.js","scripts":{"test":"make test"},"repository":{"type":"git","url":"git://github.com/aheckmann/muri.git"},"keywords":["mongodb","uri","parser"],"author":{"name":"Aaron Heckmann","email":"aaron.heckmann+github@gmail.com"},"license":"MIT","devDependencies":{"mocha":"1.6.0"},"readme":"#Meet Muri!\n\nMuri is your friendly neighborhood [MongoDB URI](http://www.mongodb.org/display/DOCS/Connections) parser for Node.js.\n\n\n###Install\n\n    $ npm install muri\n\n###Use\n\n```js\n var muri = require('muri');\n var o = muri('mongodb://user:pass@local,remote:27018,japan:27019/neatdb?replicaSet=myreplset&journal=true&w=2&wtimeoutMS=50');\n\n console.log(o);\n\n { hosts: [ { host: 'local',  port: 27017 },\n            { host: 'remote', port: 27018 },\n            { host: 'japan',  port: 27019 } ],\n   db: 'neatdb',\n   options: {\n     replicaSet: 'myreplset',\n     journal: true,\n     w: 2,\n     wtimeoutMS: 50\n   },\n   auth: {\n     user: 'user',\n     pass: 'pass'\n   }\n }\n```\n\n### Details\n\nThe returned object contains the following properties:\n\n- db: the name of the database. defaults to \"admin\" if not specified\n- auth: if auth is specified, this object will exist `{ user: 'username', pass: 'password' }`\n- hosts: array of host/port objects, one for each specified `[{ host: 'local', port: 27107 }, { host: '..', port: port }]`\n  - if a port is not specified for a given host, the default port (27017) is used\n  - if a unix domain socket is passed, host/port will be undefined and `ipc` will be set to the value specified `[{ ipc: '/tmp/mongodb-27017' }]`\n- options: this is a hash of all options specified in the querystring\n\n[LICENSE](https://github.com/aheckmann/muri/blob/master/LICENSE)\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/aheckmann/muri/issues"},"homepage":"https://github.com/aheckmann/muri","_id":"muri@0.3.1","_from":"muri@0.3.x"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/node_modules/muri/test/index.js","id":"muri/test/index.js","options":{},"isModule":true,"requiredModules":["muri/index.js","assert"],"mtime":1361123417000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/package.json","data":{"name":"winston-mongodb","version":"0.5.3","description":"A MongoDB transport for winston","author":{"name":"Charlie Robbins","email":"charlie.robbins@gmail.com"},"contributors":[{"name":"Yurij Mikhalevich","email":"0@39.yt","url":"https://39.yt/"},{"name":"Kendrick Taylor","email":"sktayloriii@gmail.com,yosefd@microsoft.com"},{"name":"Steve Dalby","email":"steve@stevedalby.co.uk"}],"repository":{"type":"git","url":"http://github.com/indexzero/winston-mongodb.git"},"keywords":["logging","sysadmin","tools","winston","mongodb","log","logger"],"dependencies":{"mongodb":"1.4.x","muri":"0.3.x"},"devDependencies":{"winston":"0.8.x","vows":"0.7.x"},"main":"./lib/winston-mongodb","scripts":{"test":"vows test/*-test.js --spec"},"engines":{"node":">= 0.4.0"},"license":"MIT","readme":"# winston\n\nA MongoDB transport for [winston][0].\n\n## Motivation\n`tldr;?`: To break the [winston][0] codebase into small modules that work\ntogether.\n\nThe [winston][0] codebase has been growing significantly with contributions and\nother logging transports. This is **awesome**. However, taking a ton of\nadditional dependencies just to do something simple like logging to the Console\nand a File is overkill.  \n\n## Usage\n``` js\n  var winston = require('winston');\n  \n  //\n  // Requiring `winston-mongodb` will expose \n  // `winston.transports.MongoDB`\n  //\n  require('winston-mongodb').MongoDB;\n  \n  winston.add(winston.transports.MongoDB, options);\n```\n\nThe MongoDB transport takes the following options. 'db' is required:\n\n* __level:__ Level of messages that this transport should log, defaults to\n'info'.\n* __silent:__ Boolean flag indicating whether to suppress output, defaults to\nfalse.\n\n* __db:__ The name of the database you want to log to.\n* __collection__: The name of the collection you want to store log messages in,\ndefaults to 'logs'.\n* __safe:__ Boolean indicating if you want eventual consistency on your log\nmessages, if set to true it requires an extra round trip to the server to ensure the write was committed, defaults to true.\n* __nativeParser:__ Boolean indicating if you want the driver to use native\nparser feature or not.\n* __host:__ The host running MongoDB, defaults to localhost.\n* __port:__ The port on the host that MongoDB is running on, defaults to\nMongoDB's default port.\n* __username:__ The username to use when logging into MongoDB.\n* __password:__ The password to use when logging into MongoDB. If you don't\nsupply a username and password it will not use MongoDB authentication.\n* __errorTimeout:__  Reconnect timeout upon connection error from Mongo,\ndefaults to 10 seconds (10000).\n* __timeout:__ Timeout for keeping idle connection to Mongo alive, defaults to\n10 seconds (10000).\n* __storeHost:__ Boolean indicating if you want to store machine hostname in\nlogs entry, if set to true it populates MongoDB entry with 'hostname' field,\nwhich stores os.hostname() value.\n* __label:__ Label stored with entry object if defined.\n* __ssl:__ Boolean indicating if you want to use SSL connections or not.\n* __authDb:__ Authentication database object.\n* __replSet:__ Replica set name.\n* __hosts:__ Array of replica set hosts (in format\n`{host: 'string', port: 'number'}`)\n* __dbUri:__ Alternative way of specifying database connection data. Supported\nspecifying database, host, port, username, password and replica sets.\n* __name:__ Transport instance identifier. Useful if you need to create multiple MongoDB transports.\n\n*Notice:* __db__ is required. You should specify it directly or in __dbUri__.\n\n*ReplicaSet Notice:* If you use replica set, __db__, __replSet__ and __hosts__\nare required. They may also be specified in __dbUri__.\n\n*Metadata:* Logged as a native JSON object in meta property.\n\n*Logging unhandled exceptions:* For logging unhandled exceptions specify\nwinston-mongodb as `handleExceptions` logger according to winston documentation.\n\n## Querying and streaming logs\n\nBesides supporting the main options from winston, this transport supports the\nfollowing extra options:\n\n* __includeIds:__ Whether the returned logs should include the `_id` attribute\nsettled by mongodb, defaults to `false`.\n\n## Installation\n\n### Installing npm (node package manager)\n\n``` bash\n  $ curl http://npmjs.org/install.sh | sh\n```\n\n### Installing winston-mongodb\n\n``` bash\n  $ npm install winston\n  $ npm install winston-mongodb\n```\n\n## Changelog\n\n### Brief 0.5 changelog\n\n* metadata is now stored into separate property `meta`; so, there is no risk\nthat some of the metadata object's properties will conflict with logging entry\nproperties.\n\n#### Author: [Charlie Robbins](http://blog.nodejitsu.com)\n#### Contributors: [Yurij Mikhalevich](https://github.com/39dotyt), [Kendrick Taylor](https://github.com/sktaylor), [Yosef Dinerstein](https://github.com/yosefd), [Steve Dalby](https://github.com/stevedalby)\n\n[0]: https://github.com/flatiron/winston\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/indexzero/winston-mongodb/issues"},"homepage":"https://github.com/indexzero/winston-mongodb","_id":"winston-mongodb@0.5.3","_shasum":"482cc583dc7c22be9e726e25aa8fb3f66349a100","_from":"winston-mongodb@^0.5.1","_resolved":"https://registry.npmjs.org/winston-mongodb/-/winston-mongodb-0.5.3.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/test/fixtures/test-config.json","id":"winston-mongodb/test/fixtures/test-config.json","options":{},"isModule":true,"mtime":1400858415000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/test/replica-set-test.js","id":"winston-mongodb/test/replica-set-test.js","options":{},"isModule":true,"requiredModules":["vows","winston/lib/winston.js","winston/test/transports/transport.js","winston-mongodb/lib/winston-mongodb.js"],"mtime":1406130675000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/winston-mongodb/test/winston-mongodb-test.js","id":"winston-mongodb/test/winston-mongodb-test.js","options":{},"isModule":true,"requiredModules":["vows","winston/lib/winston.js","winston/test/transports/transport.js","winston-mongodb/lib/winston-mongodb.js"],"mtime":1406130718000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/examples/basic/child.js","id":"worker-farm/examples/basic/child.js","options":{},"isModule":true,"mtime":1357040254000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/examples/basic/index.js","id":"worker-farm/examples/basic/index.js","options":{},"isModule":true,"requiredModules":["worker-farm/lib/index.js"],"mtime":1357041535000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/examples/pi/calc.js","id":"worker-farm/examples/pi/calc.js","options":{},"isModule":true,"mtime":1357017440000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/examples/pi/index.js","id":"worker-farm/examples/pi/index.js","options":{},"isModule":true,"requiredModules":["os","worker-farm/lib/index.js","worker-farm/examples/pi/calc.js"],"mtime":1408169836000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/lib/child/index.js","id":"worker-farm/lib/child/index.js","options":{},"isModule":true,"mtime":1379394444000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/lib/farm.js","id":"worker-farm/lib/farm.js","options":{},"isModule":true,"requiredModules":["os","xtend/immutable.js","worker-farm/lib/fork.js","errno/errno.js"],"mtime":1408169836000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/lib/fork.js","id":"worker-farm/lib/fork.js","options":{},"isModule":true,"requiredModules":["child_process"],"mtime":1379395889000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/lib/index.js","id":"worker-farm/lib/index.js","options":{},"isModule":true,"requiredModules":["worker-farm/lib/farm.js"],"mtime":1377774548000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/build.js","id":"errno/build.js","options":{},"isModule":true,"requiredModules":["request/index.js","fs","errno/custom.js"],"mtime":1377477426000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/cli.js","id":"errno/cli.js","options":{},"isModule":true,"requiredModules":["errno/errno.js"],"mtime":1347071600000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/custom.js","id":"errno/custom.js","options":{},"isModule":true,"requiredModules":["prr/prr.js"],"mtime":1394584520000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/errno.js","id":"errno/errno.js","options":{},"isModule":true,"requiredModules":["errno/custom.js"],"mtime":1377477914000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/node_modules/prr/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/node_modules/prr/package.json","data":{"name":"prr","description":"A better Object.defineProperty()","version":"0.0.0","homepage":"https://github.com/rvagg/prr","authors":["Rod Vagg <rod@vagg.org> (https://github.com/rvagg)"],"keywords":["property","properties","defineProperty","ender"],"main":"./prr.js","repository":{"type":"git","url":"https://github.com/rvagg/prr.git"},"dependencies":{},"devDependencies":{"tap":"*"},"scripts":{"test":"node ./test.js"},"license":"MIT","readme":"# prr [![Build Status](https://secure.travis-ci.org/rvagg/prr.png)](http://travis-ci.org/rvagg/prr)\n\nAn sensible alternative to `Object.defineProperty()`. Available in npm and Ender as **prr**.\n\n## Usage\n\nSet the property `'foo'` (`obj.foo`) to have the value `'bar'` with default options (*enumerable, configurable and writable are all false*):\n\n```js\nprr(obj, 'foo', 'bar')\n```\n\nAdjust the default options:\n\n```js\nprr(obj, 'foo', 'bar', { enumerable: true, writable: true })\n```\n\nDo the same operation for multiple properties:\n\n```js\nprr(obj, { one: 'one', two: 'two' })\n// or with options:\nprr(obj, { one: 'one', two: 'two' }, { enumerable: true, writable: true })\n```\n\nBut obviously, having to write out the full options object makes it nearly as bad as the original `Object.defineProperty()` so we can **simplify**.\n\nAs an alternative method we can use an options string where each character represents a option: `'e'=='enumerable'`, `'c'=='configurable'` and `'w'=='writable'`:\n\n```js\nprr(obj, 'foo', 'bar', 'ew') // enumerable and writable but not configurable\n// muliple properties:\nprr(obj, { one: 'one', two: 'two' }, 'ewc') // configurable too\n```\n\n## Where can I use it?\n\nAnywhere! For pre-ES5 environments *prr* will simply fall-back to an `object[property] = value` so you can get close to what you want.\n\n*prr* is Ender-compatible so you can include it in your Ender build and `$.prr(...)` or `var prr = require('prr'); prr(...)`.\n\n## Licence\n\nprr is Copyright (c) 2013 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licensed under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/prr/issues"},"_id":"prr@0.0.0","_shasum":"1a84b85908325501411853d0081ee3fa86e2926a","_from":"prr@~0.0.0","_resolved":"https://registry.npmjs.org/prr/-/prr-0.0.0.tgz"},"mtime":1415897190000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/node_modules/prr/prr.js","id":"prr/prr.js","options":{},"isModule":true,"mtime":1364836844000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/node_modules/prr/test.js","id":"prr/test.js","options":{},"isModule":true,"requiredModules":["tap","prr/prr.js"],"mtime":1364836816000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/package.json","data":{"name":"errno","authors":["Rod Vagg @rvagg <rod@vagg.org> (https://github.com/rvagg)"],"description":"libuv errno details exposed","keywords":["errors","errno","libuv"],"version":"0.1.1","main":"errno.js","dependencies":{"prr":"~0.0.0"},"bin":{"errno":"./cli.js"},"devDependencies":{"request":"*"},"repository":{"type":"git","url":"https://github.com/rvagg/node-errno.git"},"license":"MIT","scripts":{"test":"node ./test.js"},"readme":"# node-errno\n\nBetter [libuv](https://github.com/joyent/libuv)/[Node.js](http://nodejs.org) error handling & reporting. Available in npm as *errno*.\n\n* [errno exposed](#errnoexposed)\n* [Custom errors](#customerrors)\n\n<a name=\"errnoexposed\"></a>\n## errno exposed\n\nEver find yourself needing more details about Node.js errors? Me too, so *node-errno* contains the errno mappings direct from libuv so you can use them in your code.\n\n**By errno:**\n\n```js\nrequire('errno').errno[3]\n// → {\n//     \"errno\": 3,\n//     \"code\": \"EACCES\",\n//     \"description\": \"permission denied\"\n//   }\n```\n\n**By code:**\n\n```js\nrequire('errno').code.ENOTEMPTY\n// → {\n//     \"errno\": 53,\n//     \"code\": \"ENOTEMPTY\",\n//     \"description\": \"directory not empty\"\n//   }\n```\n\n**Make your errors more descriptive:**\n\n```js\nvar errno = require('errno')\n\nfunction errmsg(err) {\n    var str = 'Error: '\n    // if it's a libuv error then get the description from errno\n    if (errno.errno[err.errno]) {\n        str += errno.errno[err.errno].description\n    } else {\n        str += err.message\n    }\n    \n    // if it's a `fs` error then it'll have a 'path' property\n    if (err.path) {\n        str += ' [' + err.path + ']'\n    }\n    return str\n}\n\nvar fs = require('fs')\n\nfs.readFile('thisisnotarealfile.txt', function (err, data) {\n    if (err)\n        return console.log(errmsg(err))\n})\n```\n\n**Use as a command line tool:**\n\n```\n~ $ errno 53\n{\n  \"errno\": 53,\n  \"code\": \"ENOTEMPTY\",\n  \"description\": \"directory not empty\"\n}\n~ $ errno EROFS\n{\n  \"errno\": 56,\n  \"code\": \"EROFS\",\n  \"description\": \"read-only file system\"\n}\n~ $ errno foo\nNo such errno/code: \"foo\"\n```\n\nSupply no arguments for the full list. Error codes are processed case-insensitive.\n\nYou will need to install with `npm install errno -g` if you want the `errno` command to be available without supplying a full path to the node_modules installation.\n\n<a name=\"customerrors\"></a>\n## Custom errors\n\nUse `errno.custom.createError()` to create custom `Error` objects to throw around in your Node.js library. Create error heirachies so `instanceof` becomes a useful tool in tracking errors. Call-stack is correctly captured at the time you create an instance of the error object, plus a `cause` property will make available the original error object if you pass one in to the constructor.\n\n```js\nvar errno = require('errno')\nvar MyError = errno.custom.createError('MyError') // inherits from Error\nvar SpecificError = errno.custom.createError('SpecificError', MyError) // inherits from MyError\nvar OtherError = errno.custom.createError('OtherError', MyError)\n\n// use them!\nif (condition) throw new SpecificError('Eeek! Something bad happened')\n\nif (err) return callback(new OtherError(err))\n```\n\nAlso available is a `errno.custom.FilesystemError` with in-built access to errno properties:\n\n```js\nfs.readFile('foo', function (err, data) {\n  if (err) return callback(new errno.custom.FilesystemError(err))\n  // do something else\n})\n```\n\nThe resulting error object passed through the callback will have the following properties: `code`, `errno`, `path` and `message` will contain a descriptive human-readable message.\n\n## Contributors\n\n* [bahamas10](https://github.com/bahamas10) (Dave Eddy) - Added CLI\n\n## Copyright & Licence\n\n*Copyright (c) 2012 [Rod Vagg](https://github.com/rvagg) ([@rvagg](https://twitter.com/rvagg))*\n\nMade available under the MIT licence:\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is furnished\nto do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/node-errno/issues"},"homepage":"https://github.com/rvagg/node-errno","_id":"errno@0.1.1","_shasum":"fda4aae52d07f67c741e50a5a50612786f9d0ed3","_from":"errno@>=0.1.1 <0.2.0-0","_resolved":"https://registry.npmjs.org/errno/-/errno-0.1.1.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/errno/test.js","id":"errno/test.js","options":{},"isModule":true,"requiredModules":["assert","errno/errno.js"],"mtime":1377477953000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/xtend/immutable.js","id":"xtend/immutable.js","options":{},"isModule":true,"mtime":1406840914000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/xtend/mutable.js","id":"xtend/mutable.js","options":{},"isModule":true,"mtime":1406840914000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/xtend/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/xtend/package.json","data":{"name":"xtend","version":"4.0.0","description":"extend like a boss","keywords":["extend","merge","options","opts","object","array"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/xtend.git"},"main":"immutable","scripts":{"test":"node test"},"dependencies":{},"devDependencies":{"tape":"~1.1.0"},"homepage":"https://github.com/Raynos/xtend","contributors":[{"name":"Jake Verbaten"},{"name":"Matt Esch"}],"bugs":{"url":"https://github.com/Raynos/xtend/issues","email":"raynos2@gmail.com"},"licenses":[{"type":"MIT","url":"http://github.com/raynos/xtend/raw/master/LICENSE"}],"testling":{"files":"test.js","browsers":["ie/7..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest"]},"engines":{"node":">=0.4"},"readme":"# xtend\n\n[![browser support][3]][4]\n\n[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges)\n\nExtend like a boss\n\nxtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence.\n\n## Examples\n\n```js\nvar extend = require(\"xtend\")\n\n// extend returns a new object. Does not mutate arguments\nvar combination = extend({\n    a: \"a\",\n    b: 'c'\n}, {\n    b: \"b\"\n})\n// { a: \"a\", b: \"b\" }\n```\n\n## Stability status: Locked\n\n## MIT Licenced\n\n\n  [3]: http://ci.testling.com/Raynos/xtend.png\n  [4]: http://ci.testling.com/Raynos/xtend\n","readmeFilename":"README.md","_id":"xtend@4.0.0","_shasum":"8bc36ff87aedbe7ce9eaf0bca36b2354a743840f","_from":"xtend@>=4.0.0 <4.1.0-0","_resolved":"https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"},"mtime":1415897189000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/node_modules/xtend/test.js","id":"xtend/test.js","options":{},"isModule":true,"requiredModules":["tape","xtend/immutable.js","xtend/mutable.js"],"mtime":1406840914000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/package.json","data":{"name":"worker-farm","description":"Distribute processing tasks to child processes with an über-simple API and baked-in durability & custom concurrency options.","version":"1.0.1","homepage":"https://github.com/rvagg/node-worker-farm","authors":["Rod Vagg @rvagg <rod@vagg.org> (https://github.com/rvagg)"],"keywords":["worker","child","processing","farm"],"main":"./lib/index.js","repository":{"type":"git","url":"https://github.com/rvagg/node-worker-farm.git"},"dependencies":{"errno":">=0.1.1 <0.2.0-0","xtend":">=4.0.0 <4.1.0-0"},"devDependencies":{"tape":">=2.14.0 <2.15.0-0"},"scripts":{"test":"node ./tests/"},"license":"MIT","readme":"# Worker Farm [![Build Status](https://secure.travis-ci.org/rvagg/node-worker-farm.png)](http://travis-ci.org/rvagg/node-worker-farm)\n\n[![NPM](https://nodei.co/npm/worker-farm.png?downloads=true&stars=true)](https://nodei.co/npm/worker-farm/) [![NPM](https://nodei.co/npm-dl/worker-farm.png?months=6)](https://nodei.co/npm/worker-farm/)\n\n\nDistribute processing tasks to child processes with an über-simple API and baked-in durability & custom concurrency options. *Available in npm as <strong>worker-farm</strong>*.\n\n## Example\n\nGiven a file, *child.js*:\n\n```js\nmodule.exports = function (inp, callback) {\n  callback(null, inp + ' BAR (' + process.pid + ')')\n}\n```\n\nAnd a main file:\n\n```js\nvar workerFarm = require('worker-farm')\n  , workers    = workerFarm(require.resolve('./child'))\n  , ret        = 0\n\nfor (var i = 0; i < 10; i++) {\n  workers('#' + i + ' FOO', function (err, outp) {\n    console.log(outp)\n    if (++ret == 10)\n      workerFarm.end(workers)\n  })\n}\n```\n\nWe'll get an output something like the following:\n\n```\n#1 FOO BAR (8546)\n#0 FOO BAR (8545)\n#8 FOO BAR (8545)\n#9 FOO BAR (8546)\n#2 FOO BAR (8548)\n#4 FOO BAR (8551)\n#3 FOO BAR (8549)\n#6 FOO BAR (8555)\n#5 FOO BAR (8553)\n#7 FOO BAR (8557)\n```\n\nThis example is contained in the *[examples/basic](https://github.com/rvagg/node-worker-farm/tree/master/examples/basic/)* directory.\n\n### Example #1: Estimating π using child workers\n\nYou will also find a more complex example in *[examples/pi](https://github.com/rvagg/node-worker-farm/tree/master/examples/pi/)* that estimates the value of **π** by using a Monte Carlo *area-under-the-curve* method and compares the speed of doing it all in-process vs using child workers to complete separate portions.\n\nRunning `node examples/pi` will give you something like:\n\n```\nDoing it the slow (single-process) way...\nπ ≈ 3.1416269360000006  (0.0000342824102075312 away from actual!)\ntook 8341 milliseconds\nDoing it the fast (multi-process) way...\nπ ≈ 3.1416233600000036  (0.00003070641021052367 away from actual!)\ntook 1985 milliseconds\n```\n\n## Durability\n\nAn important feature of Worker Farm is **call durability**. If a child process dies for any reason during the execution of call(s), those calls will be re-queued and taken care of by other child processes. In this way, when you ask for something to be done, unless there is something *seriously* wrong with what you're doing, you should get a result on your callback function.\n\n## My use-case\n\nThere are other libraries for managing worker processes available but my use-case was fairly specific: I need to make heavy use of the [node-java](https://github.com/nearinfinity/node-java) library to interact with JVM code. Unfortunately, because the JVM garbage collector is so difficult to interact with, it's prone to killing your Node process when the GC kicks under heavy load. For safety I needed a durable way to make calls so that (1) it wouldn't kill my main process and (2) any calls that weren't successful would be resubmitted for processing.\n\nWorker Farm allows me to spin up multiple JVMs to be controlled by Node, and have a single, uncomplicated API that acts the same way as an in-process API and the calls will be taken care of by a child process even if an error kills a child process while it is working as the call will simply be passed to a new child process.\n\n**But**, don't think that Worker Farm is specific to that use-case, it's designed to be very generic and simple to adapt to anything requiring the use of child Node processes.\n\n## API\n\nWorker Farm exports a main function an an `end()` method. The main function sets up a \"farm\" of coordinated child-process workers and it can be used to instantiate multiple farms, all operating independently.\n\n### workerFarm([options, ]pathToModule[, exportedMethods])\n\nIn its most basic form, you call `workerFarm()` with the path to a module file to be invoked by the child process. You should use an **absolute path** to the module file, the best way to obtain the path is with `require.resolve('./path/to/module')`, this function can be used in exactly the same way as `require('./path/to/module')` but it returns an absolute path.\n\n#### `exportedMethods`\n\nIf your module exports a single function on `module.exports` then you should omit the final parameter. However, if you are exporting multiple functions on `module.exports` then you should list them in an Array of Strings:\n\n```js\nvar workers = workerFarm(require.resolve('./mod'), [ 'doSomething', 'doSomethingElse' ])\nworkers.doSomething(function () {})\nworkers.doSomethingElse(function () {})\n```\n\nListing the available methods will instruct Worker Farm what API to provide you with on the returned object. If you don't list a `exportedMethods` Array then you'll get a single callable function to use; but if you list the available methods then you'll get an object with callable functions by those names.\n\n**It is assumed that each function you call on your child module will take a `callback` function as the last argument.**\n\n#### `options`\n\nIf you don't provide an `options` object then the following defaults will be used:\n\n```js\n{\n    maxCallsPerWorker           : Infinity\n  , maxConcurrentWorkers        : require('os').cpus().length\n  , maxConcurrentCallsPerWorker : 10\n  , maxConcurrentCalls          : Infinity\n  , maxCallTime                 : Infinity\n}\n```\n\n  * **<code>maxCallsPerWorker</code>** allows you to control the lifespan of your child processes. A positive number will indicate that you only want each child to accept that many calls before it is terminated. This may be useful if you need to control memory leaks or similar in child processes.\n\n  * **<code>maxConcurrentWorkers</code>** will set the number of child processes to maintain concurrently. By default it is set to the number of CPUs available on the current system, but it can be any reasonable number, including `1`.\n\n  * **<code>maxConcurrentCallsPerWorker</code>** allows you to control the *concurrency* of individual child processes. Calls are placed into a queue and farmed out to child processes according to the number of calls they are allowed to handle concurrently. It is arbitrarily set to 10 by default so that calls are shared relatively evenly across workers, however if your calls predictably take a similar amount of time then you could set it to `Infinity` and Worker Farm won't queue any calls but spread them evenly across child processes and let them go at it. If your calls aren't I/O bound then it won't matter what value you use here as the individual workers won't be able to execute more than a single call at a time.\n\n  * **<code>maxConcurrentCalls</code>** allows you to control the maximum number of calls in the queue&mdash;either actively being processed or waiting for a worker to be processed. `Infinity` indicates no limit but if you have conditions that may endlessly queue jobs and you need to set a limit then provide a `>0` value and any calls that push the limit will return on their callback with a `MaxConcurrentCallsError` error (check `err.type == 'MaxConcurrentCallsError'`).\n\n  * **<code>maxCallTime</code>** *(use with caution, understand what this does before you use it!)* when `!== Infinity`, will cap a time, in milliseconds, that *any single call* can take to execute in a worker. If this time limit is exceeded by just a single call then the worker running that call will be killed and any calls running on that worker will have their callbacks returned with a `TimeoutError` (check `err.type == 'TimeoutError'`). If you are running with `maxConcurrentCallsPerWorker` value greater than `1` then **all calls currently executing** will fail and not be automatically resubmitted. Use this if you have jobs that may potentially end in infinite loops that you can't programatically end with your child code. Preferably run this with a `maxConcurrentCallsPerWorker` so you don't interrupt other calls when you have a timeout. This timeout operates on a per-call basis but will interrupt a whole worker.\n\n### workerFarm.end(farm)\n\nChild processes stay alive waiting for jobs indefinitely and your farm manager will stay alive managing its workers, so if you need it to stop then you have to do so explicitly. If you send your farm API to `workerFarm.end()` then it'll cleanly end your worker processes. Note though that it's a *soft* ending so it'll wait for child processes to finish what they are working on before asking them to die.\n\nAny calls that are queued and not yet being handled by a child process will be discarded. `end()` only waits for those currently in progress.\n\nOnce you end a farm, it won't handle any more calls, so don't even try!\n\n\n## License\n\nWorker Farm is Copyright (c) 2014 Rod Vagg [@rvagg](https://twitter.com/rvagg) and licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/rvagg/node-worker-farm/issues"},"_id":"worker-farm@1.0.1","_shasum":"358837e0187c9795eb6d7a07fe00fc956fbbf6ae","_from":"worker-farm@^1.0.1","_resolved":"https://registry.npmjs.org/worker-farm/-/worker-farm-1.0.1.tgz"},"mtime":1415897187000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/tests/child.js","id":"worker-farm/tests/child.js","options":{},"isModule":true,"mtime":1379394946000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/worker-farm/tests/index.js","id":"worker-farm/tests/index.js","options":{},"isModule":true,"requiredModules":["tape","worker-farm/lib/index.js"],"mtime":1379398079000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/att.js","id":"xml2js/att.js","options":{},"isModule":true,"requiredModules":["xml2js/lib/xml2js.js"],"mtime":1403552874000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/Depp.js","id":"xml2js/Depp.js","options":{},"isModule":true,"requiredModules":["util/util.js","fs","xml2js/lib/xml2js.js"],"mtime":1421595478000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/incompat2.js","id":"xml2js/incompat2.js","options":{},"isModule":true,"requiredModules":["xml2js/lib/xml2js.js"],"mtime":1385336236000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/lib/bom.js","id":"xml2js/lib/bom.js","options":{},"isModule":true,"requiredModules":["xml2js/lib/xml2js.js"],"mtime":1426425950000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/lib/processors.js","id":"xml2js/lib/processors.js","options":{},"isModule":true,"mtime":1426425950000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/lib/xml2js.js","id":"xml2js/lib/xml2js.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js","events","xmlbuilder/lib/index.js","xml2js/lib/bom.js","xml2js/lib/processors.js"],"mtime":1426425950000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/examples/example.js","id":"sax/examples/example.js","options":{},"isModule":true,"requiredModules":["fs","util/util.js","path","sax/lib/sax.js"],"mtime":1357492957000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/examples/get-products.js","id":"sax/examples/get-products.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js","fs","path","util/util.js","http"],"mtime":1320543013000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/examples/hello-world.js","id":"sax/examples/hello-world.js","options":{},"isModule":true,"requiredModules":["http"],"mtime":1320543013000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/examples/pretty-print.js","id":"sax/examples/pretty-print.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js","fs","path"],"mtime":1319428513000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/lib/sax.js","id":"sax/lib/sax.js","options":{},"isModule":true,"requiredModules":["stream","string_decoder/index.js"],"mtime":1413308074000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/package.json","data":{"name":"sax","description":"An evented streaming XML parser in JavaScript","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"version":"0.6.1","main":"lib/sax.js","license":"BSD","scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/isaacs/sax-js.git"},"contributors":[{"name":"Isaac Z. Schlueter","email":"i@izs.me"},{"name":"Stein Martin Hustad","email":"stein@hustad.com"},{"name":"Mikeal Rogers","email":"mikeal.rogers@gmail.com"},{"name":"Laurie Harper","email":"laurie@holoweb.net"},{"name":"Jann Horn","email":"jann@Jann-PC.fritz.box"},{"name":"Elijah Insua","email":"tmpvar@gmail.com"},{"name":"Henry Rawas","email":"henryr@schakra.com"},{"name":"Justin Makeig","email":"jmpublic@makeig.com"},{"name":"Mike Schilling","email":"mike@emotive.com"}],"gitHead":"d6f66de8782a00e5f72eb1b3b13e5796eddcf121","bugs":{"url":"https://github.com/isaacs/sax-js/issues"},"homepage":"https://github.com/isaacs/sax-js","_id":"sax@0.6.1","_shasum":"563b19c7c1de892e09bfc4f2fc30e3c27f0952b9","_from":"sax@>=0.6.0 <0.7.0","_npmVersion":"2.1.3","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"dist":{"shasum":"563b19c7c1de892e09bfc4f2fc30e3c27f0952b9","tarball":"http://registry.npmjs.org/sax/-/sax-0.6.1.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/sax/-/sax-0.6.1.tgz"},"mtime":1439487645000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/attribute-name.js","id":"sax/test/attribute-name.js","options":{},"isModule":true,"mtime":1366665960000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/attribute-no-space.js","id":"sax/test/attribute-no-space.js","options":{},"isModule":true,"mtime":1386287383000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/buffer-overrun.js","id":"sax/test/buffer-overrun.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js"],"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/case.js","id":"sax/test/case.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/cdata-chunked.js","id":"sax/test/cdata-chunked.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/cdata-end-split.js","id":"sax/test/cdata-end-split.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/cdata-fake-end.js","id":"sax/test/cdata-fake-end.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/cdata-multiple.js","id":"sax/test/cdata-multiple.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/cdata.js","id":"sax/test/cdata.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/cyrillic.js","id":"sax/test/cyrillic.js","options":{},"isModule":true,"mtime":1357498148000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/duplicate-attribute.js","id":"sax/test/duplicate-attribute.js","options":{},"isModule":true,"mtime":1357498138000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/emoji.js","id":"sax/test/emoji.js","options":{},"isModule":true,"mtime":1388680250000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/end_empty_stream.js","id":"sax/test/end_empty_stream.js","options":{},"isModule":true,"requiredModules":["assert","sax/lib/sax.js"],"mtime":1386287075000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/entities.js","id":"sax/test/entities.js","options":{},"isModule":true,"mtime":1357498124000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/entity-mega.js","id":"sax/test/entity-mega.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js"],"mtime":1357498115000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/flush.js","id":"sax/test/flush.js","options":{},"isModule":true,"mtime":1386549475000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/index.js","id":"sax/test/index.js","options":{},"isModule":true,"requiredModules":["util/util.js","assert","fs","path","sax/lib/sax.js"],"mtime":1324057127000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/issue-23.js","id":"sax/test/issue-23.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/issue-30.js","id":"sax/test/issue-30.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/issue-35.js","id":"sax/test/issue-35.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/issue-47.js","id":"sax/test/issue-47.js","options":{},"isModule":true,"mtime":1357593113000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/issue-49.js","id":"sax/test/issue-49.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/issue-84.js","id":"sax/test/issue-84.js","options":{},"isModule":true,"mtime":1357498101000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/parser-position.js","id":"sax/test/parser-position.js","options":{},"isModule":true,"requiredModules":["sax/lib/sax.js","assert"],"mtime":1316220482000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/script-close-better.js","id":"sax/test/script-close-better.js","options":{},"isModule":true,"mtime":1357498085000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/script.js","id":"sax/test/script.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/self-closing-child-strict.js","id":"sax/test/self-closing-child-strict.js","options":{},"isModule":true,"mtime":1357497857000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/self-closing-child.js","id":"sax/test/self-closing-child.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/self-closing-tag.js","id":"sax/test/self-closing-tag.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/stray-ending.js","id":"sax/test/stray-ending.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/trailing-attribute-no-value.js","id":"sax/test/trailing-attribute-no-value.js","options":{},"isModule":true,"mtime":1357498062000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/trailing-non-whitespace.js","id":"sax/test/trailing-non-whitespace.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/unclosed-root.js","id":"sax/test/unclosed-root.js","options":{},"isModule":true,"mtime":1357498036000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/unquoted.js","id":"sax/test/unquoted.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/utf8-split.js","id":"sax/test/utf8-split.js","options":{},"isModule":true,"requiredModules":["assert","sax/lib/sax.js"],"mtime":1377100256000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-as-tag-name.js","id":"sax/test/xmlns-as-tag-name.js","options":{},"isModule":true,"mtime":1386286998000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-issue-41.js","id":"sax/test/xmlns-issue-41.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-rebinding.js","id":"sax/test/xmlns-rebinding.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-strict.js","id":"sax/test/xmlns-strict.js","options":{},"isModule":true,"mtime":1357497955000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-unbound-element.js","id":"sax/test/xmlns-unbound-element.js","options":{},"isModule":true,"mtime":1366931421000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-unbound.js","id":"sax/test/xmlns-unbound.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-ns.js","id":"sax/test/xmlns-xml-default-ns.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js","id":"sax/test/xmlns-xml-default-prefix-attribute.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-prefix.js","id":"sax/test/xmlns-xml-default-prefix.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-redefine.js","id":"sax/test/xmlns-xml-default-redefine.js","options":{},"isModule":true,"mtime":1357497822000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/index.js","id":"xmlbuilder/lib/index.js","options":{},"isModule":true,"requiredModules":["lodash/object/assign.js","xmlbuilder/lib/XMLBuilder.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLAttribute.js","id":"xmlbuilder/lib/XMLAttribute.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLBuilder.js","id":"xmlbuilder/lib/XMLBuilder.js","options":{},"isModule":true,"requiredModules":["xmlbuilder/lib/XMLStringifier.js","xmlbuilder/lib/XMLDeclaration.js","xmlbuilder/lib/XMLDocType.js","xmlbuilder/lib/XMLElement.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLCData.js","id":"xmlbuilder/lib/XMLCData.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLComment.js","id":"xmlbuilder/lib/XMLComment.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDeclaration.js","id":"xmlbuilder/lib/XMLDeclaration.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isObject.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocType.js","id":"xmlbuilder/lib/XMLDocType.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isObject.js","xmlbuilder/lib/XMLCData.js","xmlbuilder/lib/XMLComment.js","xmlbuilder/lib/XMLDTDAttList.js","xmlbuilder/lib/XMLDTDEntity.js","xmlbuilder/lib/XMLDTDElement.js","xmlbuilder/lib/XMLDTDNotation.js","xmlbuilder/lib/XMLProcessingInstruction.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDAttList.js","id":"xmlbuilder/lib/XMLDTDAttList.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDElement.js","id":"xmlbuilder/lib/XMLDTDElement.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isArray.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDEntity.js","id":"xmlbuilder/lib/XMLDTDEntity.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isObject.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDNotation.js","id":"xmlbuilder/lib/XMLDTDNotation.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLElement.js","id":"xmlbuilder/lib/XMLElement.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","lodash/lang/isObject.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/collection/every.js","xmlbuilder/lib/XMLNode.js","xmlbuilder/lib/XMLAttribute.js","xmlbuilder/lib/XMLProcessingInstruction.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNode.js","id":"xmlbuilder/lib/XMLNode.js","options":{},"isModule":true,"requiredModules":["lodash/lang/isObject.js","lodash/lang/isArray.js","lodash/lang/isFunction.js","lodash/lang/isEmpty.js","xmlbuilder/lib/XMLElement.js","xmlbuilder/lib/XMLCData.js","xmlbuilder/lib/XMLComment.js","xmlbuilder/lib/XMLDeclaration.js","xmlbuilder/lib/XMLDocType.js","xmlbuilder/lib/XMLRaw.js","xmlbuilder/lib/XMLText.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","id":"xmlbuilder/lib/XMLProcessingInstruction.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLRaw.js","id":"xmlbuilder/lib/XMLRaw.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLStringifier.js","id":"xmlbuilder/lib/XMLStringifier.js","options":{},"isModule":true,"mtime":1432713636000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLText.js","id":"xmlbuilder/lib/XMLText.js","options":{},"isModule":true,"requiredModules":["lodash/object/create.js","xmlbuilder/lib/XMLNode.js"],"mtime":1432713636000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/xml2js/node_modules/xmlbuilder/package.json","data":{"name":"xmlbuilder","version":"2.6.4","keywords":["xml","xmlbuilder"],"homepage":"http://github.com/oozcitak/xmlbuilder-js","description":"An XML builder for node.js","author":{"name":"Ozgur Ozcitak","email":"oozcitak@gmail.com"},"contributors":[],"license":"MIT","repository":{"type":"git","url":"git://github.com/oozcitak/xmlbuilder-js.git"},"bugs":{"url":"http://github.com/oozcitak/xmlbuilder-js/issues"},"main":"./lib/index","engines":{"node":">=0.8.0"},"dependencies":{"lodash":"^3.5.0"},"devDependencies":{"coffee-script":"*","mocha":"*"},"scripts":{"prepublish":"coffee -co lib src","postpublish":"rm -rf lib","test":"mocha --ui tdd --reporter dot --compilers coffee:coffee-script/register --require test/common/common"},"gitHead":"803f50e03f7afdc3a990e259a113f36d5a06f420","_id":"xmlbuilder@2.6.4","_shasum":"8123ac1576d9c66918f410496f1fe9f028b8ca3e","_from":"xmlbuilder@>=2.4.6","_npmVersion":"1.4.28","_npmUser":{"name":"oozcitak","email":"oozcitak@gmail.com"},"maintainers":[{"name":"oozcitak","email":"oozcitak@gmail.com"}],"dist":{"shasum":"8123ac1576d9c66918f410496f1fe9f028b8ca3e","tarball":"http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz"},"directories":{},"_resolved":"https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz"},"mtime":1439487645000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/package.json","id":"/Users/james/dev/maxwell-edi/node_modules/xml2js/package.json","data":{"name":"xml2js","description":"Simple XML to JavaScript object converter.","keywords":["xml","json"],"homepage":"https://github.com/Leonidas-from-XIV/node-xml2js","version":"0.4.6","author":{"name":"Marek Kubica","email":"marek@xivilization.net","url":"http://xivilization.net"},"contributors":[{"name":"maqr","email":"maqr.lollerskates@gmail.com","url":"https://github.com/maqr"},{"name":"Ben Weaver","url":"http://benweaver.com/"},{"name":"Jae Kwon","url":"https://github.com/jaekwon"},{"name":"Jim Robert"},{"name":"Ștefan Rusu","url":"http://www.saltwaterc.eu/"},{"name":"Carter Cole","email":"carter.cole@cartercole.com","url":"http://cartercole.com/"},{"name":"Kurt Raschke","email":"kurt@kurtraschke.com","url":"http://www.kurtraschke.com/"},{"name":"Contra","email":"contra@australia.edu","url":"https://github.com/Contra"},{"name":"Marcelo Diniz","email":"marudiniz@gmail.com","url":"https://github.com/mdiniz"},{"name":"Michael Hart","url":"https://github.com/mhart"},{"name":"Zachary Scott","email":"zachary@zacharyscott.net","url":"http://zacharyscott.net/"},{"name":"Raoul Millais","url":"https://github.com/raoulmillais"},{"name":"Salsita Software","url":"http://www.salsitasoft.com/"},{"name":"Mike Schilling","email":"mike@emotive.com","url":"http://www.emotive.com/"},{"name":"Jackson Tian","email":"shyvo1987@gmail.com","url":"http://weibo.com/shyvo"},{"name":"Mikhail Zyatin","email":"mikhail.zyatin@gmail.com","url":"https://github.com/Sitin"},{"name":"Chris Tavares","email":"ctavares@microsoft.com","url":"https://github.com/christav"},{"name":"Frank Xu","email":"yyfrankyy@gmail.com","url":"http://f2e.us/"},{"name":"Guido D'Albore","email":"guido@bitstorm.it","url":"http://www.bitstorm.it/"},{"name":"Jack Senechal","url":"http://jacksenechal.com/"},{"name":"Matthias Hölzl","email":"tc@xantira.com","url":"https://github.com/hoelzl"},{"name":"Camille Reynders","email":"info@creynders.be","url":"http://www.creynders.be/"},{"name":"Taylor Gautier","url":"https://github.com/tsgautier"},{"name":"Todd Bryan","url":"https://github.com/toddrbryan"},{"name":"Leore Avidar","email":"leore.avidar@gmail.com","url":"http://leoreavidar.com/"},{"name":"Dave Aitken","email":"dave.aitken@gmail.com","url":"http://www.actionshrimp.com/"},{"name":"Shaney Orrowe","email":"shaney.orrowe@practiceweb.co.uk"},{"name":"Candle","email":"candle@candle.me.uk"},{"name":"Jess Telford","email":"hi@jes.st","url":"http://jes.st"},{"name":"Tom Hughes","email":"<tom@compton.nu","url":"http://compton.nu/"},{"name":"Piotr Rochala","url":"http://rocha.la/"}],"main":"./lib/xml2js","directories":{"lib":"./lib"},"scripts":{"test":"zap"},"repository":{"type":"git","url":"https://github.com/Leonidas-from-XIV/node-xml2js.git"},"dependencies":{"sax":"0.6.x","xmlbuilder":">=2.4.6"},"devDependencies":{"coffee-script":">=1.9.0","zap":">=0.2.6","docco":">=0.6.2","diff":">=1.0.8"},"licenses":[{"type":"MIT","url":"https://raw.github.com/Leonidas-from-XIV/node-xml2js/master/LICENSE"}],"gitHead":"9678bba6ee805685781d69053c271129d25c5647","bugs":{"url":"https://github.com/Leonidas-from-XIV/node-xml2js/issues"},"_id":"xml2js@0.4.6","_shasum":"a0416c6f0c5246113f4706557a0bb64fff3786eb","_from":"xml2js@0.4.6","_npmVersion":"2.7.0","_nodeVersion":"1.5.1","_npmUser":{"name":"leonidas","email":"marek@xivilization.net"},"maintainers":[{"name":"leonidas","email":"marek@xivilization.net"}],"dist":{"shasum":"a0416c6f0c5246113f4706557a0bb64fff3786eb","tarball":"http://registry.npmjs.org/xml2js/-/xml2js-0.4.6.tgz"},"_resolved":"https://registry.npmjs.org/xml2js/-/xml2js-0.4.6.tgz"},"mtime":1439487642000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/node_modules/xml2js/x.js","id":"xml2js/x.js","options":{},"isModule":true,"requiredModules":["util/util.js","xml2js/lib/xml2js.js"],"mtime":1416682937000},{"type":"ProjectConfiguration","path":"/Users/james/dev/maxwell-edi/package.json","id":"/Users/james/dev/maxwell-edi/package.json","data":{"name":"maxwell-edi","version":"0.9.0","description":"","main":"server.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"https://github.com/DailyFeats/maxwell-edi.git"},"author":"","license":"ISC","bugs":{"url":"https://github.com/DailyFeats/maxwell-edi/issues"},"homepage":"https://github.com/DailyFeats/maxwell-edi","dependencies":{"MD5":"1.2.1","allong.es":"0.14.0","archiver":"^0.15.1","async":"0.9.0","aws-sdk":"2.1.17","basic-auth":"1.0.0","bluebird":"2.9.25","body-parser":"1.12.0","coffee-script":"1.9.1","connect-timeout":"^1.6.2","cookie-parser":"1.3.4","cors":"^2.7.1","cron-parser":"0.6.1","csv-parse":"0.0.9","deep-diff":"0.3.0","dot-component":"0.1.1","ejs":"2.3.1","express":"4.12.2","fast-csv":"^0.4.4","fs-extra":"0.16.4","ftps":"git://github.com/N0S3NS3/node-ftps.git","handlebars":"3.0.0","hat":"0.0.3","keen.io":"0.1.3","lodash":"3.9.3","mathjs":"1.4.0","mcrypt":"0.0.13","mkdirp":"^0.5.1","moment":"2.9.0","moment-timezone":"0.3.0","mongodb":"1.4.33","mongoose":"3.8.24","mongoose-q":"0.0.16","mongoose-rest-endpoints":"git://github.com/enspencer/mongoose-rest-endpoints.git","msexcel-builder-colorfix":"0.0.2","mv":"2.0.3","nan":"1.9.0","php-unserialize":"0.0.1","plotly":"^1.0.2","ps-node":"0.0.3","q":"1.2.0","random-string":"0.1.2","request":"2.58.0","request-promise":"^0.4.3","requestretry":"^1.5.0","sendgrid":"1.6.0","shelljs":"0.3.0","slug":"0.8.0","superagent":"0.21.0","timekeeper":"0.0.5","to-csv":"0.0.3","underscore":"1.8.2","validator":"3.33.0","winston":"0.9.0","xml2js":"0.4.6"},"devDependencies":{"colors":"^1.0.3","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-clean":"^0.6.0","grunt-exec":"^0.4.5","nock":"^2.13.0","node-json-minify":"^0.1.3-a","should":"^4.0.4","should-sinon":"0.0.3","sinon":"^1.10.2","supertest":"^0.13.0"}},"mtime":1446725536000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/process.js","id":"maxwell-edi/process.js","options":{},"isModule":true,"requiredModules":["coffee-script/register.js","maxwell-edi/lib/bootProcess.js"],"mtime":1424897459000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/angular-growl.js","id":"maxwell-edi/public/js/angular-growl.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/api-auth.js","id":"maxwell-edi/public/js/api-auth.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/autocomplete.js","id":"maxwell-edi/public/js/autocomplete.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/dashboard.js","id":"maxwell-edi/public/js/dashboard.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/errors.js","id":"maxwell-edi/public/js/errors.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/guardian.js","id":"maxwell-edi/public/js/guardian.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/integrations.js","id":"maxwell-edi/public/js/integrations.js","options":{},"isModule":true,"mtime":1440776467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/reportForm.js","id":"maxwell-edi/public/js/reportForm.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/reports.js","id":"maxwell-edi/public/js/reports.js","options":{},"isModule":true,"mtime":1415815449000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/public/js/tradelink.js","id":"maxwell-edi/public/js/tradelink.js","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/server.js","id":"maxwell-edi/server.js","options":{},"isModule":true,"requiredModules":["coffee-script/register.js","./lib/bootServer"],"mtime":1440776467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/test/_assets/bamboohr.sample.json","id":"maxwell-edi/test/_assets/bamboohr.sample.json","options":{},"isModule":true,"mtime":1440776467000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/test/modules/ChangeReports/expected.json","id":"maxwell-edi/test/modules/ChangeReports/expected.json","options":{},"isModule":true,"mtime":1427308592000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/test/modules/MapMyBenefits/rankedProducts.json","id":"maxwell-edi/test/modules/MapMyBenefits/rankedProducts.json","options":{},"isModule":true,"mtime":1444217620000},{"type":"JS","path":"/Users/james/dev/maxwell-edi/test.js","id":"maxwell-edi/test.js","options":{},"isModule":true,"requiredModules":["q/q.js"],"mtime":1439378060000}]}