diff --git a/README.md b/README.md index 25a7ef08..e7362b98 100644 --- a/README.md +++ b/README.md @@ -256,7 +256,6 @@ stepFunctions: ``` Configuring the cors property sets Access-Control-Allow-Origin, Access-Control-Allow-Headers, Access-Control-Allow-Methods,Access-Control-Allow-Credentials headers in the CORS preflight response. - To enable the Access-Control-Max-Age preflight response header, set the maxAge property in the cors object: ```yml @@ -272,6 +271,73 @@ stepFunctions: maxAge: 86400 ``` +#### HTTP Endpoints with AWS_IAM Authorizers + +If you want to require that the caller submit the IAM user's access keys in order to be authenticated to invoke your Lambda Function, set the authorizer to AWS_IAM as shown in the following example: + +```yml +stepFunctions: + stateMachines: + hello: + events: + - http: + path: posts/create + method: POST + authorizer: aws_iam + definition: +``` + +#### HTTP Endpoints with Custom Authorizers + +[Custom Authorizers](https://serverless.com/framework/docs/providers/aws/events/apigateway/#http-endpoints-with-custom-authorizers) allow you to run an AWS Lambda Function before your targeted AWS Lambda Function. This is useful for Microservice Architectures or when you simply want to do some Authorization before running your business logic. + +You can enable Custom Authorizers for your HTTP endpoint by setting the Authorizer in your http event to another function in the same service, as shown in the following example: + +```yml +stepFunctions: + stateMachines: + hello: + - http: + path: posts/create + method: post + authorizer: authorizerFunc + definition: +``` + +If the Authorizer function does not exist in your service but exists in AWS, you can provide the ARN of the Lambda function instead of the function name, as shown in the following example: + +```yml +stepFunctions: + stateMachines: + hello: + - http: + path: posts/create + method: post + authorizer: xxx:xxx:Lambda-Name + definition: +``` + +### Share Authorizer + +Auto-created Authorizer is convenient for conventional setup. However, when you need to define your custom Authorizer, or use COGNITO_USER_POOLS authorizer with shared API Gateway, it is painful because of AWS limitation. Sharing Authorizer is a better way to do. + +```yml +stepFunctions: + stateMachines: + createUser: + ... + events: + - http: + path: /users + ... + authorizer: + # Provide both type and authorizerId + type: COGNITO_USER_POOLS # TOKEN, CUSTOM or COGNITO_USER_POOLS, same as AWS Cloudformation documentation + authorizerId: + Ref: ApiGatewayAuthorizer # or hard-code Authorizer ID +``` + + #### Customizing request body mapping templates The plugin generates default body mapping templates for `application/json` and `application/x-www-form-urlencoded` content types. If you'd like to add more content types or customize the default ones, you can do so by including them in `serverless.yml`: diff --git a/lib/deploy/events/apiGateway/methods.js b/lib/deploy/events/apiGateway/methods.js index 3072c666..6257a808 100644 --- a/lib/deploy/events/apiGateway/methods.js +++ b/lib/deploy/events/apiGateway/methods.js @@ -2,6 +2,7 @@ const BbPromise = require('bluebird'); const _ = require('lodash'); +const awsArnRegExs = require('../../../utils/arnRegularExpressions'); module.exports = { @@ -26,7 +27,8 @@ module.exports = { _.merge(template, this.getMethodIntegration(event.stateMachineName, stateMachineObj, event.http), - this.getMethodResponses(event.http) + this.getMethodResponses(event.http), + this.getMethodAuthorization(event.http) ); const methodLogicalId = this.provider.naming @@ -179,4 +181,51 @@ module.exports = { return methodResponse; }, + + getMethodAuthorization(http) { + if (_.get(http, 'authorizer.type') === 'AWS_IAM') { + return { + Properties: { + AuthorizationType: 'AWS_IAM', + }, + }; + } + + if (http.authorizer) { + if (http.authorizer.type && http.authorizer.authorizerId) { + return { + Properties: { + AuthorizationType: http.authorizer.type, + AuthorizerId: http.authorizer.authorizerId, + }, + }; + } + + const authorizerLogicalId = this.provider.naming + .getAuthorizerLogicalId(http.authorizer.name || http.authorizer); + + let authorizationType; + const authorizerArn = http.authorizer.arn; + if (typeof authorizerArn === 'string' + && awsArnRegExs.cognitoIdpArnExpr.test(authorizerArn)) { + authorizationType = 'COGNITO_USER_POOLS'; + } else { + authorizationType = 'CUSTOM'; + } + + return { + Properties: { + AuthorizationType: authorizationType, + AuthorizerId: { Ref: authorizerLogicalId }, + }, + DependsOn: authorizerLogicalId, + }; + } + + return { + Properties: { + AuthorizationType: 'NONE', + }, + }; + }, }; diff --git a/lib/deploy/events/apiGateway/methods.test.js b/lib/deploy/events/apiGateway/methods.test.js index dd588039..fbcd2ed7 100644 --- a/lib/deploy/events/apiGateway/methods.test.js +++ b/lib/deploy/events/apiGateway/methods.test.js @@ -242,4 +242,75 @@ describe('#methods()', () => { .to.equal('\'*\''); }); }); + + describe('#getMethodAuthorization()', () => { + it('should return properties with AuthorizationType: NONE if no authorizer provided', () => { + const event = { + path: 'foo/bar1', + method: 'post', + }; + + expect(serverlessStepFunctions.getMethodAuthorization(event) + .Properties.AuthorizationType).to.equal('NONE'); + }); + + it('should return resource properties with AuthorizationType: AWS_IAM', () => { + const event = { + authorizer: { + type: 'AWS_IAM', + authorizerId: 'foo12345', + }, + }; + + expect(serverlessStepFunctions.getMethodAuthorization(event) + .Properties.AuthorizationType).to.equal('AWS_IAM'); + }); + + it('should return properties with AuthorizationType: CUSTOM and authotizerId', () => { + const event = { + authorizer: { + type: 'CUSTOM', + authorizerId: 'foo12345', + }, + }; + + expect(serverlessStepFunctions.getMethodAuthorization(event) + .Properties.AuthorizationType).to.equal('CUSTOM'); + expect(serverlessStepFunctions.getMethodAuthorization(event) + .Properties.AuthorizerId).to.equal('foo12345'); + }); + + it('should return properties with AuthorizationType: CUSTOM and resource reference', () => { + const event = { + authorizer: { + name: 'authorizer', + arn: { 'Fn::GetAtt': ['SomeLambdaFunction', 'Arn'] }, + resultTtlInSeconds: 300, + identitySource: 'method.request.header.Authorization', + }, + }; + + const autorization = serverlessStepFunctions.getMethodAuthorization(event); + expect(autorization.Properties.AuthorizationType) + .to.equal('CUSTOM'); + + expect(autorization.Properties.AuthorizerId) + .to.deep.equal({ Ref: 'AuthorizerApiGatewayAuthorizer' }); + }); + + it('should return properties with AuthorizationType: COGNITO_USER_POOLS', () => { + const event = { + authorizer: { + name: 'authorizer', + arn: 'arn:aws:cognito-idp:us-east-1:xxx:userpool/us-east-1_ZZZ', + }, + }; + + const autorization = serverlessStepFunctions.getMethodAuthorization(event); + expect(autorization.Properties.AuthorizationType) + .to.equal('COGNITO_USER_POOLS'); + expect(autorization.Properties.AuthorizerId) + .to.deep.equal({ Ref: 'AuthorizerApiGatewayAuthorizer' }); + }); + }); }); diff --git a/lib/deploy/events/apiGateway/validate.js b/lib/deploy/events/apiGateway/validate.js index 1fb43def..8c3cd39f 100644 --- a/lib/deploy/events/apiGateway/validate.js +++ b/lib/deploy/events/apiGateway/validate.js @@ -1,6 +1,7 @@ 'use strict'; const NOT_FOUND = -1; const _ = require('lodash'); +const awsArnRegExs = require('../../../utils/arnRegularExpressions'); module.exports = { httpValidate() { @@ -15,6 +16,10 @@ module.exports = { http.path = this.getHttpPath(http, stateMachineName); http.method = this.getHttpMethod(http, stateMachineName); + if (http.authorizer) { + http.authorizer = this.getAuthorizer(http, stateMachineName); + } + if (http.cors) { http.cors = this.getCors(http); @@ -107,6 +112,123 @@ module.exports = { throw new this.serverless.classes.Error(errorMessage); }, + getIntegration(http, stateMachineName) { + if (http.integration) { + // normalize the integration for further processing + const normalizedIntegration = http.integration.toUpperCase().replace('-', '_'); + const allowedIntegrations = [ + 'LAMBDA_PROXY', 'LAMBDA', 'AWS', 'AWS_PROXY', 'HTTP', 'HTTP_PROXY', 'MOCK', + ]; + + // check if the user has entered a non-valid integration + if (allowedIntegrations.indexOf(normalizedIntegration) === NOT_FOUND) { + const errorMessage = [ + `Invalid APIG integration "${http.integration}"`, + ` in function "${stateMachineName}".`, + ' Supported integrations are:', + ' lambda, lambda-proxy, aws, aws-proxy, http, http-proxy, mock.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + } + if (normalizedIntegration === 'LAMBDA') { + return 'AWS'; + } else if (normalizedIntegration === 'LAMBDA_PROXY') { + return 'AWS_PROXY'; + } + return normalizedIntegration; + } + return 'AWS_PROXY'; + }, + + getAuthorizer(http, functionName) { + const authorizer = http.authorizer; + + let type; + let name; + let arn; + let identitySource; + let resultTtlInSeconds; + let identityValidationExpression; + let claims; + let authorizerId; + + if (typeof authorizer === 'string') { + if (authorizer.toUpperCase() === 'AWS_IAM') { + type = 'AWS_IAM'; + } else if (authorizer.indexOf(':') === -1) { + name = authorizer; + arn = this.getLambdaArn(authorizer); + } else { + arn = authorizer; + name = this.provider.naming.extractAuthorizerNameFromArn(arn); + } + } else if (typeof authorizer === 'object') { + if (authorizer.type && authorizer.authorizerId) { + type = authorizer.type; + authorizerId = authorizer.authorizerId; + } else if (authorizer.type && authorizer.type.toUpperCase() === 'AWS_IAM') { + type = 'AWS_IAM'; + } else if (authorizer.arn) { + arn = authorizer.arn; + if (_.isString(authorizer.name)) { + name = authorizer.name; + } else { + name = this.provider.naming.extractAuthorizerNameFromArn(arn); + } + } else if (authorizer.name) { + name = authorizer.name; + arn = this.getLambdaArn(name); + } else { + throw new this.serverless.classes.Error('Please provide either an authorizer name or ARN'); + } + + if (!type) { + type = authorizer.type; + } + + resultTtlInSeconds = Number.parseInt(authorizer.resultTtlInSeconds, 10); + resultTtlInSeconds = Number.isNaN(resultTtlInSeconds) ? 300 : resultTtlInSeconds; + claims = authorizer.claims || []; + + identitySource = authorizer.identitySource; + identityValidationExpression = authorizer.identityValidationExpression; + } else { + const errorMessage = [ + `authorizer property in function ${functionName} is not an object nor a string.`, + ' The correct format is: authorizer: functionName', + ' OR an object containing a name property.', + ' Please check the docs for more info.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + } + + if (typeof identitySource === 'undefined') { + identitySource = 'method.request.header.Authorization'; + } + + const integration = this.getIntegration(http); + if (integration === 'AWS_PROXY' + && typeof arn === 'string' + && awsArnRegExs.cognitoIdpArnExpr.test(arn) + && authorizer.claims) { + const errorMessage = [ + 'Cognito claims can only be filtered when using the lambda integration type', + ]; + throw new this.serverless.classes.Error(errorMessage); + } + + return { + type, + name, + arn, + authorizerId, + resultTtlInSeconds, + identitySource, + identityValidationExpression, + claims, + }; + }, + getCors(http) { const headers = [ 'Content-Type', @@ -164,4 +286,10 @@ module.exports = { return cors; }, + + getLambdaArn(name) { + this.serverless.service.getFunction(name); + const lambdaLogicalId = this.provider.naming.getLambdaLogicalId(name); + return { 'Fn::GetAtt': [lambdaLogicalId, 'Arn'] }; + }, }; diff --git a/lib/deploy/events/apiGateway/validate.test.js b/lib/deploy/events/apiGateway/validate.test.js index 5e9edf2f..2d44e8b9 100644 --- a/lib/deploy/events/apiGateway/validate.test.js +++ b/lib/deploy/events/apiGateway/validate.test.js @@ -219,6 +219,355 @@ describe('#httpValidate()', () => { expect(validated.events[1].http).to.have.property('path', 'foo/bar'); }); + it('should throw if an authorizer is an invalid value', () => { + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: true, + }, + }, + ], + }, + }, + }; + + expect(() => serverlessStepFunctions.httpValidate()).to.throw(Error); + }); + + it('should throw if an authorizer is an empty object', () => { + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: {}, + }, + }, + ], + }, + }, + }; + + expect(() => serverlessStepFunctions.httpValidate()).to.throw(Error); + }); + + it('should throw if an cognito claims are being with a lambda proxy', () => { + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + integration: 'lambda-proxy', + authorizer: { + arn: 'arn:aws:cognito-idp:us-east-1:xxx:userpool/us-east-1_ZZZ', + claims: [ + 'email', + 'nickname', + ], + }, + }, + }, + ], + }, + }, + }; + + expect(() => serverlessStepFunctions.httpValidate()).to.throw(Error); + }); + + it('should throw if an integration is not supported', () => { + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + integration: 'fake', + authorizer: { + arn: 'arn:aws:cognito-idp:us-east-1:xxx:userpool/us-east-1_ZZZ', + }, + }, + }, + ], + }, + }, + }; + + expect(() => serverlessStepFunctions.httpValidate()).to.throw(Error); + }); + + it('should accept AWS_IAM as authorizer', () => { + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + foo: {}, + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: 'aws_iam', + }, + }, + ], + }, + second: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: { + type: 'aws_iam', + }, + }, + }, + ], + }, + }, + }; + + const validated = serverlessStepFunctions.httpValidate(); + expect(validated.events).to.be.an('Array').with.length(2); + expect(validated.events[0].http.authorizer.type).to.equal('AWS_IAM'); + expect(validated.events[1].http.authorizer.type).to.equal('AWS_IAM'); + }); + + it('should accept an authorizer as a string', () => { + serverlessStepFunctions.serverless.service.functions = { + foo: {}, + }; + + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: 'foo', + }, + }, + ], + }, + second: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: 'sss:dev-authorizer', + }, + }, + ], + }, + }, + }; + + const validated = serverlessStepFunctions.httpValidate(); + expect(validated.events).to.be.an('Array').with.length(2); + expect(validated.events[0].http.authorizer.name).to.equal('foo'); + expect(validated.events[0].http.authorizer.arn).to.deep.equal({ + 'Fn::GetAtt': [ + 'FooLambdaFunction', + 'Arn', + ], + }); + expect(validated.events[1].http.authorizer.name).to.equal('authorizer'); + expect(validated.events[1].http.authorizer.arn).to.equal('sss:dev-authorizer'); + }); + + it('should set authorizer defaults', () => { + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: { + arn: 'sss:dev-authorizer', + }, + }, + }, + ], + }, + }, + }; + + const validated = serverlessStepFunctions.httpValidate(); + const authorizer = validated.events[0].http.authorizer; + expect(authorizer.resultTtlInSeconds).to.equal(300); + expect(authorizer.identitySource).to.equal('method.request.header.Authorization'); + }); + + it('should accept authorizer config', () => { + serverlessStepFunctions.serverless.service.functions = { + foo: {}, + }; + + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + integration: 'LAMBDA', + authorizer: { + name: 'foo', + resultTtlInSeconds: 500, + identitySource: 'method.request.header.Custom', + identityValidationExpression: 'foo', + }, + }, + }, + ], + }, + }, + }; + + const validated = serverlessStepFunctions.httpValidate(); + const authorizer = validated.events[0].http.authorizer; + expect(authorizer.resultTtlInSeconds).to.equal(500); + expect(authorizer.identitySource).to.equal('method.request.header.Custom'); + expect(authorizer.identityValidationExpression).to.equal('foo'); + }); + + it('should accept authorizer config with a type', () => { + serverlessStepFunctions.serverless.service.functions = { + foo: {}, + }; + + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + integration: 'MOCK', + authorizer: { + name: 'foo', + type: 'request', + resultTtlInSeconds: 500, + identitySource: 'method.request.header.Custom', + identityValidationExpression: 'foo', + }, + }, + }, + ], + }, + }, + }; + + const validated = serverlessStepFunctions.httpValidate(); + const authorizer = validated.events[0].http.authorizer; + expect(authorizer.type).to.equal('request'); + }); + + it('should accept authorizer config with a type and authorizerId', () => { + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: { + name: 'foo', + type: 'CUSTOM', + authorizerId: '12345', + }, + }, + }, + ], + }, + }, + }; + + const validated = serverlessStepFunctions.httpValidate(); + expect(validated.events[0].http.authorizer.type).to.equal('CUSTOM'); + expect(validated.events[0].http.authorizer.authorizerId).to.equal('12345'); + }); + + + it('should accept authorizer config with a lambda arn', () => { + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: { + name: 'foo', + arn: 'xxx:xxx:Lambda-Name', + }, + }, + }, + ], + }, + }, + }; + + const validated = serverlessStepFunctions.httpValidate(); + expect(validated.events[0].http.authorizer.arn).to.equal('xxx:xxx:Lambda-Name'); + }); + + it('should accept authorizer config when resultTtlInSeconds is 0', () => { + serverlessStepFunctions.serverless.service.functions = { + foo: {}, + }; + + serverlessStepFunctions.serverless.service.stepFunctions = { + stateMachines: { + foo: {}, + first: { + events: [ + { + http: { + method: 'GET', + path: 'foo/bar', + authorizer: { + name: 'foo', + resultTtlInSeconds: 0, + identitySource: 'method.request.header.Custom', + identityValidationExpression: 'foo', + }, + }, + }, + ], + }, + }, + }; + + const validated = serverlessStepFunctions.httpValidate(); + const authorizer = validated.events[0].http.authorizer; + expect(authorizer.resultTtlInSeconds).to.equal(0); + expect(authorizer.identitySource).to.equal('method.request.header.Custom'); + expect(authorizer.identityValidationExpression).to.equal('foo'); + }); + it('should throw an error if "origin" and "origins" CORS config is used', () => { serverlessStepFunctions.serverless.service.stepFunctions = { stateMachines: { diff --git a/lib/index.js b/lib/index.js index 73232595..f159379d 100644 --- a/lib/index.js +++ b/lib/index.js @@ -7,6 +7,9 @@ const compileIamRole = require('./deploy/stepFunctions/compileIamRole'); const httpValidate = require('./deploy/events/apiGateway/validate'); const httpResources = require('./deploy/events/apiGateway/resources'); const httpMethods = require('./deploy/events/apiGateway/methods'); + +// eslint-disable-next-line max-len +const httpAuthorizers = require('serverless/lib/plugins/aws/package/compile/events/apiGateway/lib/authorizers'); const httpCors = require('./deploy/events/apiGateway/cors'); const httpApiKeys = require('./deploy/events/apiGateway/apiKeys'); const httpUsagePlan = require('./deploy/events/apiGateway/usagePlan'); @@ -40,6 +43,7 @@ class ServerlessStepFunctions { httpValidate, httpResources, httpMethods, + httpAuthorizers, httpCors, httpApiKeys, httpUsagePlan, @@ -101,7 +105,9 @@ class ServerlessStepFunctions { .then(this.compileActivities), 'package:compileEvents': () => this.compileScheduledEvents().then(() => { - this.pluginhttpValidated = this.httpValidate(); + // FIXME: Rename pluginhttpValidated to validated + // so that we can use internal serverless libraries + this.validated = this.pluginhttpValidated = this.httpValidate(); if (this.pluginhttpValidated.events.length === 0) { return BbPromise.resolve(); @@ -111,6 +117,7 @@ class ServerlessStepFunctions { .then(this.compileRestApi) .then(this.compileResources) .then(this.compileMethods) + .then(this.compileAuthorizers) .then(this.compileCors) .then(this.compileHttpIamRole) .then(this.compileDeployment) @@ -140,6 +147,7 @@ class ServerlessStepFunctions { process.exitCode = 1; }); } + this.serverless.cli.consoleLog(result); return BbPromise.resolve(); }); diff --git a/lib/index.test.js b/lib/index.test.js index c68d9d4b..a7754899 100644 --- a/lib/index.test.js +++ b/lib/index.test.js @@ -101,6 +101,8 @@ describe('#index', () => { .stub(serverlessStepFunctions, 'compileResources').returns(BbPromise.resolve()); const compileMethodsStub = sinon .stub(serverlessStepFunctions, 'compileMethods').returns(BbPromise.resolve()); + const compileAuthorizersStub = sinon + .stub(serverlessStepFunctions, 'compileAuthorizers').returns(BbPromise.resolve()); const compileCorsStub = sinon .stub(serverlessStepFunctions, 'compileCors').returns(BbPromise.resolve()); const compileHttpIamRoleStub = sinon @@ -120,6 +122,7 @@ describe('#index', () => { expect(compileRestApiStub.notCalled).to.be.equal(true); expect(compileResourcesStub.notCalled).to.be.equal(true); expect(compileMethodsStub.notCalled).to.be.equal(true); + expect(compileAuthorizersStub.notCalled).to.be.equal(true); expect(compileCorsStub.notCalled).to.be.equal(true); expect(compileHttpIamRoleStub.notCalled).to.be.equal(true); expect(compileDeploymentStub.notCalled).to.be.equal(true); @@ -131,6 +134,7 @@ describe('#index', () => { serverlessStepFunctions.compileRestApi.restore(); serverlessStepFunctions.compileResources.restore(); serverlessStepFunctions.compileMethods.restore(); + serverlessStepFunctions.compileAuthorizers.restore(); serverlessStepFunctions.compileCors.restore(); serverlessStepFunctions.compileHttpIamRole.restore(); serverlessStepFunctions.compileDeployment.restore(); @@ -152,6 +156,8 @@ describe('#index', () => { .stub(serverlessStepFunctions, 'compileResources').returns(BbPromise.resolve()); const compileMethodsStub = sinon .stub(serverlessStepFunctions, 'compileMethods').returns(BbPromise.resolve()); + const compileAuthorizersStub = sinon + .stub(serverlessStepFunctions, 'compileAuthorizers').returns(BbPromise.resolve()); const compileCorsStub = sinon .stub(serverlessStepFunctions, 'compileCors').returns(BbPromise.resolve()); const compileHttpIamRoleStub = sinon @@ -171,6 +177,7 @@ describe('#index', () => { expect(compileRestApiStub.calledOnce).to.be.equal(true); expect(compileResourcesStub.calledAfter(compileRestApiStub)).to.be.equal(true); expect(compileMethodsStub.calledAfter(compileResourcesStub)).to.be.equal(true); + expect(compileAuthorizersStub.calledAfter(compileResourcesStub)).to.be.equal(true); expect(compileCorsStub.calledAfter(compileMethodsStub)).to.be.equal(true); expect(compileHttpIamRoleStub.calledAfter(compileCorsStub)).to.be.equal(true); expect(compileDeploymentStub.calledAfter(compileHttpIamRoleStub)).to.be.equal(true); @@ -183,6 +190,7 @@ describe('#index', () => { serverlessStepFunctions.compileRestApi.restore(); serverlessStepFunctions.compileResources.restore(); serverlessStepFunctions.compileMethods.restore(); + serverlessStepFunctions.compileAuthorizers.restore(); serverlessStepFunctions.compileHttpIamRole.restore(); serverlessStepFunctions.compileDeployment.restore(); serverlessStepFunctions.compileApiKeys.restore(); diff --git a/lib/utils/arnRegularExpressions.js b/lib/utils/arnRegularExpressions.js new file mode 100644 index 00000000..3f4f9467 --- /dev/null +++ b/lib/utils/arnRegularExpressions.js @@ -0,0 +1,6 @@ +'use strict'; + +module.exports = { + cognitoIdpArnExpr: /^arn:[a-zA-Z-]*:cognito-idp/, + lambdaArnExpr: /arn:[a-zA-Z-]*:lambda/, +}; diff --git a/package-lock.json b/package-lock.json index 2262e10b..e613f667 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "dependencies": { "@serverless/fdk": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@serverless/fdk/-/fdk-0.5.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/@serverless%2ffdk/-/fdk-0.5.1.tgz", "integrity": "sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g==", "dev": true, "requires": { @@ -17,7 +17,7 @@ }, "@serverless/platform-sdk": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@serverless/platform-sdk/-/platform-sdk-0.1.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/@serverless%2fplatform-sdk/-/platform-sdk-0.1.5.tgz", "integrity": "sha512-d61v7iSAqvNlT+9TBZnsJwmSmVtu6MERwa+IUTHj46RwICPYsup3dB0U4jy3mhTAk1XtQ+EWuUOSTZdck2aD8w==", "dev": true, "requires": { @@ -39,7 +39,7 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { @@ -48,13 +48,13 @@ }, "bluebird": { "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/bluebird/-/bluebird-3.5.1.tgz", "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", "dev": true }, "chalk": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { @@ -65,25 +65,25 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "node-fetch": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/node-fetch/-/node-fetch-2.1.2.tgz", "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", "dev": true }, "ramda": { "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ramda/-/ramda-0.25.0.tgz", "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==", "dev": true }, "supports-color": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { @@ -100,7 +100,7 @@ }, "accepts": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { @@ -110,13 +110,13 @@ "dependencies": { "mime-db": { "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/mime-db/-/mime-db-1.33.0.tgz", "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true }, "mime-types": { "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { @@ -150,7 +150,7 @@ }, "agent-base": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/agent-base/-/agent-base-4.2.1.tgz", "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", "dev": true, "requires": { @@ -192,13 +192,13 @@ }, "ansi": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi/-/ansi-0.3.1.tgz", "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=", "dev": true }, "ansi-align": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi-align/-/ansi-align-2.0.0.tgz", "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { @@ -207,19 +207,19 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { @@ -229,7 +229,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -256,7 +256,7 @@ }, "archiver": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/archiver/-/archiver-1.3.0.tgz", "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", "dev": true, "requires": { @@ -273,7 +273,7 @@ "dependencies": { "async": { "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { @@ -282,7 +282,7 @@ "dependencies": { "lodash": { "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lodash/-/lodash-4.17.10.tgz", "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true } @@ -292,7 +292,7 @@ }, "archiver-utils": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/archiver-utils/-/archiver-utils-1.3.0.tgz", "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", "dev": true, "requires": { @@ -306,7 +306,7 @@ }, "are-we-there-yet": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { @@ -325,7 +325,7 @@ }, "array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, @@ -431,7 +431,7 @@ }, "babel-polyfill": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/babel-polyfill/-/babel-polyfill-6.26.0.tgz", "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", "dev": true, "requires": { @@ -442,7 +442,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { @@ -452,7 +452,7 @@ "dependencies": { "regenerator-runtime": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true } @@ -481,7 +481,7 @@ }, "bl": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/bl/-/bl-1.2.2.tgz", "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { @@ -491,13 +491,13 @@ "dependencies": { "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -512,13 +512,13 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -534,7 +534,7 @@ }, "body-parser": { "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/body-parser/-/body-parser-1.18.3.tgz", "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", "dev": true, "requires": { @@ -552,7 +552,7 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { @@ -572,7 +572,7 @@ }, "boxen": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/boxen/-/boxen-1.3.0.tgz", "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { @@ -587,13 +587,13 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { @@ -602,13 +602,13 @@ }, "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "chalk": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { @@ -619,19 +619,19 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { @@ -641,7 +641,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -650,7 +650,7 @@ }, "supports-color": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { @@ -686,7 +686,7 @@ }, "buffer-alloc": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/buffer-alloc/-/buffer-alloc-1.2.0.tgz", "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, "requires": { @@ -696,25 +696,25 @@ }, "buffer-alloc-unsafe": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "dev": true }, "buffer-crc32": { "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, "buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/buffer-fill/-/buffer-fill-1.0.0.tgz", "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", "dev": true }, "buffer-from": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/buffer-from/-/buffer-from-1.1.0.tgz", "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", "dev": true }, @@ -726,7 +726,7 @@ }, "bytes": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, @@ -754,7 +754,7 @@ }, "capture-stack-trace": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", "dev": true }, @@ -766,7 +766,7 @@ }, "caw": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/caw/-/caw-2.0.1.tgz", "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", "dev": true, "requires": { @@ -812,7 +812,7 @@ }, "ci-info": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ci-info/-/ci-info-1.1.3.tgz", "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", "dev": true }, @@ -824,7 +824,7 @@ }, "cli-boxes": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/cli-boxes/-/cli-boxes-1.0.0.tgz", "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, @@ -878,7 +878,7 @@ }, "color-convert": { "version": "1.9.2", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/color-convert/-/color-convert-1.9.2.tgz", "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", "dev": true, "requires": { @@ -887,7 +887,7 @@ }, "color-name": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/color-name/-/color-name-1.1.1.tgz", "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", "dev": true }, @@ -902,7 +902,7 @@ }, "commander": { "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/commander/-/commander-2.8.1.tgz", "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", "dev": true, "requires": { @@ -911,13 +911,13 @@ }, "component-emitter": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", "dev": true }, "compress-commons": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/compress-commons/-/compress-commons-1.2.2.tgz", "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", "dev": true, "requires": { @@ -946,7 +946,7 @@ }, "config-chain": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/config-chain/-/config-chain-1.1.11.tgz", "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", "dev": true, "requires": { @@ -956,7 +956,7 @@ }, "configstore": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/configstore/-/configstore-3.1.2.tgz", "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { @@ -976,37 +976,37 @@ }, "content-disposition": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/content-disposition/-/content-disposition-0.5.2.tgz", "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", "dev": true }, "content-type": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, "cookie": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/cookie/-/cookie-0.3.1.tgz", "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", "dev": true }, "cookie-signature": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, "cookiejar": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/cookiejar/-/cookiejar-2.1.2.tgz", "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", "dev": true }, "core-js": { "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/core-js/-/core-js-2.5.7.tgz", "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", "dev": true }, @@ -1018,7 +1018,7 @@ }, "cors": { "version": "2.8.4", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/cors/-/cors-2.8.4.tgz", "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", "dev": true, "requires": { @@ -1041,13 +1041,13 @@ }, "crc": { "version": "3.5.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/crc/-/crc-3.5.0.tgz", "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=", "dev": true }, "crc32-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/crc32-stream/-/crc32-stream-2.0.0.tgz", "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", "dev": true, "requires": { @@ -1057,7 +1057,7 @@ }, "create-error-class": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { @@ -1066,7 +1066,7 @@ }, "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { @@ -1102,7 +1102,7 @@ }, "crypto-random-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/crypto-random-string/-/crypto-random-string-1.0.0.tgz", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, @@ -1148,7 +1148,7 @@ }, "decompress": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/decompress/-/decompress-4.2.0.tgz", "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", "dev": true, "requires": { @@ -1164,7 +1164,7 @@ }, "decompress-tar": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/decompress-tar/-/decompress-tar-4.1.1.tgz", "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, "requires": { @@ -1175,7 +1175,7 @@ }, "decompress-tarbz2": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, "requires": { @@ -1188,7 +1188,7 @@ "dependencies": { "file-type": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/file-type/-/file-type-6.2.0.tgz", "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true } @@ -1196,7 +1196,7 @@ }, "decompress-targz": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/decompress-targz/-/decompress-targz-4.1.1.tgz", "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "requires": { @@ -1207,7 +1207,7 @@ }, "decompress-unzip": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/decompress-unzip/-/decompress-unzip-4.0.1.tgz", "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", "dev": true, "requires": { @@ -1219,13 +1219,13 @@ "dependencies": { "file-type": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/file-type/-/file-type-3.9.0.tgz", "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", "dev": true }, "get-stream": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/get-stream/-/get-stream-2.3.1.tgz", "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", "dev": true, "requires": { @@ -1254,7 +1254,7 @@ }, "deep-extend": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, @@ -1297,19 +1297,19 @@ }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/delegates/-/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, "depd": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, "destroy": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, @@ -1331,7 +1331,7 @@ }, "dot-prop": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/dot-prop/-/dot-prop-4.2.0.tgz", "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { @@ -1340,7 +1340,7 @@ }, "download": { "version": "5.0.3", - "resolved": "https://registry.npmjs.org/download/-/download-5.0.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/download/-/download-5.0.3.tgz", "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=", "dev": true, "requires": { @@ -1355,7 +1355,7 @@ }, "duplexer3": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, @@ -1371,19 +1371,19 @@ }, "ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, "encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, "encoding": { "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "dev": true, "requires": { @@ -1392,7 +1392,7 @@ }, "end-of-stream": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { @@ -1459,13 +1459,13 @@ }, "es6-promise": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/es6-promise/-/es6-promise-4.2.4.tgz", "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", "dev": true }, "es6-promisify": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { @@ -1509,7 +1509,7 @@ }, "escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, @@ -1749,7 +1749,7 @@ }, "etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, @@ -1765,13 +1765,13 @@ }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { @@ -1792,7 +1792,7 @@ }, "express": { "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/express/-/express-4.16.3.tgz", "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "dev": true, "requires": { @@ -1830,7 +1830,7 @@ "dependencies": { "body-parser": { "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/body-parser/-/body-parser-1.18.2.tgz", "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", "dev": true, "requires": { @@ -1848,7 +1848,7 @@ }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { @@ -1857,19 +1857,19 @@ }, "iconv-lite": { "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/iconv-lite/-/iconv-lite-0.4.19.tgz", "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", "dev": true }, "qs": { "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/qs/-/qs-6.5.1.tgz", "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", "dev": true }, "raw-body": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/raw-body/-/raw-body-2.3.2.tgz", "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", "dev": true, "requires": { @@ -1881,13 +1881,13 @@ "dependencies": { "depd": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/depd/-/depd-1.1.1.tgz", "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", "dev": true }, "http-errors": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/http-errors/-/http-errors-1.6.2.tgz", "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", "dev": true, "requires": { @@ -1899,7 +1899,7 @@ }, "setprototypeof": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/setprototypeof/-/setprototypeof-1.0.3.tgz", "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", "dev": true } @@ -1907,13 +1907,13 @@ }, "safe-buffer": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "statuses": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/statuses/-/statuses-1.4.0.tgz", "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", "dev": true } @@ -1927,7 +1927,7 @@ }, "external-editor": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/external-editor/-/external-editor-1.1.1.tgz", "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", "dev": true, "requires": { @@ -1962,7 +1962,7 @@ }, "fd-slicer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { @@ -1991,19 +1991,19 @@ }, "file-type": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/file-type/-/file-type-5.2.0.tgz", "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", "dev": true }, "filename-reserved-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", "dev": true }, "filenamify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/filenamify/-/filenamify-2.1.0.tgz", "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", "dev": true, "requires": { @@ -2014,13 +2014,13 @@ }, "filesize": { "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/filesize/-/filesize-3.6.1.tgz", "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", "dev": true }, "finalhandler": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { @@ -2035,7 +2035,7 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { @@ -2044,7 +2044,7 @@ }, "statuses": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/statuses/-/statuses-1.4.0.tgz", "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", "dev": true } @@ -2106,31 +2106,31 @@ }, "formidable": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/formidable/-/formidable-1.2.1.tgz", "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", "dev": true }, "forwarded": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/forwarded/-/forwarded-0.1.2.tgz", "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true }, "fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, "fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, "fs-extra": { "version": "0.26.7", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/fs-extra/-/fs-extra-0.26.7.tgz", "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", "dev": true, "requires": { @@ -2155,7 +2155,7 @@ }, "gauge": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/gauge/-/gauge-1.2.7.tgz", "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", "dev": true, "requires": { @@ -2183,7 +2183,7 @@ }, "get-proxy": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/get-proxy/-/get-proxy-2.1.0.tgz", "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", "dev": true, "requires": { @@ -2192,13 +2192,13 @@ }, "get-stdin": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/get-stdin/-/get-stdin-5.0.1.tgz", "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, @@ -2227,7 +2227,7 @@ }, "global-dirs": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/global-dirs/-/global-dirs-0.1.1.tgz", "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { @@ -2256,7 +2256,7 @@ }, "got": { "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { @@ -2281,13 +2281,13 @@ }, "graceful-readlink": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, "graphlib": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/graphlib/-/graphlib-2.1.5.tgz", "integrity": "sha512-XvtbqCcw+EM5SqQrIetIKKD+uZVNQtDPD1goIg7K73RuRZtVI5rYMdcCVSHm/AS1sCBZ7vt0p5WgXouucHQaOA==", "dev": true, "requires": { @@ -2378,13 +2378,13 @@ }, "has-symbol-support-x": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", "dev": true }, "has-to-string-tag-x": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "dev": true, "requires": { @@ -2393,7 +2393,7 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true }, @@ -2423,7 +2423,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -2446,7 +2446,7 @@ }, "https-proxy-agent": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", "dev": true, "requires": { @@ -2456,7 +2456,7 @@ "dependencies": { "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { @@ -2467,7 +2467,7 @@ }, "iconv-lite": { "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { @@ -2487,7 +2487,7 @@ }, "import-lazy": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/import-lazy/-/import-lazy-2.1.0.tgz", "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true }, @@ -2515,7 +2515,7 @@ }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, @@ -2548,7 +2548,7 @@ }, "ipaddr.js": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ipaddr.js/-/ipaddr.js-1.6.0.tgz", "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", "dev": true }, @@ -2566,7 +2566,7 @@ }, "is-ci": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-ci/-/is-ci-1.1.0.tgz", "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { @@ -2581,7 +2581,7 @@ }, "is-docker": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-docker/-/is-docker-1.1.0.tgz", "integrity": "sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE=", "dev": true }, @@ -2596,7 +2596,7 @@ }, "is-installed-globally": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-installed-globally/-/is-installed-globally-0.1.0.tgz", "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { @@ -2618,25 +2618,25 @@ }, "is-natural-number": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-natural-number/-/is-natural-number-4.0.1.tgz", "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", "dev": true }, "is-npm": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-npm/-/is-npm-1.0.0.tgz", "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", "dev": true }, "is-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, "is-object": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-object/-/is-object-1.0.1.tgz", "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", "dev": true }, @@ -2666,7 +2666,7 @@ }, "is-promise": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, @@ -2678,7 +2678,7 @@ }, "is-redirect": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-redirect/-/is-redirect-1.0.0.tgz", "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", "dev": true }, @@ -2702,13 +2702,13 @@ }, "is-retry-allowed": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", "dev": true }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, @@ -2726,7 +2726,7 @@ }, "is-wsl": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true }, @@ -2744,7 +2744,7 @@ }, "isomorphic-fetch": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "dev": true, "requires": { @@ -2812,7 +2812,7 @@ }, "isurl": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/isurl/-/isurl-1.0.0.tgz", "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "dev": true, "requires": { @@ -2850,13 +2850,13 @@ }, "json-cycle": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/json-cycle/-/json-cycle-1.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/json-cycle/-/json-cycle-1.3.0.tgz", "integrity": "sha512-FD/SedD78LCdSvJaOUQAXseT8oQBb5z6IVYaQaCrVUlu9zOAr1BDdKyVYQaSD/GDsAMrXpKcOyBD4LIl8nfjHw==", "dev": true }, "json-refs": { "version": "2.1.7", - "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/json-refs/-/json-refs-2.1.7.tgz", "integrity": "sha1-uesB/in16j6Sh48VrqEK04taz4k=", "dev": true, "requires": { @@ -2871,19 +2871,19 @@ "dependencies": { "commander": { "version": "2.16.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/commander/-/commander-2.16.0.tgz", "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", "dev": true }, "esprima": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/esprima/-/esprima-4.0.0.tgz", "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, "js-yaml": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { @@ -2922,7 +2922,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -2961,7 +2961,7 @@ }, "jwt-decode": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/jwt-decode/-/jwt-decode-2.2.0.tgz", "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=", "dev": true }, @@ -2976,7 +2976,7 @@ }, "klaw": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { @@ -2985,7 +2985,7 @@ }, "latest-version": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/latest-version/-/latest-version-3.1.0.tgz", "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { @@ -3001,7 +3001,7 @@ }, "lazystream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lazystream/-/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, "requires": { @@ -3037,7 +3037,7 @@ }, "lodash.difference": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lodash.difference/-/lodash.difference-4.5.0.tgz", "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", "dev": true }, @@ -3061,25 +3061,25 @@ }, "lodash.pad": { "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lodash.pad/-/lodash.pad-4.5.1.tgz", "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=", "dev": true }, "lodash.padend": { "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lodash.padend/-/lodash.padend-4.6.1.tgz", "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", "dev": true }, "lodash.padstart": { "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lodash.padstart/-/lodash.padstart-4.6.1.tgz", "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", "dev": true }, "lodash.uniq": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, @@ -3103,13 +3103,13 @@ }, "lowercase-keys": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lowercase-keys/-/lowercase-keys-1.0.1.tgz", "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true }, "lru-cache": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { @@ -3119,13 +3119,13 @@ }, "lsmod": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/lsmod/-/lsmod-1.0.0.tgz", "integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks=", "dev": true }, "make-dir": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { @@ -3134,7 +3134,7 @@ "dependencies": { "pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true } @@ -3142,25 +3142,25 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, "merge-descriptors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, "methods": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, "mime": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/mime/-/mime-1.4.1.tgz", "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", "dev": true }, @@ -3270,7 +3270,7 @@ }, "moment": { "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/moment/-/moment-2.22.2.tgz", "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=", "dev": true }, @@ -3288,7 +3288,7 @@ }, "native-promise-only": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/native-promise-only/-/native-promise-only-0.8.1.tgz", "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=", "dev": true }, @@ -3300,13 +3300,13 @@ }, "negotiator": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/negotiator/-/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "dev": true }, "node-fetch": { "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "dev": true, "requires": { @@ -3325,7 +3325,7 @@ }, "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { @@ -3334,7 +3334,7 @@ }, "npm-conf": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/npm-conf/-/npm-conf-1.1.3.tgz", "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", "dev": true, "requires": { @@ -3344,7 +3344,7 @@ "dependencies": { "pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true } @@ -3352,7 +3352,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { @@ -3361,7 +3361,7 @@ }, "npmlog": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "dev": true, "requires": { @@ -3390,7 +3390,7 @@ }, "object-hash": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/object-hash/-/object-hash-1.3.0.tgz", "integrity": "sha512-05KzQ70lSeGSrZJQXE5wNDiTkBJDlUT/myi6RX9dVIvz7a7Qh4oH93BQdiPMn27nldYvVQCKMUaM83AfizZlsQ==", "dev": true }, @@ -3413,7 +3413,7 @@ }, "on-finished": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "requires": { @@ -3437,7 +3437,7 @@ }, "opn": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/opn/-/opn-5.3.0.tgz", "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { @@ -3490,25 +3490,25 @@ }, "os-shim": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/os-shim/-/os-shim-0.1.3.tgz", "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", "dev": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "package-json": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/package-json/-/package-json-4.0.1.tgz", "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { @@ -3520,7 +3520,7 @@ }, "parseurl": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/parseurl/-/parseurl-1.3.2.tgz", "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", "dev": true }, @@ -3547,13 +3547,13 @@ }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "path-loader": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/path-loader/-/path-loader-1.0.4.tgz", "integrity": "sha512-k/IPo9OWyofATP5gwIehHHQoFShS37zsSIsejKe6fjI+tqK+FnRpiSg4ZfWUpxb0g2PfCreWPqBD4ayjqjqkdQ==", "dev": true, "requires": { @@ -3569,13 +3569,13 @@ }, "path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, "pend": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/pend/-/pend-1.2.0.tgz", "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, @@ -3638,7 +3638,7 @@ }, "prepend-http": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/prepend-http/-/prepend-http-1.0.4.tgz", "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, @@ -3656,19 +3656,19 @@ }, "promise-queue": { "version": "2.2.5", - "resolved": "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/promise-queue/-/promise-queue-2.2.5.tgz", "integrity": "sha1-L29ffA9tCBCelnZZx5uIqe1ek7Q=", "dev": true }, "proto-list": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/proto-list/-/proto-list-1.2.4.tgz", "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", "dev": true }, "proxy-addr": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/proxy-addr/-/proxy-addr-2.0.3.tgz", "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "dev": true, "requires": { @@ -3678,7 +3678,7 @@ }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, @@ -3700,25 +3700,25 @@ }, "querystringify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/querystringify/-/querystringify-2.0.0.tgz", "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", "dev": true }, "ramda": { "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ramda/-/ramda-0.24.1.tgz", "integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc=", "dev": true }, "range-parser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/range-parser/-/range-parser-1.2.0.tgz", "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", "dev": true }, "raven": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/raven/-/raven-1.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/raven/-/raven-1.2.1.tgz", "integrity": "sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0=", "dev": true, "requires": { @@ -3731,7 +3731,7 @@ "dependencies": { "uuid": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/uuid/-/uuid-3.0.0.tgz", "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=", "dev": true } @@ -3739,7 +3739,7 @@ }, "raw-body": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/raw-body/-/raw-body-2.3.3.tgz", "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", "dev": true, "requires": { @@ -3751,7 +3751,7 @@ }, "rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { @@ -3798,13 +3798,13 @@ }, "regenerator-runtime": { "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", "dev": true }, "registry-auth-token": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/registry-auth-token/-/registry-auth-token-3.3.2.tgz", "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { @@ -3814,7 +3814,7 @@ }, "registry-url": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { @@ -3823,7 +3823,7 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, @@ -3835,7 +3835,7 @@ }, "replaceall": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/replaceall/-/replaceall-0.1.6.tgz", "integrity": "sha1-gdgax663LX9cSUKt8ml6MiBojY4=", "dev": true }, @@ -3910,7 +3910,7 @@ }, "requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, @@ -3969,7 +3969,7 @@ }, "rx": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/rx/-/rx-4.1.0.tgz", "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", "dev": true }, @@ -3987,7 +3987,7 @@ }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, @@ -4004,7 +4004,7 @@ }, "seek-bzip": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/seek-bzip/-/seek-bzip-1.0.5.tgz", "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", "dev": true, "requires": { @@ -4013,13 +4013,13 @@ }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/semver/-/semver-5.5.0.tgz", "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "semver-diff": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/semver-diff/-/semver-diff-2.1.0.tgz", "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { @@ -4028,13 +4028,13 @@ }, "semver-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/semver-regex/-/semver-regex-1.0.0.tgz", "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", "dev": true }, "send": { "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/send/-/send-0.16.2.tgz", "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "dev": true, "requires": { @@ -4055,7 +4055,7 @@ "dependencies": { "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { @@ -4064,7 +4064,7 @@ }, "statuses": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/statuses/-/statuses-1.4.0.tgz", "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", "dev": true } @@ -4072,7 +4072,7 @@ }, "serve-static": { "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { @@ -4084,7 +4084,7 @@ }, "serverless": { "version": "1.28.0", - "resolved": "https://registry.npmjs.org/serverless/-/serverless-1.28.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/serverless/-/serverless-1.28.0.tgz", "integrity": "sha1-h5OvoK39RbA5a/Ey4w6/gL8efuY=", "dev": true, "requires": { @@ -4092,7 +4092,7 @@ "@serverless/platform-sdk": "0.1.5", "archiver": "1.3.0", "async": "1.5.2", - "aws-sdk": "2.272.1", + "aws-sdk": "2.273.1", "bluebird": "3.5.0", "chalk": "2.4.1", "ci-info": "1.1.3", @@ -4129,7 +4129,7 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { @@ -4137,9 +4137,9 @@ } }, "aws-sdk": { - "version": "2.272.1", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.272.1.tgz", - "integrity": "sha512-txUTnpFUoC7feZYYaKBAfuNO3v8YVkiNj90fHc4R7NfTsA8TY7r8eKi7kOa3gmwZ4LtkOHw/r3ibq+eGt8cjuQ==", + "version": "2.273.1", + "resolved": "http://npm.paesslergmbh.de:4873/aws-sdk/-/aws-sdk-2.273.1.tgz", + "integrity": "sha512-JFsL+YCQGEjV/cZp6BlJ11Sg4O0wchCtBANqeOGRvEd2hPKey04p2nmwZVy+vApkA7IOI/pARbIwZRZ+V5ntng==", "dev": true, "requires": { "buffer": "4.9.1", @@ -4155,7 +4155,7 @@ "dependencies": { "uuid": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/uuid/-/uuid-3.1.0.tgz", "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", "dev": true } @@ -4163,7 +4163,7 @@ }, "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -4174,7 +4174,7 @@ }, "chalk": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { @@ -4185,7 +4185,7 @@ }, "globby": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { @@ -4198,13 +4198,13 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { @@ -4213,7 +4213,7 @@ }, "uuid": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/uuid/-/uuid-2.0.3.tgz", "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", "dev": true } @@ -4221,13 +4221,13 @@ }, "setprototypeof": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { @@ -4236,7 +4236,7 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, @@ -4253,7 +4253,7 @@ }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, @@ -4271,7 +4271,7 @@ }, "slash": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, @@ -4302,7 +4302,7 @@ }, "source-map-support": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/source-map-support/-/source-map-support-0.5.6.tgz", "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { @@ -4312,7 +4312,7 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } @@ -4320,7 +4320,7 @@ }, "spawn-sync": { "version": "1.0.15", - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/spawn-sync/-/spawn-sync-1.0.15.tgz", "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", "dev": true, "requires": { @@ -4352,13 +4352,13 @@ }, "stack-trace": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/stack-trace/-/stack-trace-0.0.9.tgz", "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", "dev": true }, "statuses": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, @@ -4404,7 +4404,7 @@ }, "strip-dirs": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/strip-dirs/-/strip-dirs-2.1.0.tgz", "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, "requires": { @@ -4413,7 +4413,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -4425,7 +4425,7 @@ }, "strip-outer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/strip-outer/-/strip-outer-1.0.1.tgz", "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", "dev": true, "requires": { @@ -4434,7 +4434,7 @@ }, "superagent": { "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/superagent/-/superagent-3.8.3.tgz", "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { @@ -4452,7 +4452,7 @@ "dependencies": { "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { @@ -4461,13 +4461,13 @@ }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -4482,13 +4482,13 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -4536,7 +4536,7 @@ }, "tabtab": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/tabtab/-/tabtab-2.2.2.tgz", "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=", "dev": true, "requires": { @@ -4552,7 +4552,7 @@ "dependencies": { "inquirer": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/inquirer/-/inquirer-1.2.3.tgz", "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", "dev": true, "requires": { @@ -4574,13 +4574,13 @@ }, "mute-stream": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/mute-stream/-/mute-stream-0.0.6.tgz", "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=", "dev": true }, "run-async": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { @@ -4591,7 +4591,7 @@ }, "tar-stream": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/tar-stream/-/tar-stream-1.6.1.tgz", "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", "dev": true, "requires": { @@ -4606,13 +4606,13 @@ "dependencies": { "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -4627,13 +4627,13 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -4644,7 +4644,7 @@ }, "term-size": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/term-size/-/term-size-1.2.0.tgz", "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { @@ -4665,13 +4665,13 @@ }, "timed-out": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/timed-out/-/timed-out-4.0.1.tgz", "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, "tmp": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/tmp/-/tmp-0.0.29.tgz", "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", "dev": true, "requires": { @@ -4680,7 +4680,7 @@ }, "to-buffer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/to-buffer/-/to-buffer-1.1.1.tgz", "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, @@ -4703,7 +4703,7 @@ }, "trim-repeated": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/trim-repeated/-/trim-repeated-1.0.0.tgz", "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", "dev": true, "requires": { @@ -4749,7 +4749,7 @@ }, "type-is": { "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/type-is/-/type-is-1.6.16.tgz", "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "dev": true, "requires": { @@ -4759,13 +4759,13 @@ "dependencies": { "mime-db": { "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/mime-db/-/mime-db-1.33.0.tgz", "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true }, "mime-types": { "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { @@ -4810,7 +4810,7 @@ }, "unbzip2-stream": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", "dev": true, "requires": { @@ -4820,13 +4820,13 @@ "dependencies": { "base64-js": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/base64-js/-/base64-js-0.0.8.tgz", "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", "dev": true }, "buffer": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/buffer/-/buffer-3.6.0.tgz", "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", "dev": true, "requires": { @@ -4839,7 +4839,7 @@ }, "unique-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/unique-string/-/unique-string-1.0.0.tgz", "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { @@ -4848,19 +4848,19 @@ }, "unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, "unzip-response": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/unzip-response/-/unzip-response-2.0.1.tgz", "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, "update-notifier": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/update-notifier/-/update-notifier-2.5.0.tgz", "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { @@ -4878,7 +4878,7 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { @@ -4887,7 +4887,7 @@ }, "chalk": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { @@ -4898,13 +4898,13 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { @@ -4915,7 +4915,7 @@ }, "uri-js": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/uri-js/-/uri-js-3.0.2.tgz", "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", "dev": true, "requires": { @@ -4924,7 +4924,7 @@ "dependencies": { "punycode": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true } @@ -4941,7 +4941,7 @@ }, "url-parse": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/url-parse/-/url-parse-1.4.1.tgz", "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==", "dev": true, "requires": { @@ -4951,7 +4951,7 @@ }, "url-parse-lax": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { @@ -4960,7 +4960,7 @@ }, "url-to-options": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/url-to-options/-/url-to-options-1.0.1.tgz", "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", "dev": true }, @@ -4998,7 +4998,7 @@ }, "utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, @@ -5009,7 +5009,7 @@ }, "vary": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, @@ -5026,13 +5026,13 @@ }, "walkdir": { "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/walkdir/-/walkdir-0.0.11.tgz", "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", "dev": true }, "whatwg-fetch": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==", "dev": true }, @@ -5047,7 +5047,7 @@ }, "widest-line": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/widest-line/-/widest-line-2.0.0.tgz", "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { @@ -5056,19 +5056,19 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { @@ -5078,7 +5078,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { @@ -5117,7 +5117,7 @@ }, "write-file-atomic": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/write-file-atomic/-/write-file-atomic-2.3.0.tgz", "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { @@ -5128,7 +5128,7 @@ }, "xdg-basedir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/xdg-basedir/-/xdg-basedir-3.0.0.tgz", "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, @@ -5157,13 +5157,13 @@ }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yaml-ast-parser": { "version": "0.0.34", - "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.34.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/yaml-ast-parser/-/yaml-ast-parser-0.0.34.tgz", "integrity": "sha1-0A88+ddztyQUCa6SpnQNHbGfSeY=", "dev": true }, @@ -5182,7 +5182,7 @@ }, "yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "requires": { @@ -5192,7 +5192,7 @@ }, "zip-stream": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "resolved": "http://npm.paesslergmbh.de:4873/zip-stream/-/zip-stream-1.2.0.tgz", "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", "dev": true, "requires": {