From 7117ee224949a8b1d9d981abb57d274f78ba9b2d Mon Sep 17 00:00:00 2001 From: Sergio Moya <1083296+smoya@users.noreply.github.com> Date: Fri, 18 Mar 2022 15:15:04 +0100 Subject: [PATCH 1/4] chore: enable prereleases for 2022-04-release branch (#495) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 201e551d6..5da260446 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "branches": [ "master", { - "name": "2022-01-release", + "name": "2022-04-release", "prerelease": true }, { From 03d8bb8536ce4ad0817e17f26a34b2c332195094 Mon Sep 17 00:00:00 2001 From: Solomon Victor Akuson <59674245+heysolomon@users.noreply.github.com> Date: Mon, 21 Mar 2022 14:19:37 +0100 Subject: [PATCH 2/4] docs: updated the readme logo (#490) (#498) --- README.md | 12 +++--------- assets/logo.png | Bin 5587 -> 378179 bytes 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index afe98f6d7..e5c0dd8e0 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,6 @@ -
-
- AsyncAPI logo -
- JavaScript Parser -
-

- Use this package to parse and validate AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. Updated bundle for the browser is always attached to the GitHub Release. -

+[![AsyncAPI JavaScript Parser](./assets/logo.png)](https://www.asyncapi.com) + +Use this package to parse and validate AsyncAPI documents —either YAML or JSON— in your Node.js or browser application. Updated bundle for the browser is always attached to the GitHub Release. ![npm](https://img.shields.io/npm/v/@asyncapi/parser?style=for-the-badge) ![npm](https://img.shields.io/npm/dt/@asyncapi/parser?style=for-the-badge) diff --git a/assets/logo.png b/assets/logo.png index 66f97478c817ebcf767881115fe5884fca018a86..047b032f1d9972ea47631fa0872167993a162a63 100644 GIT binary patch literal 378179 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 z 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 Date: Mon, 21 Mar 2022 14:30:42 +0100 Subject: [PATCH 3/4] chore: update generated docs (#500) --- dist/bundle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/bundle.js b/dist/bundle.js index f3bd84434..b032cf18a 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1 +1 @@ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i{const channel=doc.channel(channelName);assignIdToParameters(channel.parameters())})}function assignUidToComponentSchemas(doc){if(doc.hasComponents()){for(const[key,s]of Object.entries(doc.components().schemas())){s.json()[String(xParserSchemaId)]=key}}}function assignUidToComponentParameterSchemas(doc){if(doc.hasComponents()){assignIdToParameters(doc.components().parameters())}}function assignNameToAnonymousMessages(doc){let anonymousMessageCounter=0;if(doc.hasChannels()){doc.channelNames().forEach(channelName=>{const channel=doc.channel(channelName);if(channel.hasPublish())addNameToKey(channel.publish().messages(),++anonymousMessageCounter);if(channel.hasSubscribe())addNameToKey(channel.subscribe().messages(),++anonymousMessageCounter)})}}function addNameToKey(messages,number){messages.forEach(m=>{if(m.name()===undefined&&m.ext(xParserMessageName)===undefined){m.json()[String(xParserMessageName)]=``}})}function assignIdToAnonymousSchemas(doc){let anonymousSchemaCounter=0;const callback=schema=>{if(!schema.uid()){schema.json()[String(xParserSchemaId)]=``}};traverseAsyncApiDocument(doc,callback)}module.exports={assignNameToComponentMessages:assignNameToComponentMessages,assignUidToParameterSchemas:assignUidToParameterSchemas,assignUidToComponentSchemas:assignUidToComponentSchemas,assignUidToComponentParameterSchemas:assignUidToComponentParameterSchemas,assignNameToAnonymousMessages:assignNameToAnonymousMessages,assignIdToAnonymousSchemas:assignIdToAnonymousSchemas}},{"./constants":4,"./iterators":8}],2:[function(require,module,exports){const Ajv=require("ajv");const ParserError=require("./errors/parser-error");const asyncapi=require("@asyncapi/specs");const{improveAjvErrors:improveAjvErrors}=require("./utils");const cloneDeep=require("lodash.clonedeep");const ajv=new Ajv({jsonPointers:true,allErrors:true,schemaId:"id",logger:false});ajv.addMetaSchema(require("ajv/lib/refs/json-schema-draft-04.json"));module.exports={parse:parse,getMimeTypes:getMimeTypes};async function parse({message:message,originalAsyncAPIDocument:originalAsyncAPIDocument,fileFormat:fileFormat,parsedAsyncAPIDocument:parsedAsyncAPIDocument,pathToPayload:pathToPayload,defaultSchemaFormat:defaultSchemaFormat}){const payload=message.payload;if(!payload)return;message["x-parser-original-schema-format"]=message.schemaFormat||defaultSchemaFormat;message["x-parser-original-payload"]=cloneDeep(message.payload);const validate=getValidator(parsedAsyncAPIDocument.asyncapi);const valid=validate(payload);const errors=validate.errors&&[...validate.errors];if(!valid)throw new ParserError({type:"schema-validation-errors",title:"This is not a valid AsyncAPI Schema Object.",parsedJSON:parsedAsyncAPIDocument,validationErrors:improveAjvErrors(addFullPathToDataPath(errors,pathToPayload),originalAsyncAPIDocument,fileFormat)})}function getMimeTypes(){const mimeTypes=["application/schema;version=draft-07","application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"];["2.0.0","2.1.0","2.2.0","2.3.0"].forEach(version=>{mimeTypes.push(`application/vnd.aai.asyncapi;version=${version}`,`application/vnd.aai.asyncapi+json;version=${version}`,`application/vnd.aai.asyncapi+yaml;version=${version}`)});return mimeTypes}function getValidator(version){let validate=ajv.getSchema(version);if(!validate){ajv.addSchema(preparePayloadSchema(asyncapi[String(version)]),version);validate=ajv.getSchema(version)}return validate}function preparePayloadSchema(asyncapiSchema){return{$ref:"#/definitions/schema",definitions:asyncapiSchema.definitions}}function addFullPathToDataPath(errors,path){return errors.map(err=>({...err,...{dataPath:`${path}${err.dataPath}`}}))}},{"./errors/parser-error":6,"./utils":42,"@asyncapi/specs":62,ajv:82,"ajv/lib/refs/json-schema-draft-04.json":123,"lodash.clonedeep":170}],3:[function(require,module,exports){window.AsyncAPIParser=require("./index")},{"./index":7}],4:[function(require,module,exports){const xParserSpecParsed="x-parser-spec-parsed";const xParserSpecStringified="x-parser-spec-stringified";const xParserMessageName="x-parser-message-name";const xParserSchemaId="x-parser-schema-id";const xParserCircle="x-parser-circular";const xParserCircleProps="x-parser-circular-props";module.exports={xParserSpecParsed:xParserSpecParsed,xParserSpecStringified:xParserSpecStringified,xParserMessageName:xParserMessageName,xParserSchemaId:xParserSchemaId,xParserCircle:xParserCircle,xParserCircleProps:xParserCircleProps}},{}],5:[function(require,module,exports){const ParserError=require("./errors/parser-error");const Operation=require("./models/operation");const{parseUrlVariables:parseUrlVariables,getMissingProps:getMissingProps,groupValidationErrors:groupValidationErrors,tilde:tilde,parseUrlQueryParameters:parseUrlQueryParameters,setNotProvidedParams:setNotProvidedParams,getUnknownServers:getUnknownServers}=require("./utils");const validationError="validation-errors";function validateServerVariables(parsedJSON,asyncapiYAMLorJSON,initialFormat){const srvs=parsedJSON.servers;if(!srvs)return true;const srvsMap=new Map(Object.entries(srvs));const notProvidedVariables=new Map;const notProvidedExamplesInEnum=new Map;srvsMap.forEach((srvr,srvrName)=>{const variables=parseUrlVariables(srvr.url);const variablesObj=srvr.variables;const notProvidedServerVars=notProvidedVariables.get(tilde(srvrName));if(!variables)return;const missingServerVariables=getMissingProps(variables,variablesObj);if(missingServerVariables.length){notProvidedVariables.set(tilde(srvrName),notProvidedServerVars?notProvidedServerVars.concat(missingServerVariables):missingServerVariables)}if(variablesObj){setNotValidExamples(variablesObj,srvrName,notProvidedExamplesInEnum)}});if(notProvidedVariables.size){throw new ParserError({type:validationError,title:"Not all server variables are described with variable object",parsedJSON:parsedJSON,validationErrors:groupValidationErrors("servers","server does not have a corresponding variable object for",notProvidedVariables,asyncapiYAMLorJSON,initialFormat)})}if(notProvidedExamplesInEnum.size){throw new ParserError({type:validationError,title:"Check your server variables. The example does not match the enum list",parsedJSON:parsedJSON,validationErrors:groupValidationErrors("servers","server variable provides an example that does not match the enum list",notProvidedExamplesInEnum,asyncapiYAMLorJSON,initialFormat)})}return true}function setNotValidExamples(variables,srvrName,notProvidedExamplesInEnum){const variablesMap=new Map(Object.entries(variables));variablesMap.forEach((variable,variableName)=>{if(variable.enum&&variable.examples){const wrongExamples=variable.examples.filter(r=>!variable.enum.includes(r));if(wrongExamples.length){notProvidedExamplesInEnum.set(`${tilde(srvrName)}/variables/${tilde(variableName)}`,wrongExamples)}}})}function validateOperationId(parsedJSON,asyncapiYAMLorJSON,initialFormat,operations){const chnls=parsedJSON.channels;if(!chnls)return true;const chnlsMap=new Map(Object.entries(chnls));const duplicatedOperations=new Map;const allOperations=[];const addDuplicateToMap=(op,channelName,opName)=>{const operationId=op.operationId;if(!operationId)return;const operationPath=`${tilde(channelName)}/${opName}/operationId`;const isOperationIdDuplicated=allOperations.filter(v=>v[0]===operationId);if(!isOperationIdDuplicated.length)return allOperations.push([operationId,operationPath]);duplicatedOperations.set(operationPath,isOperationIdDuplicated[0][1])};chnlsMap.forEach((chnlObj,chnlName)=>{operations.forEach(opName=>{const op=chnlObj[String(opName)];if(op)addDuplicateToMap(op,chnlName,opName)})});if(duplicatedOperations.size){throw new ParserError({type:validationError,title:"operationId must be unique across all the operations.",parsedJSON:parsedJSON,validationErrors:groupValidationErrors("channels","is a duplicate of",duplicatedOperations,asyncapiYAMLorJSON,initialFormat)})}return true}function validateServerSecurity(parsedJSON,asyncapiYAMLorJSON,initialFormat,specialSecTypes){const srvs=parsedJSON.servers;if(!srvs)return true;const root="servers";const srvsMap=new Map(Object.entries(srvs));const missingSecSchema=new Map,invalidSecurityValues=new Map;srvsMap.forEach((server,serverName)=>{const serverSecInfo=server.security;if(!serverSecInfo)return true;serverSecInfo.forEach(secObj=>{Object.keys(secObj).forEach(secName=>{const schema=findSecuritySchema(secName,parsedJSON.components);const srvrSecurityPath=`${serverName}/security/${secName}`;if(!schema.length)return missingSecSchema.set(srvrSecurityPath);const schemaType=schema[1];if(!isSrvrSecProperArray(schemaType,specialSecTypes,secObj,secName))invalidSecurityValues.set(srvrSecurityPath,schemaType)})})});if(missingSecSchema.size){throw new ParserError({type:validationError,title:"Server security name must correspond to a security scheme which is declared in the security schemes under the components object.",parsedJSON:parsedJSON,validationErrors:groupValidationErrors(root,"doesn't have a corresponding security schema under the components object",missingSecSchema,asyncapiYAMLorJSON,initialFormat)})}if(invalidSecurityValues.size){throw new ParserError({type:validationError,title:"Server security value must be an empty array if corresponding security schema type is not oauth2 or openIdConnect.",parsedJSON:parsedJSON,validationErrors:groupValidationErrors(root,"security info must have an empty array because its corresponding security schema type is",invalidSecurityValues,asyncapiYAMLorJSON,initialFormat)})}return true}function findSecuritySchema(securityName,components){const secSchemes=components&&components.securitySchemes;const secSchemesMap=secSchemes?new Map(Object.entries(secSchemes)):new Map;const schemaInfo=[];for(const[schemaName,schema]of secSchemesMap.entries()){if(schemaName===securityName){schemaInfo.push(schemaName,schema.type);return schemaInfo}}return schemaInfo}function isSrvrSecProperArray(schemaType,specialSecTypes,secObj,secName){if(!specialSecTypes.includes(schemaType)){const securityObjValue=secObj[String(secName)];return!securityObjValue.length}return true}function validateChannels(parsedJSON,asyncapiYAMLorJSON,initialFormat){const chnls=parsedJSON.channels;if(!chnls)return true;const chnlsMap=new Map(Object.entries(chnls));const notProvidedParams=new Map;const invalidChannelName=new Map;const unknownServers=new Map;chnlsMap.forEach((val,key)=>{const variables=parseUrlVariables(key);const notProvidedChannelParams=notProvidedParams.get(tilde(key));const queryParameters=parseUrlQueryParameters(key);const unknownServerNames=getUnknownServers(parsedJSON,val);if(variables){setNotProvidedParams(variables,val,key,notProvidedChannelParams,notProvidedParams)}if(queryParameters){invalidChannelName.set(tilde(key),queryParameters)}if(unknownServerNames.length>0){unknownServers.set(tilde(key),unknownServerNames)}});const parameterValidationErrors=groupValidationErrors("channels","channel does not have a corresponding parameter object for",notProvidedParams,asyncapiYAMLorJSON,initialFormat);const nameValidationErrors=groupValidationErrors("channels","channel contains invalid name with url query parameters",invalidChannelName,asyncapiYAMLorJSON,initialFormat);const serverValidationErrors=groupValidationErrors("channels","channel contains servers that are not on the servers list in the root of the document",unknownServers,asyncapiYAMLorJSON,initialFormat);const allValidationErrors=parameterValidationErrors.concat(nameValidationErrors).concat(serverValidationErrors);if(notProvidedParams.size||invalidChannelName.size||unknownServers.size){throw new ParserError({type:validationError,title:"Channel validation failed",parsedJSON:parsedJSON,validationErrors:allValidationErrors})}return true}function validateTags(parsedJSON,asyncapiYAMLorJSON,initialFormat){const invalidRoot=validateRootTags(parsedJSON);const invalidChannels=validateAllChannelsTags(parsedJSON);const invalidOperationTraits=validateOperationTraitTags(parsedJSON);const invalidMessages=validateMessageTags(parsedJSON);const invalidMessageTraits=validateMessageTraitsTags(parsedJSON);const errorMessage="contains duplicate tag names";let invalidRootValidationErrors=[];let invalidChannelsValidationErrors=[];let invalidOperationTraitsValidationErrors=[];let invalidMessagesValidationErrors=[];let invalidMessageTraitsValidationErrors=[];if(invalidRoot.size){invalidRootValidationErrors=groupValidationErrors(null,errorMessage,invalidRoot,asyncapiYAMLorJSON,initialFormat)}if(invalidChannels.size){invalidChannelsValidationErrors=groupValidationErrors("channels",errorMessage,invalidChannels,asyncapiYAMLorJSON,initialFormat)}if(invalidOperationTraits.size){invalidOperationTraitsValidationErrors=groupValidationErrors("components",errorMessage,invalidOperationTraits,asyncapiYAMLorJSON,initialFormat)}if(invalidMessages.size){invalidMessagesValidationErrors=groupValidationErrors("components",errorMessage,invalidMessages,asyncapiYAMLorJSON,initialFormat)}if(invalidMessageTraits.size){invalidMessageTraitsValidationErrors=groupValidationErrors("components",errorMessage,invalidMessageTraits,asyncapiYAMLorJSON,initialFormat)}const allValidationErrors=invalidRootValidationErrors.concat(invalidChannelsValidationErrors).concat(invalidOperationTraitsValidationErrors).concat(invalidMessagesValidationErrors).concat(invalidMessageTraitsValidationErrors);if(allValidationErrors.length){throw new ParserError({type:validationError,title:"Tags validation failed",parsedJSON:parsedJSON,validationErrors:allValidationErrors})}return true}function validateRootTags(parsedJSON){const invalidRoot=new Map;const duplicateNames=parsedJSON.tags&&getDuplicateTagNames(parsedJSON.tags);if(duplicateNames&&duplicateNames.length){invalidRoot.set("tags",duplicateNames.toString())}return invalidRoot}function validateOperationTraitTags(parsedJSON){const invalidOperationTraits=new Map;if(parsedJSON&&parsedJSON.components&&parsedJSON.components.operationTraits){Object.keys(parsedJSON.components.operationTraits).forEach(operationTrait=>{const duplicateNames=getDuplicateTagNames(parsedJSON.components.operationTraits[operationTrait].tags);if(duplicateNames&&duplicateNames.length){const operationTraitsPath=`operationTraits/${operationTrait}/tags`;invalidOperationTraits.set(operationTraitsPath,duplicateNames.toString())}})}return invalidOperationTraits}function validateAllChannelsTags(parsedJSON){const chnls=parsedJSON.channels;if(!chnls)return true;const chnlsMap=new Map(Object.entries(chnls));const invalidChannels=new Map;chnlsMap.forEach((channel,channelName)=>validateChannelTags(invalidChannels,channel,channelName));return invalidChannels}function validateChannelTags(invalidChannels,channel,channelName){if(channel.publish){validateOperationTags(invalidChannels,channel.publish,`${tilde(channelName)}/publish`)}if(channel.subscribe){validateOperationTags(invalidChannels,channel.subscribe,`${tilde(channelName)}/subscribe`)}}function validateOperationTags(invalidChannels,operation,operationPath){if(!operation)return;tryAddInvalidEntries(invalidChannels,`${operationPath}/tags`,operation.tags);if(operation.message){if(operation.message.oneOf){operation.message.oneOf.forEach((message,idx)=>{tryAddInvalidEntries(invalidChannels,`${operationPath}/message/oneOf/${idx}/tags`,message.tags)})}else{tryAddInvalidEntries(invalidChannels,`${operationPath}/message/tags`,operation.message.tags)}}}function tryAddInvalidEntries(invalidChannels,key,tags){const duplicateNames=tags&&getDuplicateTagNames(tags);if(duplicateNames&&duplicateNames.length){invalidChannels.set(key,duplicateNames.toString())}}function validateMessageTraitsTags(parsedJSON){const invalidMessageTraits=new Map;if(parsedJSON&&parsedJSON.components&&parsedJSON.components.messageTraits){Object.keys(parsedJSON.components.messageTraits).forEach(messageTrait=>{const duplicateNames=getDuplicateTagNames(parsedJSON.components.messageTraits[messageTrait].tags);if(duplicateNames&&duplicateNames.length){const messageTraitsPath=`messageTraits/${messageTrait}/tags`;invalidMessageTraits.set(messageTraitsPath,duplicateNames.toString())}})}return invalidMessageTraits}function validateMessageTags(parsedJSON){const invalidMessages=new Map;if(parsedJSON&&parsedJSON.components&&parsedJSON.components.messages){Object.keys(parsedJSON.components.messages).forEach(message=>{const duplicateNames=getDuplicateTagNames(parsedJSON.components.messages[message].tags);if(duplicateNames&&duplicateNames.length){const messagePath=`messages/${message}/tags`;invalidMessages.set(messagePath,duplicateNames.toString())}})}return invalidMessages}function getDuplicateTagNames(tags){if(!tags)return null;const tagNames=tags.map(item=>item.name);return tagNames.reduce((acc,item,idx,arr)=>{if(arr.indexOf(item)!==idx&&acc.indexOf(item)<0){acc.push(item)}return acc},[])}module.exports={validateServerVariables:validateServerVariables,validateOperationId:validateOperationId,validateServerSecurity:validateServerSecurity,validateChannels:validateChannels,validateTags:validateTags}},{"./errors/parser-error":6,"./models/operation":31,"./utils":42}],6:[function(require,module,exports){const ERROR_URL_PREFIX="https://github.com/asyncapi/parser-js/";const buildError=(from,to)=>{to.type=from.type.startsWith(ERROR_URL_PREFIX)?from.type:`${ERROR_URL_PREFIX}${from.type}`;to.title=from.title;if(from.detail)to.detail=from.detail;if(from.validationErrors)to.validationErrors=from.validationErrors;if(from.parsedJSON)to.parsedJSON=from.parsedJSON;if(from.location)to.location=from.location;if(from.refs)to.refs=from.refs;return to};class ParserError extends Error{constructor(def){super();buildError(def,this);this.message=def.title}toJS(){return buildError(this,{})}}module.exports=ParserError},{}],7:[function(require,module,exports){const parser=require("./parser");const defaultAsyncAPISchemaParser=require("./asyncapiSchemaFormatParser");parser.registerSchemaParser(defaultAsyncAPISchemaParser);module.exports=parser},{"./asyncapiSchemaFormatParser":2,"./parser":41}],8:[function(require,module,exports){const SchemaIteratorCallbackType=Object.freeze({NEW_SCHEMA:"NEW_SCHEMA",END_SCHEMA:"END_SCHEMA"});const SchemaTypesToIterate=Object.freeze({parameters:"parameters",payloads:"payloads",headers:"headers",components:"components",objects:"objects",arrays:"arrays",oneOfs:"oneOfs",allOfs:"allOfs",anyOfs:"anyOfs",nots:"nots",propertyNames:"propertyNames",patternProperties:"patternProperties",contains:"contains",ifs:"ifs",thenes:"thenes",elses:"elses",dependencies:"dependencies",definitions:"definitions"});function traverseSchema(schema,propOrIndex,options){if(!schema)return;const{callback:callback,schemaTypesToIterate:schemaTypesToIterate,seenSchemas:seenSchemas}=options;const jsonSchema=schema.json();if(seenSchemas.has(jsonSchema))return;seenSchemas.add(jsonSchema);let types=schema.type()||[];if(!Array.isArray(types)){types=[types]}if(!schemaTypesToIterate.includes(SchemaTypesToIterate.objects)&&types.includes("object"))return;if(!schemaTypesToIterate.includes(SchemaTypesToIterate.arrays)&&types.includes("array"))return;if(callback(schema,propOrIndex,SchemaIteratorCallbackType.NEW_SCHEMA)===false)return;if(schemaTypesToIterate.includes(SchemaTypesToIterate.objects)&&types.includes("object")){recursiveSchemaObject(schema,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.arrays)&&types.includes("array")){recursiveSchemaArray(schema,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.oneOfs)){(schema.oneOf()||[]).forEach((combineSchema,idx)=>{traverseSchema(combineSchema,idx,options)})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.anyOfs)){(schema.anyOf()||[]).forEach((combineSchema,idx)=>{traverseSchema(combineSchema,idx,options)})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.allOfs)){(schema.allOf()||[]).forEach((combineSchema,idx)=>{traverseSchema(combineSchema,idx,options)})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.nots)&&schema.not()){traverseSchema(schema.not(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.ifs)&&schema.if()){traverseSchema(schema.if(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.thenes)&&schema.then()){traverseSchema(schema.then(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.elses)&&schema.else()){traverseSchema(schema.else(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.dependencies)){Object.entries(schema.dependencies()||{}).forEach(([depName,dep])=>{if(dep&&!Array.isArray(dep)){traverseSchema(dep,depName,options)}})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.definitions)){Object.entries(schema.definitions()||{}).forEach(([defName,def])=>{traverseSchema(def,defName,options)})}callback(schema,propOrIndex,SchemaIteratorCallbackType.END_SCHEMA);seenSchemas.delete(jsonSchema)}function recursiveSchemaObject(schema,options){Object.entries(schema.properties()||{}).forEach(([propertyName,property])=>{traverseSchema(property,propertyName,options)});const additionalProperties=schema.additionalProperties();if(typeof additionalProperties==="object"){traverseSchema(additionalProperties,null,options)}const schemaTypesToIterate=options.schemaTypesToIterate;if(schemaTypesToIterate.includes(SchemaTypesToIterate.propertyNames)&&schema.propertyNames()){traverseSchema(schema.propertyNames(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.patternProperties)){Object.entries(schema.patternProperties()||{}).forEach(([propertyName,property])=>{traverseSchema(property,propertyName,options)})}}function recursiveSchemaArray(schema,options){const items=schema.items();if(items){if(Array.isArray(items)){items.forEach((item,idx)=>{traverseSchema(item,idx,options)})}else{traverseSchema(items,null,options)}}const additionalItems=schema.additionalItems();if(typeof additionalItems==="object"){traverseSchema(additionalItems,null,options)}if(options.schemaTypesToIterate.includes(SchemaTypesToIterate.contains)&&schema.contains()){traverseSchema(schema.contains(),null,options)}}function traverseAsyncApiDocument(doc,callback,schemaTypesToIterate){if(!schemaTypesToIterate){schemaTypesToIterate=Object.values(SchemaTypesToIterate)}const options={callback:callback,schemaTypesToIterate:schemaTypesToIterate,seenSchemas:new Set};if(doc.hasChannels()){Object.values(doc.channels()).forEach(channel=>{traverseChannel(channel,options)})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.components)&&doc.hasComponents()){const components=doc.components();Object.values(components.messages()||{}).forEach(message=>{traverseMessage(message,options)});Object.values(components.schemas()||{}).forEach(schema=>{traverseSchema(schema,null,options)});if(schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)){Object.values(components.parameters()||{}).forEach(parameter=>{traverseSchema(parameter.schema(),null,options)})}Object.values(components.messageTraits()||{}).forEach(messageTrait=>{traverseMessageTrait(messageTrait,options)})}}function traverseChannel(channel,options){if(!channel)return;const{schemaTypesToIterate:schemaTypesToIterate}=options;if(schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)){Object.values(channel.parameters()||{}).forEach(parameter=>{traverseSchema(parameter.schema(),null,options)})}if(channel.hasPublish()){channel.publish().messages().forEach(message=>{traverseMessage(message,options)})}if(channel.hasSubscribe()){channel.subscribe().messages().forEach(message=>{traverseMessage(message,options)})}}function traverseMessage(message,options){if(!message)return;const{schemaTypesToIterate:schemaTypesToIterate}=options;if(schemaTypesToIterate.includes(SchemaTypesToIterate.headers)){traverseSchema(message.headers(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.payloads)){traverseSchema(message.payload(),null,options)}}function traverseMessageTrait(messageTrait,options){if(!messageTrait)return;const{schemaTypesToIterate:schemaTypesToIterate}=options;if(schemaTypesToIterate.includes(SchemaTypesToIterate.headers)){traverseSchema(messageTrait.headers(),null,options)}}module.exports={SchemaIteratorCallbackType:SchemaIteratorCallbackType,SchemaTypesToIterate:SchemaTypesToIterate,traverseAsyncApiDocument:traverseAsyncApiDocument}},{}],9:[function(require,module,exports){module.exports=((txt,reviver,context=20)=>{try{return JSON.parse(txt,reviver)}catch(e){handleJsonNotString(txt);const syntaxErr=e.message.match(/^Unexpected token.*position\s+(\d+)/i);const errIdxBrokenJson=e.message.match(/^Unexpected end of JSON.*/i)?txt.length-1:null;const errIdx=syntaxErr?+syntaxErr[1]:errIdxBrokenJson;handleErrIdxNotNull(e,txt,errIdx,context);e.offset=errIdx;const lines=txt.substr(0,errIdx).split("\n");e.startLine=lines.length;e.startColumn=lines[lines.length-1].length;throw e}});function handleJsonNotString(txt){if(typeof txt!=="string"){const isEmptyArray=Array.isArray(txt)&&txt.length===0;const errorMessage=`Cannot parse ${isEmptyArray?"an empty array":String(txt)}`;throw new TypeError(errorMessage)}}function handleErrIdxNotNull(e,txt,errIdx,context){if(errIdx!==null){const start=errIdx<=context?0:errIdx-context;const end=errIdx+context>=txt.length?txt.length:errIdx+context;e.message+=` while parsing near '${start===0?"":"..."}${txt.slice(start,end)}${end===txt.length?"":"..."}'`}else{e.message+=` while parsing '${txt.slice(0,context*2)}'`}}},{}],10:[function(require,module,exports){const{getMapValueByKey:getMapValueByKey}=require("../models/utils");const MixinBindings={hasBindings(){return!!(this._json.bindings&&Object.keys(this._json.bindings).length)},bindings(){return this.hasBindings()?this._json.bindings:{}},bindingProtocols(){return Object.keys(this.bindings())},hasBinding(name){return this.hasBindings()&&!!this._json.bindings[String(name)]},binding(name){return getMapValueByKey(this._json.bindings,name)}};module.exports=MixinBindings},{"../models/utils":40}],11:[function(require,module,exports){const{getMapValueByKey:getMapValueByKey}=require("../models/utils");const MixinDescription={hasDescription(){return!!this._json.description},description(){return getMapValueByKey(this._json,"description")}};module.exports=MixinDescription},{"../models/utils":40}],12:[function(require,module,exports){const{getMapValueOfType:getMapValueOfType}=require("../models/utils");const ExternalDocs=require("../models/external-docs");const MixinExternalDocs={hasExternalDocs(){return!!(this._json.externalDocs&&Object.keys(this._json.externalDocs).length)},externalDocs(){return getMapValueOfType(this._json,"externalDocs",ExternalDocs)}};module.exports=MixinExternalDocs},{"../models/external-docs":22,"../models/utils":40}],13:[function(require,module,exports){const MixinSpecificationExtensions={hasExtensions(){return!!this.extensionKeys().length},extensions(){const result={};Object.entries(this._json).forEach(([key,value])=>{if(/^x-[\w\d\.\-\_]+$/.test(key)){result[String(key)]=value}});return result},extensionKeys(){return Object.keys(this.extensions())},extKeys(){return this.extensionKeys()},hasExtension(key){if(!key.startsWith("x-")){return false}return!!this._json[String(key)]},extension(key){if(!key.startsWith("x-")){return null}return this._json[String(key)]},hasExt(key){return this.hasExtension(key)},ext(key){return this.extension(key)}};module.exports=MixinSpecificationExtensions},{}],14:[function(require,module,exports){const Tag=require("../models/tag");const MixinTags={hasTags(){return!!(Array.isArray(this._json.tags)&&this._json.tags.length)},tags(){return this.hasTags()?this._json.tags.map(t=>new Tag(t)):[]},tagNames(){return this.hasTags()?this._json.tags.map(t=>t.name):[]},hasTag(name){return this.hasTags()&&this._json.tags.some(t=>t.name===name)},tag(name){const tg=this.hasTags()&&this._json.tags.find(t=>t.name===name);return tg?new Tag(tg):null}};module.exports=MixinTags},{"../models/tag":39}],15:[function(require,module,exports){const{createMapOfType:createMapOfType,getMapValueOfType:getMapValueOfType,mix:mix}=require("./utils");const Base=require("./base");const Info=require("./info");const Server=require("./server");const Channel=require("./channel");const Components=require("./components");const MixinExternalDocs=require("../mixins/external-docs");const MixinTags=require("../mixins/tags");const MixinSpecificationExtensions=require("../mixins/specification-extensions");const{xParserSpecParsed:xParserSpecParsed,xParserSpecStringified:xParserSpecStringified,xParserCircle:xParserCircle}=require("../constants");const{assignNameToAnonymousMessages:assignNameToAnonymousMessages,assignNameToComponentMessages:assignNameToComponentMessages,assignUidToComponentSchemas:assignUidToComponentSchemas,assignUidToParameterSchemas:assignUidToParameterSchemas,assignIdToAnonymousSchemas:assignIdToAnonymousSchemas,assignUidToComponentParameterSchemas:assignUidToComponentParameterSchemas}=require("../anonymousNaming");const{traverseAsyncApiDocument:traverseAsyncApiDocument}=require("../iterators");class AsyncAPIDocument extends Base{constructor(...args){super(...args);if(this.ext(xParserSpecParsed)===true){return}assignNameToComponentMessages(this);assignNameToAnonymousMessages(this);assignUidToComponentSchemas(this);assignUidToComponentParameterSchemas(this);assignUidToParameterSchemas(this);assignIdToAnonymousSchemas(this);this.json()[String(xParserSpecParsed)]=true}version(){return this._json.asyncapi}info(){return new Info(this._json.info)}id(){return this._json.id}hasServers(){return!!this._json.servers}servers(){return createMapOfType(this._json.servers,Server)}serverNames(){if(!this._json.servers)return[];return Object.keys(this._json.servers)}server(name){return getMapValueOfType(this._json.servers,name,Server)}hasDefaultContentType(){return!!this._json.defaultContentType}defaultContentType(){return this._json.defaultContentType||null}hasChannels(){return!!this._json.channels}channels(){return createMapOfType(this._json.channels,Channel,this)}channelNames(){if(!this._json.channels)return[];return Object.keys(this._json.channels)}channel(name){return getMapValueOfType(this._json.channels,name,Channel,this)}hasComponents(){return!!this._json.components}components(){if(!this._json.components)return null;return new Components(this._json.components)}hasMessages(){return!!this.allMessages().size}allMessages(){const messages=new Map;if(this.hasChannels()){this.channelNames().forEach(channelName=>{const channel=this.channel(channelName);if(channel.hasPublish()){channel.publish().messages().forEach(m=>{messages.set(m.uid(),m)})}if(channel.hasSubscribe()){channel.subscribe().messages().forEach(m=>{messages.set(m.uid(),m)})}})}if(this.hasComponents()){Object.values(this.components().messages()).forEach(m=>{messages.set(m.uid(),m)})}return messages}allSchemas(){const schemas=new Map;const allSchemasCallback=schema=>{if(schema.uid()){schemas.set(schema.uid(),schema)}};traverseAsyncApiDocument(this,allSchemasCallback);return schemas}hasCircular(){return!!this._json[String(xParserCircle)]}traverseSchemas(callback,schemaTypesToIterate){traverseAsyncApiDocument(this,callback,schemaTypesToIterate)}static stringify(doc,space){const rawDoc=doc.json();const copiedDoc={...rawDoc};copiedDoc[String(xParserSpecStringified)]=true;return JSON.stringify(copiedDoc,refReplacer(),space)}static parse(doc){let parsedJSON=doc;if(typeof doc==="string"){parsedJSON=JSON.parse(doc)}else if(typeof doc==="object"){parsedJSON={...parsedJSON}}if(typeof parsedJSON!=="object"||!parsedJSON[String(xParserSpecParsed)]){throw new Error("Cannot parse invalid AsyncAPI document")}if(!parsedJSON[String(xParserSpecStringified)]){return new AsyncAPIDocument(parsedJSON)}delete parsedJSON[String(xParserSpecStringified)];const objToPath=new Map;const pathToObj=new Map;traverseStringifiedDoc(parsedJSON,undefined,parsedJSON,objToPath,pathToObj);return new AsyncAPIDocument(parsedJSON)}}function refReplacer(){const modelPaths=new Map;const paths=new Map;let init=null;return function(field,value){const pathPart=modelPaths.get(this)+(Array.isArray(this)?`[${field}]`:`.${field}`);const isComplex=value===Object(value);if(isComplex){modelPaths.set(value,pathPart)}const savedPath=paths.get(value)||"";if(!savedPath&&isComplex){const valuePath=pathPart.replace(/undefined\.\.?/,"");paths.set(value,valuePath)}const prefixPath=savedPath[0]==="["?"$":"$.";let val=savedPath?`$ref:${prefixPath}${savedPath}`:value;if(init===null){init=value}else if(val===init){val="$ref:$"}return val}}function traverseStringifiedDoc(parent,field,root,objToPath,pathToObj){let objOrPath=parent;let path="$ref:$";if(field!==undefined){objOrPath=parent[String(field)];const concatenatedPath=field?`.${field}`:"";path=objToPath.get(parent)+(Array.isArray(parent)?`[${field}]`:concatenatedPath)}objToPath.set(objOrPath,path);pathToObj.set(path,objOrPath);const ref=pathToObj.get(objOrPath);if(ref){parent[String(field)]=ref}if(objOrPath==="$ref:$"||ref==="$ref:$"){parent[String(field)]=root}if(objOrPath===Object(objOrPath)){for(const f in objOrPath){traverseStringifiedDoc(objOrPath,f,root,objToPath,pathToObj)}}}module.exports=mix(AsyncAPIDocument,MixinTags,MixinExternalDocs,MixinSpecificationExtensions)},{"../anonymousNaming":1,"../constants":4,"../iterators":8,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"../mixins/tags":14,"./base":16,"./channel":18,"./components":19,"./info":23,"./server":37,"./utils":40}],16:[function(require,module,exports){const ParserError=require("../errors/parser-error");class Base{constructor(json){if(json===undefined||json===null)throw new ParserError(`Invalid JSON to instantiate the ${this.constructor.name} object.`);this._json=json}json(key){if(key===undefined)return this._json;if(!this._json)return;return this._json[String(key)]}}module.exports=Base},{"../errors/parser-error":6}],17:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const Schema=require("./schema");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class ChannelParameter extends Base{location(){return this._json.location}schema(){if(!this._json.schema)return null;return new Schema(this._json.schema)}}module.exports=mix(ChannelParameter,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./schema":33,"./utils":40}],18:[function(require,module,exports){const{createMapOfType:createMapOfType,getMapValueOfType:getMapValueOfType,mix:mix}=require("./utils");const Base=require("./base");const ChannelParameter=require("./channel-parameter");const PublishOperation=require("./publish-operation");const SubscribeOperation=require("./subscribe-operation");const MixinDescription=require("../mixins/description");const MixinBindings=require("../mixins/bindings");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Channel extends Base{parameters(){return createMapOfType(this._json.parameters,ChannelParameter)}parameter(name){return getMapValueOfType(this._json.parameters,name,ChannelParameter)}hasParameters(){return!!this._json.parameters}hasServers(){return!!this._json.servers}servers(){if(!this._json.servers)return[];return this._json.servers}server(index){if(!this._json.servers)return null;if(typeof index!=="number")return null;if(index>this._json.servers.length-1)return null;return this._json.servers[+index]}publish(){if(!this._json.publish)return null;return new PublishOperation(this._json.publish)}subscribe(){if(!this._json.subscribe)return null;return new SubscribeOperation(this._json.subscribe)}hasPublish(){return!!this._json.publish}hasSubscribe(){return!!this._json.subscribe}}module.exports=mix(Channel,MixinDescription,MixinBindings,MixinSpecificationExtensions)},{"../mixins/bindings":10,"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./channel-parameter":17,"./publish-operation":32,"./subscribe-operation":38,"./utils":40}],19:[function(require,module,exports){const{createMapOfType:createMapOfType,getMapValueOfType:getMapValueOfType,mix:mix}=require("./utils");const Base=require("./base");const Channel=require("./channel");const Message=require("./message");const Schema=require("./schema");const SecurityScheme=require("./security-scheme");const Server=require("./server");const ChannelParameter=require("./channel-parameter");const CorrelationId=require("./correlation-id");const OperationTrait=require("./operation-trait");const MessageTrait=require("./message-trait");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Components extends Base{channels(){return createMapOfType(this._json.channels,Channel)}hasChannels(){return!!this._json.channels}channel(name){return getMapValueOfType(this._json.channels,name,Channel)}messages(){return createMapOfType(this._json.messages,Message)}hasMessages(){return!!this._json.messages}message(name){return getMapValueOfType(this._json.messages,name,Message)}schemas(){return createMapOfType(this._json.schemas,Schema)}hasSchemas(){return!!this._json.schemas}schema(name){return getMapValueOfType(this._json.schemas,name,Schema)}securitySchemes(){return createMapOfType(this._json.securitySchemes,SecurityScheme)}hasSecuritySchemes(){return!!this._json.securitySchemes}securityScheme(name){return getMapValueOfType(this._json.securitySchemes,name,SecurityScheme)}servers(){return createMapOfType(this._json.servers,Server)}hasServers(){return!!this._json.servers}server(name){return getMapValueOfType(this._json.servers,name,Server)}parameters(){return createMapOfType(this._json.parameters,ChannelParameter)}hasParameters(){return!!this._json.parameters}parameter(name){return getMapValueOfType(this._json.parameters,name,ChannelParameter)}correlationIds(){return createMapOfType(this._json.correlationIds,CorrelationId)}hasCorrelationIds(){return!!this._json.correlationIds}correlationId(name){return getMapValueOfType(this._json.correlationIds,name,CorrelationId)}operationTraits(){return createMapOfType(this._json.operationTraits,OperationTrait)}hasOperationTraits(){return!!this._json.operationTraits}operationTrait(name){return getMapValueOfType(this._json.operationTraits,name,OperationTrait)}messageTraits(){return createMapOfType(this._json.messageTraits,MessageTrait)}hasMessageTraits(){return!!this._json.messageTraits}messageTrait(name){return getMapValueOfType(this._json.messageTraits,name,MessageTrait)}}module.exports=mix(Components,MixinSpecificationExtensions)},{"../mixins/specification-extensions":13,"./base":16,"./channel":18,"./channel-parameter":17,"./correlation-id":21,"./message":27,"./message-trait":25,"./operation-trait":29,"./schema":33,"./security-scheme":34,"./server":37,"./utils":40}],20:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Contact extends Base{name(){return this._json.name}url(){return this._json.url}email(){return this._json.email}}module.exports=mix(Contact,MixinSpecificationExtensions)},{"../mixins/specification-extensions":13,"./base":16,"./utils":40}],21:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class CorrelationId extends Base{location(){return this._json.location}}module.exports=mix(CorrelationId,MixinSpecificationExtensions,MixinDescription)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],22:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class ExternalDocs extends Base{url(){return this._json.url}}module.exports=mix(ExternalDocs,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],23:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const License=require("./license");const Contact=require("./contact");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Info extends Base{title(){return this._json.title}version(){return this._json.version}termsOfService(){return this._json.termsOfService}license(){if(!this._json.license)return null;return new License(this._json.license)}contact(){if(!this._json.contact)return null;return new Contact(this._json.contact)}}module.exports=mix(Info,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./contact":20,"./license":24,"./utils":40}],24:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class License extends Base{name(){return this._json.name}url(){return this._json.url}}module.exports=mix(License,MixinSpecificationExtensions)},{"../mixins/specification-extensions":13,"./base":16,"./utils":40}],25:[function(require,module,exports){const MessageTraitable=require("./message-traitable");class MessageTrait extends MessageTraitable{}module.exports=MessageTrait},{"./message-traitable":26}],26:[function(require,module,exports){const{getMapValueOfType:getMapValueOfType,mix:mix}=require("./utils");const Base=require("./base");const Schema=require("./schema");const CorrelationId=require("./correlation-id");const MixinDescription=require("../mixins/description");const MixinExternalDocs=require("../mixins/external-docs");const MixinTags=require("../mixins/tags");const MixinBindings=require("../mixins/bindings");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class MessageTraitable extends Base{headers(){if(!this._json.headers)return null;return new Schema(this._json.headers)}header(name){if(!this._json.headers)return null;return getMapValueOfType(this._json.headers.properties,name,Schema)}correlationId(){if(!this._json.correlationId)return null;return new CorrelationId(this._json.correlationId)}schemaFormat(){return this._json.schemaFormat}contentType(){return this._json.contentType}name(){return this._json.name}title(){return this._json.title}summary(){return this._json.summary}examples(){return this._json.examples}}module.exports=mix(MessageTraitable,MixinDescription,MixinTags,MixinExternalDocs,MixinBindings,MixinSpecificationExtensions)},{"../mixins/bindings":10,"../mixins/description":11,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"../mixins/tags":14,"./base":16,"./correlation-id":21,"./schema":33,"./utils":40}],27:[function(require,module,exports){(function(Buffer){const MessageTrait=require("./message-trait");const MessageTraitable=require("./message-traitable");const Schema=require("./schema");class Message extends MessageTraitable{uid(){return this.name()||this.ext("x-parser-message-name")||Buffer.from(JSON.stringify(this._json)).toString("base64")}payload(){if(!this._json.payload)return null;return new Schema(this._json.payload)}traits(){const traits=this._json["x-parser-original-traits"]||this._json.traits;if(!traits)return[];return traits.map(t=>new MessageTrait(t))}hasTraits(){return!!this._json["x-parser-original-traits"]||!!this._json.traits}originalPayload(){return this._json["x-parser-original-payload"]||this.payload()}originalSchemaFormat(){return this._json["x-parser-original-schema-format"]||this.schemaFormat()}}module.exports=Message}).call(this,require("buffer").Buffer)},{"./message-trait":25,"./message-traitable":26,"./schema":33,buffer:128}],28:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class OAuthFlow extends Base{authorizationUrl(){return this._json.authorizationUrl}tokenUrl(){return this._json.tokenUrl}refreshUrl(){return this._json.refreshUrl}scopes(){return this._json.scopes}}module.exports=mix(OAuthFlow,MixinSpecificationExtensions)},{"../mixins/specification-extensions":13,"./base":16,"./utils":40}],29:[function(require,module,exports){const OperationTraitable=require("./operation-traitable");class OperationTrait extends OperationTraitable{}module.exports=OperationTrait},{"./operation-traitable":30}],30:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinTags=require("../mixins/tags");const MixinExternalDocs=require("../mixins/external-docs");const MixinBindings=require("../mixins/bindings");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class OperationTraitable extends Base{id(){return this._json.operationId}summary(){return this._json.summary}}module.exports=mix(OperationTraitable,MixinDescription,MixinTags,MixinExternalDocs,MixinBindings,MixinSpecificationExtensions)},{"../mixins/bindings":10,"../mixins/description":11,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"../mixins/tags":14,"./base":16,"./utils":40}],31:[function(require,module,exports){const OperationTraitable=require("./operation-traitable");const Message=require("./message");const OperationTrait=require("./operation-trait");class Operation extends OperationTraitable{hasMultipleMessages(){if(this._json.message&&this._json.message.oneOf&&this._json.message.oneOf.length>1)return true;if(!this._json.message)return false;return false}traits(){const traits=this._json["x-parser-original-traits"]||this._json.traits;if(!traits)return[];return traits.map(t=>new OperationTrait(t))}hasTraits(){return!!this._json["x-parser-original-traits"]||!!this._json.traits}messages(){if(!this._json.message)return[];if(this._json.message.oneOf)return this._json.message.oneOf.map(m=>new Message(m));return[new Message(this._json.message)]}message(index){if(!this._json.message)return null;if(!this._json.message.oneOf)return new Message(this._json.message);if(typeof index!=="number")return null;if(index>this._json.message.oneOf.length-1)return null;return new Message(this._json.message.oneOf[+index])}}module.exports=Operation},{"./message":27,"./operation-trait":29,"./operation-traitable":30}],32:[function(require,module,exports){const Operation=require("./operation");class PublishOperation extends Operation{isPublish(){return true}isSubscribe(){return false}kind(){return"publish"}}module.exports=PublishOperation},{"./operation":31}],33:[function(require,module,exports){const{createMapOfType:createMapOfType,getMapValueOfType:getMapValueOfType,mix:mix}=require("./utils");const Base=require("./base");const{xParserCircle:xParserCircle,xParserCircleProps:xParserCircleProps}=require("../constants");const MixinDescription=require("../mixins/description");const MixinExternalDocs=require("../mixins/external-docs");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Schema extends Base{constructor(json,options){super(json);this.options=options||{}}uid(){return this.$id()||this.ext("x-parser-schema-id")}$id(){return this._json.$id}multipleOf(){return this._json.multipleOf}maximum(){return this._json.maximum}exclusiveMaximum(){return this._json.exclusiveMaximum}minimum(){return this._json.minimum}exclusiveMinimum(){return this._json.exclusiveMinimum}maxLength(){return this._json.maxLength}minLength(){return this._json.minLength}pattern(){return this._json.pattern}maxItems(){return this._json.maxItems}minItems(){return this._json.minItems}uniqueItems(){return!!this._json.uniqueItems}maxProperties(){return this._json.maxProperties}minProperties(){return this._json.minProperties}required(){return this._json.required}enum(){return this._json.enum}type(){return this._json.type}allOf(){if(!this._json.allOf)return null;return this._json.allOf.map(s=>new Schema(s,{parent:this}))}oneOf(){if(!this._json.oneOf)return null;return this._json.oneOf.map(s=>new Schema(s,{parent:this}))}anyOf(){if(!this._json.anyOf)return null;return this._json.anyOf.map(s=>new Schema(s,{parent:this}))}not(){if(!this._json.not)return null;return new Schema(this._json.not,{parent:this})}items(){if(!this._json.items)return null;if(Array.isArray(this._json.items)){return this._json.items.map(s=>new Schema(s,{parent:this}))}return new Schema(this._json.items,{parent:this})}properties(){return createMapOfType(this._json.properties,Schema,{parent:this})}property(name){return getMapValueOfType(this._json.properties,name,Schema,{parent:this})}additionalProperties(){const ap=this._json.additionalProperties;if(ap===undefined||ap===null)return;if(typeof ap==="boolean")return ap;return new Schema(ap,{parent:this})}additionalItems(){const ai=this._json.additionalItems;if(ai===undefined||ai===null)return;return new Schema(ai,{parent:this})}patternProperties(){return createMapOfType(this._json.patternProperties,Schema,{parent:this})}const(){return this._json.const}contains(){if(!this._json.contains)return null;return new Schema(this._json.contains,{parent:this})}dependencies(){if(!this._json.dependencies)return null;const result={};Object.entries(this._json.dependencies).forEach(([key,value])=>{result[String(key)]=!Array.isArray(value)?new Schema(value,{parent:this}):value});return result}propertyNames(){if(!this._json.propertyNames)return null;return new Schema(this._json.propertyNames,{parent:this})}if(){if(!this._json.if)return null;return new Schema(this._json.if,{parent:this})}then(){if(!this._json.then)return null;return new Schema(this._json.then,{parent:this})}else(){if(!this._json.else)return null;return new Schema(this._json.else,{parent:this})}format(){return this._json.format}contentEncoding(){return this._json.contentEncoding}contentMediaType(){return this._json.contentMediaType}definitions(){return createMapOfType(this._json.definitions,Schema,{parent:this})}title(){return this._json.title}default(){return this._json.default}deprecated(){return this._json.deprecated}discriminator(){return this._json.discriminator}readOnly(){return!!this._json.readOnly}writeOnly(){return!!this._json.writeOnly}examples(){return this._json.examples}isBooleanSchema(){return typeof this._json==="boolean"}isCircular(){if(!!this.ext(xParserCircle)){return true}let parent=this.options.parent;while(parent){if(parent._json===this._json)return true;parent=parent.options&&parent.options.parent}return false}circularSchema(){let parent=this.options.parent;while(parent){if(parent._json===this._json)return parent;parent=parent.options&&parent.options.parent}}hasCircularProps(){if(Array.isArray(this.ext(xParserCircleProps))){return this.ext(xParserCircleProps).length>0}return Object.entries(this.properties()||{}).map(([propertyName,property])=>{if(property.isCircular())return propertyName}).filter(Boolean).length>0}circularProps(){if(Array.isArray(this.ext(xParserCircleProps))){return this.ext(xParserCircleProps)}return Object.entries(this.properties()||{}).map(([propertyName,property])=>{if(property.isCircular())return propertyName}).filter(Boolean)}}module.exports=mix(Schema,MixinDescription,MixinExternalDocs,MixinSpecificationExtensions)},{"../constants":4,"../mixins/description":11,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],34:[function(require,module,exports){const{createMapOfType:createMapOfType,mix:mix}=require("./utils");const Base=require("./base");const OAuthFlow=require("./oauth-flow");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class SecurityScheme extends Base{type(){return this._json.type}name(){return this._json.name}in(){return this._json.in}scheme(){return this._json.scheme}bearerFormat(){return this._json.bearerFormat}openIdConnectUrl(){return this._json.openIdConnectUrl}flows(){return createMapOfType(this._json.flows,OAuthFlow)}}module.exports=mix(SecurityScheme,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./oauth-flow":28,"./utils":40}],35:[function(require,module,exports){const Base=require("./base");class ServerSecurityRequirement extends Base{}module.exports=ServerSecurityRequirement},{"./base":16}],36:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class ServerVariable extends Base{allowedValues(){return this._json.enum}allows(name){if(this._json.enum===undefined)return true;return this._json.enum.includes(name)}hasAllowedValues(){return this._json.enum!==undefined}defaultValue(){return this._json.default}hasDefaultValue(){return this._json.default!==undefined}examples(){return this._json.examples}}module.exports=mix(ServerVariable,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],37:[function(require,module,exports){const{createMapOfType:createMapOfType,getMapValueOfType:getMapValueOfType,mix:mix}=require("./utils");const Base=require("./base");const ServerVariable=require("./server-variable");const ServerSecurityRequirement=require("./server-security-requirement");const MixinDescription=require("../mixins/description");const MixinBindings=require("../mixins/bindings");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Server extends Base{url(){return this._json.url}protocol(){return this._json.protocol}protocolVersion(){return this._json.protocolVersion}variables(){return createMapOfType(this._json.variables,ServerVariable)}variable(name){return getMapValueOfType(this._json.variables,name,ServerVariable)}hasVariables(){return!!this._json.variables}security(){if(!this._json.security)return null;return this._json.security.map(sec=>new ServerSecurityRequirement(sec))}}module.exports=mix(Server,MixinDescription,MixinBindings,MixinSpecificationExtensions)},{"../mixins/bindings":10,"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./server-security-requirement":35,"./server-variable":36,"./utils":40}],38:[function(require,module,exports){const Operation=require("./operation");class SubscribeOperation extends Operation{isPublish(){return false}isSubscribe(){return true}kind(){return"subscribe"}}module.exports=SubscribeOperation},{"./operation":31}],39:[function(require,module,exports){const{mix:mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinExternalDocs=require("../mixins/external-docs");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Tag extends Base{name(){return this._json.name}}module.exports=mix(Tag,MixinDescription,MixinExternalDocs,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],40:[function(require,module,exports){const utils=module.exports;const getMapValue=(obj,key,Type,options)=>{if(typeof key!=="string"||!obj)return null;const v=obj[String(key)];if(v===undefined)return null;return Type?new Type(v,options):v};utils.createMapOfType=((obj,Type,options)=>{const result={};if(!obj)return result;Object.entries(obj).forEach(([key,value])=>{result[String(key)]=new Type(value,options)});return result});utils.getMapValueOfType=((obj,key,Type,options)=>{return getMapValue(obj,key,Type,options)});utils.getMapValueByKey=((obj,key)=>{return getMapValue(obj,key)});utils.mix=((model,...mixins)=>{let duplicatedMethods=false;function checkDuplication(mixin){if(model===mixin)return true;duplicatedMethods=Object.keys(mixin).some(mixinMethod=>model.prototype.hasOwnProperty(mixinMethod));return duplicatedMethods}if(mixins.some(checkDuplication)){if(duplicatedMethods){throw new Error(`invalid mix function: model ${model.name} has at least one method that it is trying to replace by mixin`)}else{throw new Error(`invalid mix function: cannot use the model ${model.name} as a mixin`)}}mixins.forEach(mixin=>Object.assign(model.prototype,mixin));return model})},{}],41:[function(require,module,exports){(function(process,global){const path=require("path");const fetch=typeof window!=="undefined"?window["fetch"]:typeof global!=="undefined"?global["fetch"]:null;const Ajv=require("ajv");const asyncapi=require("@asyncapi/specs");const $RefParser=require("@apidevtools/json-schema-ref-parser");const mergePatch=require("tiny-merge-patch").apply;const ParserError=require("./errors/parser-error");const{validateChannels:validateChannels,validateTags:validateTags,validateServerVariables:validateServerVariables,validateOperationId:validateOperationId,validateServerSecurity:validateServerSecurity}=require("./customValidators.js");const{toJS:toJS,findRefs:findRefs,getLocationOf:getLocationOf,improveAjvErrors:improveAjvErrors,getDefaultSchemaFormat:getDefaultSchemaFormat}=require("./utils");const AsyncAPIDocument=require("./models/asyncapi");const OPERATIONS=["publish","subscribe"];const SPECIAL_SECURITY_TYPES=["oauth2","openIdConnect"];const PARSERS={};const xParserCircle="x-parser-circular";const xParserMessageParsed="x-parser-message-parsed";const ajv=new Ajv({jsonPointers:true,allErrors:true,schemaId:"id",logger:false});ajv.addMetaSchema(require("ajv/lib/refs/json-schema-draft-04.json"));module.exports={parse:parse,parseFromUrl:parseFromUrl,registerSchemaParser:registerSchemaParser,ParserError:ParserError,AsyncAPIDocument:AsyncAPIDocument};async function parse(asyncapiYAMLorJSON,options={}){let parsedJSON;let initialFormat;options.path=options.path||`${process.cwd()}${path.sep}`;try{({initialFormat:initialFormat,parsedJSON:parsedJSON}=toJS(asyncapiYAMLorJSON));if(typeof parsedJSON!=="object"){throw new ParserError({type:"impossible-to-convert-to-json",title:"Could not convert AsyncAPI to JSON.",detail:"Most probably the AsyncAPI document contains invalid YAML or YAML features not supported in JSON."})}if(!parsedJSON.asyncapi){throw new ParserError({type:"missing-asyncapi-field",title:"The `asyncapi` field is missing.",parsedJSON:parsedJSON})}if(parsedJSON.asyncapi.startsWith("1.")||!asyncapi[parsedJSON.asyncapi]){throw new ParserError({type:"unsupported-version",title:`Version ${parsedJSON.asyncapi} is not supported.`,detail:"Please use latest version of the specification.",parsedJSON:parsedJSON,validationErrors:[getLocationOf("/asyncapi",asyncapiYAMLorJSON,initialFormat)]})}if(options.applyTraits===undefined)options.applyTraits=true;const refParser=new $RefParser;await dereference(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,{...options,dereference:{circular:"ignore"}});const validate=getValidator(parsedJSON.asyncapi);const valid=validate(parsedJSON);const errors=validate.errors&&[...validate.errors];if(!valid)throw new ParserError({type:"validation-errors",title:"There were errors validating the AsyncAPI document.",parsedJSON:parsedJSON,validationErrors:improveAjvErrors(errors,asyncapiYAMLorJSON,initialFormat)});await customDocumentOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options);if(refParser.$refs.circular)await handleCircularRefs(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,options)}catch(e){if(e instanceof ParserError)throw e;throw new ParserError({type:"unexpected-error",title:e.message,parsedJSON:parsedJSON})}return new AsyncAPIDocument(parsedJSON)}function parseFromUrl(url,fetchOptions,options){if(!fetchOptions)fetchOptions={};return new Promise((resolve,reject)=>{fetch(url,fetchOptions).then(res=>res.text()).then(doc=>parse(doc,options)).then(result=>resolve(result)).catch(e=>{if(e instanceof ParserError)return reject(e);return reject(new ParserError({type:"fetch-url-error",title:e.message}))})})}async function dereference(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,options){try{return await refParser.dereference(options.path,parsedJSON,{continueOnError:true,parse:options.parse,resolve:options.resolve,dereference:options.dereference})}catch(err){throw new ParserError({type:"dereference-error",title:err.errors[0].message,parsedJSON:parsedJSON,refs:findRefs(err.errors,initialFormat,asyncapiYAMLorJSON)})}}async function handleCircularRefs(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,options){await dereference(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,{...options,dereference:{circular:true}});parsedJSON[String(xParserCircle)]=true}function getValidator(version){let validate=ajv.getSchema(version);if(!validate){ajv.addSchema(asyncapi[String(version)],version);validate=ajv.getSchema(version)}return validate}async function customDocumentOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options){validateServerVariables(parsedJSON,asyncapiYAMLorJSON,initialFormat);validateServerSecurity(parsedJSON,asyncapiYAMLorJSON,initialFormat,SPECIAL_SECURITY_TYPES);if(!parsedJSON.channels)return;validateTags(parsedJSON,asyncapiYAMLorJSON,initialFormat);validateChannels(parsedJSON,asyncapiYAMLorJSON,initialFormat);validateOperationId(parsedJSON,asyncapiYAMLorJSON,initialFormat,OPERATIONS);await customComponentsMsgOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options);await customChannelsOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options)}async function validateAndConvertMessage(msg,originalAsyncAPIDocument,fileFormat,parsedAsyncAPIDocument,pathToPayload){if(xParserMessageParsed in msg&&msg[String(xParserMessageParsed)]===true)return;const defaultSchemaFormat=getDefaultSchemaFormat(parsedAsyncAPIDocument.asyncapi);const schemaFormat=msg.schemaFormat||defaultSchemaFormat;await PARSERS[String(schemaFormat)]({schemaFormat:schemaFormat,message:msg,defaultSchemaFormat:defaultSchemaFormat,originalAsyncAPIDocument:originalAsyncAPIDocument,parsedAsyncAPIDocument:parsedAsyncAPIDocument,fileFormat:fileFormat,pathToPayload:pathToPayload});msg.schemaFormat=defaultSchemaFormat;msg[String(xParserMessageParsed)]=true}function registerSchemaParser(parserModule){if(typeof parserModule!=="object"||typeof parserModule.parse!=="function"||typeof parserModule.getMimeTypes!=="function")throw new ParserError({type:"impossible-to-register-parser",title:"parserModule must have parse() and getMimeTypes() functions."});parserModule.getMimeTypes().forEach(schemaFormat=>{PARSERS[String(schemaFormat)]=parserModule.parse})}function applyTraits(js){if(Array.isArray(js.traits)){for(const trait of js.traits){for(const key in trait){js[String(key)]=mergePatch(js[String(key)],trait[String(key)])}}js["x-parser-original-traits"]=js.traits;delete js.traits}}async function customChannelsOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options){const promisesArray=[];Object.entries(parsedJSON.channels).forEach(([channelName,channel])=>{promisesArray.push(...OPERATIONS.map(async opName=>{const op=channel[String(opName)];if(!op)return;const messages=op.message?op.message.oneOf||[op.message]:[];if(options.applyTraits){applyTraits(op);messages.forEach(m=>applyTraits(m))}const pathToPayload=`/channels/${channelName}/${opName}/message/payload`;for(const m of messages){await validateAndConvertMessage(m,asyncapiYAMLorJSON,initialFormat,parsedJSON,pathToPayload)}}))});await Promise.all(promisesArray)}async function customComponentsMsgOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options){if(!parsedJSON.components||!parsedJSON.components.messages)return;const promisesArray=[];Object.entries(parsedJSON.components.messages).forEach(([messageName,message])=>{if(options.applyTraits){applyTraits(message)}const pathToPayload=`/components/messages/${messageName}/payload`;promisesArray.push(validateAndConvertMessage(message,asyncapiYAMLorJSON,initialFormat,parsedJSON,pathToPayload))});await Promise.all(promisesArray)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./customValidators.js":5,"./errors/parser-error":6,"./models/asyncapi":15,"./utils":42,"@apidevtools/json-schema-ref-parser":45,"@asyncapi/specs":62,_process:172,ajv:82,"ajv/lib/refs/json-schema-draft-04.json":123,path:171,"tiny-merge-patch":197}],42:[function(require,module,exports){const YAML=require("js-yaml");const{yamlAST:yamlAST,loc:loc}=require("@fmvilas/pseudo-yaml-ast");const jsonAST=require("json-to-ast");const jsonParseBetterErrors=require("../lib/json-parse");const ParserError=require("./errors/parser-error");const jsonPointerToArray=jsonPointer=>(jsonPointer||"/").split("/").splice(1);const utils=module.exports;const getAST=(asyncapiYAMLorJSON,initialFormat)=>{if(initialFormat==="yaml"){return yamlAST(asyncapiYAMLorJSON)}else if(initialFormat==="json"){return jsonAST(asyncapiYAMLorJSON)}};const findNode=(obj,location)=>{for(const key of location){obj=obj?obj[utils.untilde(key)]:null}return obj};const findNodeInAST=(ast,location)=>{let obj=ast;for(const key of location){if(!Array.isArray(obj.children))return;let childArray;const child=obj.children.find(c=>{if(!c)return;if(c.type==="Object")return childArray=c.children.find(a=>a.key.value===utils.untilde(key));return c.type==="Property"&&c.key&&c.key.value===utils.untilde(key)});if(!child)return;obj=childArray?childArray.value:child.value}return obj};const findLocationOf=(keys,ast,initialFormat)=>{if(initialFormat==="js")return{jsonPointer:`/${keys.join("/")}`};let node;if(initialFormat==="yaml"){node=findNode(ast,keys)}else if(initialFormat==="json"){node=findNodeInAST(ast,keys)}if(!node)return{jsonPointer:`/${keys.join("/")}`};let info;if(initialFormat==="yaml"){info=node[loc]}else if(initialFormat==="json"){info=node.loc}if(!info)return{jsonPointer:`/${keys.join("/")}`};return{jsonPointer:`/${keys.join("/")}`,startLine:info.start.line,startColumn:info.start.column+1,startOffset:info.start.offset,endLine:info.end?info.end.line:undefined,endColumn:info.end?info.end.column+1:undefined,endOffset:info.end?info.end.offset:undefined}};utils.tilde=(str=>{return str.replace(/[~\/]{1}/g,m=>{switch(m){case"/":return"~1";case"~":return"~0"}return m})});utils.untilde=(str=>{if(!str.includes("~"))return str;return str.replace(/~[01]/g,m=>{switch(m){case"~1":return"/";case"~0":return"~"}return m})});utils.toJS=(asyncapiYAMLorJSON=>{if(!asyncapiYAMLorJSON){throw new ParserError({type:"null-or-falsey-document",title:"Document can't be null or falsey."})}if(asyncapiYAMLorJSON.constructor&&asyncapiYAMLorJSON.constructor.name==="Object"){return{initialFormat:"js",parsedJSON:asyncapiYAMLorJSON}}if(typeof asyncapiYAMLorJSON!=="string"){throw new ParserError({type:"invalid-document-type",title:"The AsyncAPI document has to be either a string or a JS object."})}if(asyncapiYAMLorJSON.trimLeft().startsWith("{")){try{return{initialFormat:"json",parsedJSON:jsonParseBetterErrors(asyncapiYAMLorJSON)}}catch(e){throw new ParserError({type:"invalid-json",title:"The provided JSON is not valid.",detail:e.message,location:{startOffset:e.offset,startLine:e.startLine,startColumn:e.startColumn}})}}else{try{return{initialFormat:"yaml",parsedJSON:YAML.safeLoad(asyncapiYAMLorJSON)}}catch(err){throw new ParserError({type:"invalid-yaml",title:"The provided YAML is not valid.",detail:err.message,location:{startOffset:err.mark.position,startLine:err.mark.line+1,startColumn:err.mark.column+1}})}}});utils.findRefs=((errors,initialFormat,asyncapiYAMLorJSON)=>{let refs=[];errors.map(({path:path})=>refs.push({location:[...path.map(utils.tilde),"$ref"]}));if(initialFormat==="js"){return refs.map(ref=>({jsonPointer:`/${ref.location.join("/")}`}))}if(initialFormat==="yaml"){const pseudoAST=yamlAST(asyncapiYAMLorJSON);refs=refs.map(ref=>findLocationOf(ref.location,pseudoAST,initialFormat))}else if(initialFormat==="json"){const ast=jsonAST(asyncapiYAMLorJSON);refs=refs.map(ref=>findLocationOf(ref.location,ast,initialFormat))}return refs});utils.getLocationOf=((jsonPointer,asyncapiYAMLorJSON,initialFormat)=>{const ast=getAST(asyncapiYAMLorJSON,initialFormat);if(!ast)return{jsonPointer:jsonPointer};return findLocationOf(jsonPointerToArray(jsonPointer),ast,initialFormat)});utils.improveAjvErrors=((errors,asyncapiYAMLorJSON,initialFormat)=>{const ast=getAST(asyncapiYAMLorJSON,initialFormat);return errors.map(error=>{const defaultLocation={jsonPointer:error.dataPath||"/"};const additionalProperty=error.params.additionalProperty;const jsonPointer=additionalProperty?`${error.dataPath}/${additionalProperty}`:error.dataPath;return{title:`${error.dataPath||"/"} ${error.message}`,location:ast?findLocationOf(jsonPointerToArray(jsonPointer),ast,initialFormat):defaultLocation}})});utils.parseUrlVariables=(str=>{if(typeof str!=="string")return;return str.match(/{(.+?)}/g)});utils.parseUrlQueryParameters=(str=>{if(typeof str!=="string")return;return str.match(/\?((.*=.*)(&?))/g)});utils.getMissingProps=((arr,obj)=>{arr=arr.map(val=>val.replace(/[{}]/g,""));if(!obj)return arr;return arr.filter(val=>{return!obj.hasOwnProperty(val)})});utils.groupValidationErrors=((root,errorMessage,errorElements,asyncapiYAMLorJSON,initialFormat)=>{const errors=[];errorElements.forEach((val,key)=>{if(typeof val==="string")val=utils.untilde(val);const jsonPointer=root?`/${root}/${key}`:`/${key}`;errors.push({title:val?`${utils.untilde(key)} ${errorMessage}: ${val}`:`${utils.untilde(key)} ${errorMessage}`,location:utils.getLocationOf(jsonPointer,asyncapiYAMLorJSON,initialFormat)})});return errors});utils.setNotProvidedParams=((variables,val,key,notProvidedChannelParams,notProvidedParams)=>{const missingChannelParams=utils.getMissingProps(variables,val.parameters);if(missingChannelParams.length){notProvidedParams.set(utils.tilde(key),notProvidedChannelParams?notProvidedChannelParams.concat(missingChannelParams):missingChannelParams)}});utils.getUnknownServers=((parsedJSON,channel)=>{if(!channel)return[];const channelServers=channel.servers;if(!channelServers||channelServers.length===0)return[];const servers=parsedJSON.servers;if(!servers)return channelServers;const serversMap=new Map(Object.entries(servers));return channelServers.filter(serverName=>{return!serversMap.has(serverName)})});utils.getDefaultSchemaFormat=(asyncapiVersion=>{return`application/vnd.aai.asyncapi;version=${asyncapiVersion}`})},{"../lib/json-parse":9,"./errors/parser-error":6,"@fmvilas/pseudo-yaml-ast":72,"js-yaml":138,"json-to-ast":169}],43:[function(require,module,exports){"use strict";const $Ref=require("./ref");const Pointer=require("./pointer");const url=require("./util/url");module.exports=bundle;function bundle(parser,options){let inventory=[];crawl(parser,"schema",parser.$refs._root$Ref.path+"#","#",0,inventory,parser.$refs,options);remap(inventory)}function crawl(parent,key,path,pathFromRoot,indirections,inventory,$refs,options){let obj=key===null?parent:parent[key];if(obj&&typeof obj==="object"&&!ArrayBuffer.isView(obj)){if($Ref.isAllowed$Ref(obj)){inventory$Ref(parent,key,path,pathFromRoot,indirections,inventory,$refs,options)}else{let keys=Object.keys(obj).sort((a,b)=>{if(a==="definitions"){return-1}else if(b==="definitions"){return 1}else{return a.length-b.length}});for(let key of keys){let keyPath=Pointer.join(path,key);let keyPathFromRoot=Pointer.join(pathFromRoot,key);let value=obj[key];if($Ref.isAllowed$Ref(value)){inventory$Ref(obj,key,path,keyPathFromRoot,indirections,inventory,$refs,options)}else{crawl(obj,key,keyPath,keyPathFromRoot,indirections,inventory,$refs,options)}}}}}function inventory$Ref($refParent,$refKey,path,pathFromRoot,indirections,inventory,$refs,options){let $ref=$refKey===null?$refParent:$refParent[$refKey];let $refPath=url.resolve(path,$ref.$ref);let pointer=$refs._resolve($refPath,pathFromRoot,options);if(pointer===null){return}let depth=Pointer.parse(pathFromRoot).length;let file=url.stripHash(pointer.path);let hash=url.getHash(pointer.path);let external=file!==$refs._root$Ref.path;let extended=$Ref.isExtended$Ref($ref);indirections+=pointer.indirections;let existingEntry=findInInventory(inventory,$refParent,$refKey);if(existingEntry){if(depth{if(a.file!==b.file){return a.file0){throw new JSONParserErrorGroup(parser)}}}).call(this,{isBuffer:require("../../../is-buffer/index.js")})},{"../../../is-buffer/index.js":137,"./bundle":43,"./dereference":44,"./normalize-args":46,"./parse":48,"./refs":55,"./resolve-external":56,"./util/errors":59,"./util/url":61,"@jsdevtools/ono":75,"call-me-maybe":130}],46:[function(require,module,exports){"use strict";const Options=require("./options");module.exports=normalizeArgs;function normalizeArgs(args){let path,schema,options,callback;args=Array.prototype.slice.call(args);if(typeof args[args.length-1]==="function"){callback=args.pop()}if(typeof args[0]==="string"){path=args[0];if(typeof args[2]==="object"){schema=args[1];options=args[2]}else{schema=undefined;options=args[1]}}else{path="";schema=args[0];options=args[1]}if(!(options instanceof Options)){options=new Options(options)}return{path:path,schema:schema,options:options,callback:callback}}},{"./options":47}],47:[function(require,module,exports){"use strict";const jsonParser=require("./parsers/json");const yamlParser=require("./parsers/yaml");const textParser=require("./parsers/text");const binaryParser=require("./parsers/binary");const fileResolver=require("./resolvers/file");const httpResolver=require("./resolvers/http");module.exports=$RefParserOptions;function $RefParserOptions(options){merge(this,$RefParserOptions.defaults);merge(this,options)}$RefParserOptions.defaults={parse:{json:jsonParser,yaml:yamlParser,text:textParser,binary:binaryParser},resolve:{file:fileResolver,http:httpResolver,external:true},continueOnError:false,dereference:{circular:true}};function merge(target,source){if(isMergeable(source)){let keys=Object.keys(source);for(let i=0;i{let resolvers=plugins.all(options.resolve);resolvers=plugins.filter(resolvers,"canRead",file);plugins.sort(resolvers);plugins.run(resolvers,"read",file,$refs).then(resolve,onError);function onError(err){if(!err&&options.continueOnError){reject(new UnmatchedResolverError(file.url))}else if(!err||!("error"in err)){reject(ono.syntax(`Unable to resolve $ref pointer "${file.url}"`))}else if(err.error instanceof ResolverError){reject(err.error)}else{reject(new ResolverError(err,file.url))}}})}function parseFile(file,options,$refs){return new Promise((resolve,reject)=>{let allParsers=plugins.all(options.parse);let filteredParsers=plugins.filter(allParsers,"canParse",file);let parsers=filteredParsers.length>0?filteredParsers:allParsers;plugins.sort(parsers);plugins.run(parsers,"parse",file,$refs).then(onParsed,onError);function onParsed(parser){if(!parser.plugin.allowEmpty&&isEmpty(parser.result)){reject(ono.syntax(`Error parsing "${file.url}" as ${parser.plugin.name}. \nParsed value is empty`))}else{resolve(parser)}}function onError(err){if(!err&&options.continueOnError){reject(new UnmatchedParserError(file.url))}else if(!err||!("error"in err)){reject(ono.syntax(`Unable to parse ${file.url}`))}else if(err.error instanceof ParserError){reject(err.error)}else{reject(new ParserError(err.error.message,file.url))}}})}function isEmpty(value){return value===undefined||typeof value==="object"&&Object.keys(value).length===0||typeof value==="string"&&value.trim().length===0||Buffer.isBuffer(value)&&value.length===0}}).call(this,{isBuffer:require("../../../is-buffer/index.js")})},{"../../../is-buffer/index.js":137,"./util/errors":59,"./util/plugins":60,"./util/url":61,"@jsdevtools/ono":75}],49:[function(require,module,exports){(function(Buffer){"use strict";let BINARY_REGEXP=/\.(jpeg|jpg|gif|png|bmp|ico)$/i;module.exports={order:400,allowEmpty:true,canParse(file){return Buffer.isBuffer(file.data)&&BINARY_REGEXP.test(file.url)},parse(file){if(Buffer.isBuffer(file.data)){return file.data}else{return Buffer.from(file.data)}}}}).call(this,require("buffer").Buffer)},{buffer:128}],50:[function(require,module,exports){(function(Buffer){"use strict";const{ParserError:ParserError}=require("../util/errors");module.exports={order:100,allowEmpty:true,canParse:".json",async parse(file){let data=file.data;if(Buffer.isBuffer(data)){data=data.toString()}if(typeof data==="string"){if(data.trim().length===0){return}else{try{return JSON.parse(data)}catch(e){throw new ParserError(e.message,file.url)}}}else{return data}}}}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":137,"../util/errors":59}],51:[function(require,module,exports){(function(Buffer){"use strict";const{ParserError:ParserError}=require("../util/errors");let TEXT_REGEXP=/\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;module.exports={order:300,allowEmpty:true,encoding:"utf8",canParse(file){return(typeof file.data==="string"||Buffer.isBuffer(file.data))&&TEXT_REGEXP.test(file.url)},parse(file){if(typeof file.data==="string"){return file.data}else if(Buffer.isBuffer(file.data)){return file.data.toString(this.encoding)}else{throw new ParserError("data is not text",file.url)}}}}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":137,"../util/errors":59}],52:[function(require,module,exports){(function(Buffer){"use strict";const{ParserError:ParserError}=require("../util/errors");const yaml=require("js-yaml");module.exports={order:200,allowEmpty:true,canParse:[".yaml",".yml",".json"],async parse(file){let data=file.data;if(Buffer.isBuffer(data)){data=data.toString()}if(typeof data==="string"){try{return yaml.safeLoad(data)}catch(e){throw new ParserError(e.message,file.url)}}else{return data}}}}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":137,"../util/errors":59,"js-yaml":138}],53:[function(require,module,exports){"use strict";module.exports=Pointer;const $Ref=require("./ref");const url=require("./util/url");const{JSONParserError:JSONParserError,InvalidPointerError:InvalidPointerError,MissingPointerError:MissingPointerError,isHandledError:isHandledError}=require("./util/errors");const slashes=/\//g;const tildes=/~/g;const escapedSlash=/~1/g;const escapedTilde=/~0/g;function Pointer($ref,path,friendlyPath){this.$ref=$ref;this.path=path;this.originalPath=friendlyPath||path;this.value=undefined;this.circular=false;this.indirections=0}Pointer.prototype.resolve=function(obj,options,pathFromRoot){let tokens=Pointer.parse(this.path,this.originalPath);this.value=unwrapOrThrow(obj);for(let i=0;i0};$Ref.isExternal$Ref=function(value){return $Ref.is$Ref(value)&&value.$ref[0]!=="#"};$Ref.isAllowed$Ref=function(value,options){if($Ref.is$Ref(value)){if(value.$ref.substr(0,2)==="#/"||value.$ref==="#"){return true}else if(value.$ref[0]!=="#"&&(!options||options.resolve.external)){return true}}};$Ref.isExtended$Ref=function(value){return $Ref.is$Ref(value)&&Object.keys(value).length>1};$Ref.dereference=function($ref,resolvedValue){if(resolvedValue&&typeof resolvedValue==="object"&&$Ref.isExtended$Ref($ref)){let merged={};for(let key of Object.keys($ref)){if(key!=="$ref"){merged[key]=$ref[key]}}for(let key of Object.keys(resolvedValue)){if(!(key in merged)){merged[key]=resolvedValue[key]}}return merged}else{return resolvedValue}}},{"./pointer":53,"./util/errors":59,"./util/url":61}],55:[function(require,module,exports){"use strict";const{ono:ono}=require("@jsdevtools/ono");const $Ref=require("./ref");const url=require("./util/url");module.exports=$Refs;function $Refs(){this.circular=false;this._$refs={};this._root$Ref=null}$Refs.prototype.paths=function(types){let paths=getPaths(this._$refs,arguments);return paths.map(path=>{return path.decoded})};$Refs.prototype.values=function(types){let $refs=this._$refs;let paths=getPaths($refs,arguments);return paths.reduce((obj,path)=>{obj[path.decoded]=$refs[path.encoded].value;return obj},{})};$Refs.prototype.toJSON=$Refs.prototype.values;$Refs.prototype.exists=function(path,options){try{this._resolve(path,"",options);return true}catch(e){return false}};$Refs.prototype.get=function(path,options){return this._resolve(path,"",options).value};$Refs.prototype.set=function(path,value){let absPath=url.resolve(this._root$Ref.path,path);let withoutHash=url.stripHash(absPath);let $ref=this._$refs[withoutHash];if(!$ref){throw ono(`Error resolving $ref pointer "${path}". \n"${withoutHash}" not found.`)}$ref.set(absPath,value)};$Refs.prototype._add=function(path){let withoutHash=url.stripHash(path);let $ref=new $Ref;$ref.path=withoutHash;$ref.$refs=this;this._$refs[withoutHash]=$ref;this._root$Ref=this._root$Ref||$ref;return $ref};$Refs.prototype._resolve=function(path,pathFromRoot,options){let absPath=url.resolve(this._root$Ref.path,path);let withoutHash=url.stripHash(absPath);let $ref=this._$refs[withoutHash];if(!$ref){throw ono(`Error resolving $ref pointer "${path}". \n"${withoutHash}" not found.`)}return $ref.resolve(absPath,options,path,pathFromRoot)};$Refs.prototype._get$Ref=function(path){path=url.resolve(this._root$Ref.path,path);let withoutHash=url.stripHash(path);return this._$refs[withoutHash]};function getPaths($refs,types){let paths=Object.keys($refs);types=Array.isArray(types[0])?types[0]:Array.prototype.slice.call(types);if(types.length>0&&types[0]){paths=paths.filter(key=>{return types.indexOf($refs[key].pathType)!==-1})}return paths.map(path=>{return{encoded:path,decoded:$refs[path].pathType==="file"?url.toFileSystemPath(path,true):path}})}},{"./ref":54,"./util/url":61,"@jsdevtools/ono":75}],56:[function(require,module,exports){"use strict";const $Ref=require("./ref");const Pointer=require("./pointer");const parse=require("./parse");const url=require("./util/url");const{isHandledError:isHandledError}=require("./util/errors");module.exports=resolveExternal;function resolveExternal(parser,options){if(!options.resolve.external){return Promise.resolve()}try{let promises=crawl(parser.schema,parser.$refs._root$Ref.path+"#",parser.$refs,options);return Promise.all(promises)}catch(e){return Promise.reject(e)}}function crawl(obj,path,$refs,options){let promises=[];if(obj&&typeof obj==="object"&&!ArrayBuffer.isView(obj)){if($Ref.isExternal$Ref(obj)){promises.push(resolve$Ref(obj,path,$refs,options))}else{for(let key of Object.keys(obj)){let keyPath=Pointer.join(path,key);let value=obj[key];if($Ref.isExternal$Ref(value)){promises.push(resolve$Ref(value,keyPath,$refs,options))}else{promises=promises.concat(crawl(value,keyPath,$refs,options))}}}}return promises}async function resolve$Ref($ref,path,$refs,options){let resolvedPath=url.resolve(path,$ref.$ref);let withoutHash=url.stripHash(resolvedPath);$ref=$refs._$refs[withoutHash];if($ref){return Promise.resolve($ref.value)}try{const result=await parse(resolvedPath,$refs,options);let promises=crawl(result,withoutHash+"#",$refs,options);return Promise.all(promises)}catch(err){if(!options.continueOnError||!isHandledError(err)){throw err}if($refs._$refs[withoutHash]){err.source=url.stripHash(path);err.path=url.safePointerToPath(url.getHash(path))}return[]}}},{"./parse":48,"./pointer":53,"./ref":54,"./util/errors":59,"./util/url":61}],57:[function(require,module,exports){"use strict";const fs=require("fs");const{ono:ono}=require("@jsdevtools/ono");const url=require("../util/url");const{ResolverError:ResolverError}=require("../util/errors");module.exports={order:100,canRead(file){return url.isFileSystemPath(file.url)},read(file){return new Promise((resolve,reject)=>{let path;try{path=url.toFileSystemPath(file.url)}catch(err){reject(new ResolverError(ono.uri(err,`Malformed URI: ${file.url}`),file.url))}try{fs.readFile(path,(err,data)=>{if(err){reject(new ResolverError(ono(err,`Error opening file "${path}"`),path))}else{resolve(data)}})}catch(err){reject(new ResolverError(ono(err,`Error opening file "${path}"`),path))}})}}},{"../util/errors":59,"../util/url":61,"@jsdevtools/ono":75,fs:126}],58:[function(require,module,exports){(function(process,Buffer){"use strict";const http=require("http");const https=require("https");const{ono:ono}=require("@jsdevtools/ono");const url=require("../util/url");const{ResolverError:ResolverError}=require("../util/errors");module.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:false,canRead(file){return url.isHttp(file.url)},read(file){let u=url.parse(file.url);if(process.browser&&!u.protocol){u.protocol=url.parse(location.href).protocol}return download(u,this)}};function download(u,httpOptions,redirects){return new Promise((resolve,reject)=>{u=url.parse(u);redirects=redirects||[];redirects.push(u.href);get(u,httpOptions).then(res=>{if(res.statusCode>=400){throw ono({status:res.statusCode},`HTTP ERROR ${res.statusCode}`)}else if(res.statusCode>=300){if(redirects.length>httpOptions.redirects){reject(new ResolverError(ono({status:res.statusCode},`Error downloading ${redirects[0]}. \nToo many redirects: \n ${redirects.join(" \n ")}`)))}else if(!res.headers.location){throw ono({status:res.statusCode},`HTTP ${res.statusCode} redirect with no location header`)}else{let redirectTo=url.resolve(u,res.headers.location);download(redirectTo,httpOptions,redirects).then(resolve,reject)}}else{resolve(res.body||Buffer.alloc(0))}}).catch(err=>{reject(new ResolverError(ono(err,`Error downloading ${u.href}`),u.href))})})}function get(u,httpOptions){return new Promise((resolve,reject)=>{let protocol=u.protocol==="https:"?https:http;let req=protocol.get({hostname:u.hostname,port:u.port,path:u.path,auth:u.auth,protocol:u.protocol,headers:httpOptions.headers||{},withCredentials:httpOptions.withCredentials});if(typeof req.setTimeout==="function"){req.setTimeout(httpOptions.timeout)}req.on("timeout",()=>{req.abort()});req.on("error",reject);req.once("response",res=>{res.body=Buffer.alloc(0);res.on("data",data=>{res.body=Buffer.concat([res.body,Buffer.from(data)])});res.on("error",reject);res.on("end",()=>{resolve(res)})})})}}).call(this,require("_process"),require("buffer").Buffer)},{"../util/errors":59,"../util/url":61,"@jsdevtools/ono":75,_process:172,buffer:128,http:177,https:134}],59:[function(require,module,exports){"use strict";const{Ono:Ono}=require("@jsdevtools/ono");const{stripHash:stripHash,toFileSystemPath:toFileSystemPath}=require("./url");const JSONParserError=exports.JSONParserError=class JSONParserError extends Error{constructor(message,source){super();this.code="EUNKNOWN";this.message=message;this.source=source;this.path=null;Ono.extend(this)}};setErrorName(JSONParserError);const JSONParserErrorGroup=exports.JSONParserErrorGroup=class JSONParserErrorGroup extends Error{constructor(parser){super();this.files=parser;this.message=`${this.errors.length} error${this.errors.length>1?"s":""} occurred while reading '${toFileSystemPath(parser.$refs._root$Ref.path)}'`;Ono.extend(this)}static getParserErrors(parser){const errors=[];for(const $ref of Object.values(parser.$refs._$refs)){if($ref.errors){errors.push(...$ref.errors)}}return errors}get errors(){return JSONParserErrorGroup.getParserErrors(this.files)}};setErrorName(JSONParserErrorGroup);const ParserError=exports.ParserError=class ParserError extends JSONParserError{constructor(message,source){super(`Error parsing ${source}: ${message}`,source);this.code="EPARSER"}};setErrorName(ParserError);const UnmatchedParserError=exports.UnmatchedParserError=class UnmatchedParserError extends JSONParserError{constructor(source){super(`Could not find parser for "${source}"`,source);this.code="EUNMATCHEDPARSER"}};setErrorName(UnmatchedParserError);const ResolverError=exports.ResolverError=class ResolverError extends JSONParserError{constructor(ex,source){super(ex.message||`Error reading file "${source}"`,source);this.code="ERESOLVER";if("code"in ex){this.ioErrorCode=String(ex.code)}}};setErrorName(ResolverError);const UnmatchedResolverError=exports.UnmatchedResolverError=class UnmatchedResolverError extends JSONParserError{constructor(source){super(`Could not find resolver for "${source}"`,source);this.code="EUNMATCHEDRESOLVER"}};setErrorName(UnmatchedResolverError);const MissingPointerError=exports.MissingPointerError=class MissingPointerError extends JSONParserError{constructor(token,path){super(`Token "${token}" does not exist.`,stripHash(path));this.code="EMISSINGPOINTER"}};setErrorName(MissingPointerError);const InvalidPointerError=exports.InvalidPointerError=class InvalidPointerError extends JSONParserError{constructor(pointer,path){super(`Invalid $ref pointer "${pointer}". Pointers must begin with "#/"`,stripHash(path));this.code="EINVALIDPOINTER"}};setErrorName(InvalidPointerError);function setErrorName(err){Object.defineProperty(err.prototype,"name",{value:err.name,enumerable:true})}exports.isHandledError=function(err){return err instanceof JSONParserError||err instanceof JSONParserErrorGroup};exports.normalizeError=function(err){if(err.path===null){err.path=[]}return err}},{"./url":61,"@jsdevtools/ono":75}],60:[function(require,module,exports){"use strict";exports.all=function(plugins){return Object.keys(plugins).filter(key=>{return typeof plugins[key]==="object"}).map(key=>{plugins[key].name=key;return plugins[key]})};exports.filter=function(plugins,method,file){return plugins.filter(plugin=>{return!!getResult(plugin,method,file)})};exports.sort=function(plugins){for(let plugin of plugins){plugin.order=plugin.order||Number.MAX_SAFE_INTEGER}return plugins.sort((a,b)=>{return a.order-b.order})};exports.run=function(plugins,method,file,$refs){let plugin,lastError,index=0;return new Promise((resolve,reject)=>{runNextPlugin();function runNextPlugin(){plugin=plugins[index++];if(!plugin){return reject(lastError)}try{let result=getResult(plugin,method,file,callback,$refs);if(result&&typeof result.then==="function"){result.then(onSuccess,onError)}else if(result!==undefined){onSuccess(result)}else if(index===plugins.length){throw new Error("No promise has been returned or callback has been called.")}}catch(e){onError(e)}}function callback(err,result){if(err){onError(err)}else{onSuccess(result)}}function onSuccess(result){resolve({plugin:plugin,result:result})}function onError(error){lastError={plugin:plugin,error:error};runNextPlugin()}})};function getResult(obj,prop,file,callback,$refs){let value=obj[prop];if(typeof value==="function"){return value.apply(obj,[file,callback,$refs])}if(!callback){if(value instanceof RegExp){return value.test(file.url)}else if(typeof value==="string"){return value===file.extension}else if(Array.isArray(value)){return value.indexOf(file.extension)!==-1}}return value}},{}],61:[function(require,module,exports){(function(process){"use strict";let isWindows=/^win/.test(process.platform),forwardSlashPattern=/\//g,protocolPattern=/^(\w{2,}):\/\//i,url=module.exports,jsonPointerSlash=/~1/g,jsonPointerTilde=/~0/g;let urlEncodePatterns=[/\?/g,"%3F",/\#/g,"%23"];let urlDecodePatterns=[/\%23/g,"#",/\%24/g,"$",/\%26/g,"&",/\%2C/g,",",/\%40/g,"@"];exports.parse=require("url").parse;exports.resolve=require("url").resolve;exports.cwd=function cwd(){if(process.browser){return location.href}let path=process.cwd();let lastChar=path.slice(-1);if(lastChar==="/"||lastChar==="\\"){return path}else{return path+"/"}};exports.getProtocol=function getProtocol(path){let match=protocolPattern.exec(path);if(match){return match[1].toLowerCase()}};exports.getExtension=function getExtension(path){let lastDot=path.lastIndexOf(".");if(lastDot>=0){return path.substr(lastDot).toLowerCase()}return""};exports.getHash=function getHash(path){let hashIndex=path.indexOf("#");if(hashIndex>=0){return path.substr(hashIndex)}return"#"};exports.stripHash=function stripHash(path){let hashIndex=path.indexOf("#");if(hashIndex>=0){path=path.substr(0,hashIndex)}return path};exports.isHttp=function isHttp(path){let protocol=url.getProtocol(path);if(protocol==="http"||protocol==="https"){return true}else if(protocol===undefined){return process.browser}else{return false}};exports.isFileSystemPath=function isFileSystemPath(path){if(process.browser){return false}let protocol=url.getProtocol(path);return protocol===undefined||protocol==="file"};exports.fromFileSystemPath=function fromFileSystemPath(path){if(isWindows){path=path.replace(/\\/g,"/")}path=encodeURI(path);for(let i=0;i{return decodeURIComponent(value).replace(jsonPointerSlash,"/").replace(jsonPointerTilde,"~")})}}).call(this,require("_process"))},{_process:172,url:199}],62:[function(require,module,exports){module.exports={"1.0.0":require("./schemas/1.0.0.json"),"1.1.0":require("./schemas/1.1.0.json"),"1.2.0":require("./schemas/1.2.0.json"),"2.0.0-rc1":require("./schemas/2.0.0-rc1.json"),"2.0.0-rc2":require("./schemas/2.0.0-rc2.json"),"2.0.0":require("./schemas/2.0.0.json"),"2.1.0":require("./schemas/2.1.0.json"),"2.2.0":require("./schemas/2.2.0.json"),"2.3.0":require("./schemas/2.3.0.json")}},{"./schemas/1.0.0.json":63,"./schemas/1.1.0.json":64,"./schemas/1.2.0.json":65,"./schemas/2.0.0-rc1.json":66,"./schemas/2.0.0-rc2.json":67,"./schemas/2.0.0.json":68,"./schemas/2.1.0.json":69,"./schemas/2.2.0.json":70,"./schemas/2.3.0.json":71}],63:[function(require,module,exports){module.exports={title:"AsyncAPI 1.0 schema.",id:"http://asyncapi.hitchhq.com/v1/schema.json#",$schema:"http://json-schema.org/draft-04/schema#",type:"object",required:["asyncapi","info","topics"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{asyncapi:{type:"string",enum:["1.0.0"],description:"The AsyncAPI specification version of this document."},info:{$ref:"#/definitions/info"},baseTopic:{type:"string",pattern:"^[^/.]",description:"The base topic to the API. Example: 'hitch'.",default:""},servers:{type:"array",items:{$ref:"#/definitions/server"},uniqueItems:true},topics:{$ref:"#/definitions/topics"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{type:"string",format:"uri"}}},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","scheme"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{url:{type:"string"},description:{type:"string"},scheme:{type:"string",description:"The transfer protocol.",enum:["kafka","kafka-secure","amqp","amqps","mqtt","mqtts","secure-mqtt","ws","wss","stomp","stomps"]},schemeVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"}}},topics:{type:"object",description:"Relative paths to the individual topics. They must be relative to the 'baseTopic'.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"},"^[^.]":{$ref:"#/definitions/topicItem"}},additionalProperties:false},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{}},additionalProperties:false},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}}},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},topicItem:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,properties:{$ref:{type:"string"},publish:{$ref:"#/definitions/message"},subscribe:{$ref:"#/definitions/message"},deprecated:{type:"boolean",default:false}}},message:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},headers:{$ref:"#/definitions/schema"},payload:{$ref:"#/definitions/schema"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},example:{}}},vendorExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-":{}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"}}}},{}],64:[function(require,module,exports){module.exports={title:"AsyncAPI 1.1.0 schema.",id:"http://asyncapi.hitchhq.com/v1/schema.json#",$schema:"http://json-schema.org/draft-04/schema#",type:"object",required:["asyncapi","info","topics"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{asyncapi:{type:"string",enum:["1.0.0","1.1.0"],description:"The AsyncAPI specification version of this document."},info:{$ref:"#/definitions/info"},baseTopic:{type:"string",pattern:"^[^/.]",description:"The base topic to the API. Example: 'hitch'.",default:""},servers:{type:"array",items:{$ref:"#/definitions/server"},uniqueItems:true},topics:{$ref:"#/definitions/topics"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{type:"string",format:"uri"}}},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","scheme"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{url:{type:"string"},description:{type:"string"},scheme:{type:"string",description:"The transfer protocol.",enum:["kafka","kafka-secure","amqp","amqps","mqtt","mqtts","secure-mqtt","ws","wss","stomp","stomps","jms"]},schemeVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"}}},topics:{type:"object",description:"Relative paths to the individual topics. They must be relative to the 'baseTopic'.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"},"^[^.]":{$ref:"#/definitions/topicItem"}},additionalProperties:false},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{}},additionalProperties:false},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}}},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},topicItem:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,properties:{$ref:{type:"string"},parameters:{type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/parameter"}},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false}}},parameter:{additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},schema:{$ref:"#/definitions/schema"}}},operation:{oneOf:[{$ref:"#/definitions/message"},{type:"object",required:["oneOf"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/message"}}}}]},message:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},headers:{$ref:"#/definitions/schema"},payload:{$ref:"#/definitions/schema"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},example:{}}},vendorExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-":{}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"}}}},{}],65:[function(require,module,exports){module.exports={title:"AsyncAPI 1.2.0 schema.",id:"http://asyncapi.hitchhq.com/v1/schema.json#",$schema:"http://json-schema.org/draft-04/schema#",type:"object",required:["asyncapi","info"],oneOf:[{required:["topics"]},{required:["stream"]},{required:["events"]}],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{asyncapi:{type:"string",enum:["1.0.0","1.1.0","1.2.0"],description:"The AsyncAPI specification version of this document."},info:{$ref:"#/definitions/info"},baseTopic:{type:"string",pattern:"^[^/.]",description:"The base topic to the API. Example: 'hitch'.",default:""},servers:{type:"array",items:{$ref:"#/definitions/server"},uniqueItems:true},topics:{$ref:"#/definitions/topics"},stream:{$ref:"#/definitions/stream",description:"The list of messages a consumer can read or write from/to a streaming API."},events:{$ref:"#/definitions/events",description:"The list of messages an events API sends and/or receives."},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{type:"string",format:"uri"}}},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","scheme"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{url:{type:"string"},description:{type:"string"},scheme:{type:"string",description:"The transfer protocol.",enum:["kafka","kafka-secure","amqp","amqps","mqtt","mqtts","secure-mqtt","ws","wss","stomp","stomps","jms","http","https"]},schemeVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"}}},topics:{type:"object",description:"Relative paths to the individual topics. They must be relative to the 'baseTopic'.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"},"^[^.]":{$ref:"#/definitions/topicItem"}},additionalProperties:false},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable topic parameters."},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{}},additionalProperties:false},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}}},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},topicItem:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,properties:{$ref:{type:"string"},parameters:{type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/parameter"}},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false}}},parameter:{additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},schema:{$ref:"#/definitions/schema"},$ref:{type:"string"}}},operation:{oneOf:[{$ref:"#/definitions/message"},{type:"object",required:["oneOf"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/message"}}}}]},stream:{title:"Stream Object",type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,properties:{framing:{title:"Stream Framing Object",type:"object",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,oneOf:[{additionalProperties:false,properties:{type:{type:"string",enum:["chunked"]},delimiter:{type:"string",enum:["\\r\\n","\\n"],default:"\\r\\n"}}},{additionalProperties:false,properties:{type:{type:"string",enum:["sse"]},delimiter:{type:"string",enum:["\\n\\n"],default:"\\n\\n"}}}]},read:{title:"Stream Read Object",type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/message"}},write:{title:"Stream Write Object",type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/message"}}}},events:{title:"Events Object",type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,anyOf:[{required:["receive"]},{required:["send"]}],properties:{receive:{title:"Events Receive Object",type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/message"}},send:{title:"Events Send Object",type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/message"}}}},message:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},headers:{$ref:"#/definitions/schema"},payload:{$ref:"#/definitions/schema"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},example:{}}},vendorExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-":{}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"}}}},{}],66:[function(require,module,exports){module.exports={title:"AsyncAPI 2.0.0-rc1 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","id","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.0.0-rc1"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri-reference"},info:{$ref:"#/definitions/info"},servers:{type:"array",items:{$ref:"#/definitions/server"},uniqueItems:true},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},baseChannel:{type:"string","x-format":"uri-path"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},traits:{$ref:"#/definitions/traits"}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},deprecated:{type:"boolean",default:false},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{},examples:{type:"array",items:{}}},additionalProperties:false},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}}},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},minProperties:1,properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/parameter"}},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},protocolInfo:{type:"object",additionalProperties:{type:"object"}}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},schema:{$ref:"#/definitions/schema"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},protocolInfo:{type:"object",additionalProperties:{type:"object"}},message:{oneOf:[{$ref:"#/definitions/message"},{type:"object",required:["oneOf"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/message"}}}}]}}},message:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]}},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},protocolInfo:{type:"object",additionalProperties:{type:"object"}},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(/\\w+)+"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},traits:{type:"object",additionalProperties:{anyOf:[{$ref:"#/definitions/operationTrait"},{$ref:"#/definitions/messageTrait"}]}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},protocolInfo:{type:"object",additionalProperties:{type:"object"}}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]}},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},protocolInfo:{type:"object",additionalProperties:{type:"object"}}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false,minProperties:1}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],67:[function(require,module,exports){module.exports={title:"AsyncAPI 2.0.0-rc2 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.0.0-rc2"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{type:"object",patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{$ref:"#/definitions/schema"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},minProperties:1,properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{$ref:"#/definitions/schema"},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false,minProperties:1}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],68:[function(require,module,exports){module.exports={title:"AsyncAPI 2.0.0 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.0.0"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,properties:{headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],69:[function(require,module,exports){module.exports={title:"AsyncAPI 2.1.0 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.1.0"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,anyOf:[{required:["payload"]},{required:["headers"]}],properties:{name:{type:"string",description:"Machine readable name of the message example."},summary:{type:"string",description:"A brief summary of the message example."},headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{},ibmmq:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,anyOf:[{required:["payload"]},{required:["headers"]}],properties:{name:{type:"string",description:"Machine readable name of the message example."},summary:{type:"string",description:"A brief summary of the message example."},headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"},{$ref:"#/definitions/SaslSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslSecurityScheme:{oneOf:[{$ref:"#/definitions/SaslPlainSecurityScheme"},{$ref:"#/definitions/SaslScramSecurityScheme"},{$ref:"#/definitions/SaslGssapiSecurityScheme"}]},SaslPlainSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["plain"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslScramSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["scramSha256","scramSha512"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslGssapiSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["gssapi"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],70:[function(require,module,exports){module.exports={title:"AsyncAPI 2.2.0 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.2.0"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},servers:{type:"array",description:"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.",items:{type:"string"},uniqueItems:true},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,anyOf:[{required:["payload"]},{required:["headers"]}],properties:{name:{type:"string",description:"Machine readable name of the message example."},summary:{type:"string",description:"A brief summary of the message example."},headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},anypointmq:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{},ibmmq:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"},{$ref:"#/definitions/SaslSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslSecurityScheme:{oneOf:[{$ref:"#/definitions/SaslPlainSecurityScheme"},{$ref:"#/definitions/SaslScramSecurityScheme"},{$ref:"#/definitions/SaslGssapiSecurityScheme"}]},SaslPlainSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["plain"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslScramSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["scramSha256","scramSha512"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslGssapiSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["gssapi"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],71:[function(require,module,exports){module.exports={title:"AsyncAPI 2.3.0 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.3.0"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{$ref:"#/definitions/servers"},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",anyOf:[{required:["url","protocol"]},{required:["$ref"]}],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemas:{$ref:"#/definitions/schemas"},servers:{$ref:"#/definitions/servers"},channels:{$ref:"#/definitions/channels"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},servers:{type:"array",description:"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.",items:{type:"string"},uniqueItems:true},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,anyOf:[{required:["payload"]},{required:["headers"]}],properties:{name:{type:"string",description:"Machine readable name of the message example."},summary:{type:"string",description:"A brief summary of the message example."},headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},anypointmq:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{},ibmmq:{},solace:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"},{$ref:"#/definitions/SaslSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslSecurityScheme:{oneOf:[{$ref:"#/definitions/SaslPlainSecurityScheme"},{$ref:"#/definitions/SaslScramSecurityScheme"},{$ref:"#/definitions/SaslGssapiSecurityScheme"}]},SaslPlainSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["plain"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslScramSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["scramSha256","scramSha512"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslGssapiSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["gssapi"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],72:[function(require,module,exports){const{load:load,Kind:Kind}=require("yaml-ast-parser");const loc=Symbol("pseudo-yaml-ast-loc");const hasOwnProp=(obj,key)=>obj&&typeof obj==="object"&&Object.prototype.hasOwnProperty.call(obj,key);const isUndefined=v=>v===undefined;const isNull=v=>v===null;const isPrimitive=v=>Number.isNaN(v)||isNull(v)||isUndefined(v)||typeof v==="symbol";const isPrimitiveNode=node=>isPrimitive(node.value)||!hasOwnProp(node,"value");const isBetween=(start,pos,end)=>pos<=end&&pos>=start;const getLoc=(input,{start:start=0,end:end=0})=>{const lines=input.split(/\n/);const loc={start:{},end:{}};let sum=0;for(const i of lines.keys()){const line=lines[i];const ls=sum;const le=sum+line.length;if(isUndefined(loc.start.line)&&isBetween(ls,start,le)){loc.start.line=i+1;loc.start.column=start-ls;loc.start.offset=start}if(isUndefined(loc.end.line)&&isBetween(ls,end,le)){loc.end.line=i+1;loc.end.column=end-ls;loc.end.offset=end}sum=le+1}return loc};const visitors={MAP:(node={},input="",ctx={})=>Object.assign(walk(node.mappings,input),{[loc]:getLoc(input,{start:node.startPosition,end:node.endPosition})}),MAPPING:(node={},input="",ctx={})=>{const value=walk([node.value],input);if(!isPrimitive(value)){value[loc]=getLoc(input,{start:node.startPosition,end:node.endPosition})}return Object.assign(ctx,{[node.key.value]:value})},SCALAR:(node={},input="")=>{if(isPrimitiveNode(node)){return node.value}const _loc=getLoc(input,{start:node.startPosition,end:node.endPosition});const wrappable=Constructor=>()=>{const v=new Constructor(node.value);v[loc]=_loc;return v};const object=()=>{node.value[loc]=_loc;return node.value};const types={boolean:wrappable(Boolean),number:wrappable(Number),string:wrappable(String),function:object,object:object};return types[typeof node.value]()},SEQ:(node={},input="")=>{const items=walk(node.items,input,[]);items[loc]=getLoc(input,{start:node.startPosition,end:node.endPosition});return items}};const walk=(nodes=[],input,ctx={})=>{const onNode=(node,ctx,fallback)=>{let visitor;if(node)visitor=visitors[Kind[node.kind]];return visitor?visitor(node,input,ctx):fallback};const walkObj=()=>nodes.reduce((sum,node)=>{return onNode(node,sum,sum)},ctx);const walkArr=()=>nodes.map(node=>onNode(node,ctx,null),ctx).filter(Boolean);return Array.isArray(ctx)?walkArr():walkObj()};module.exports.loc=loc;module.exports.yamlAST=(input=>walk([load(input)],input))},{"yaml-ast-parser":209}],73:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Ono=void 0;const extend_error_1=require("./extend-error");const normalize_1=require("./normalize");const to_json_1=require("./to-json");const constructor=Ono;exports.Ono=constructor;function Ono(ErrorConstructor,options){options=normalize_1.normalizeOptions(options);function ono(...args){let{originalError:originalError,props:props,message:message}=normalize_1.normalizeArgs(args,options);let newError=new ErrorConstructor(message);return extend_error_1.extendError(newError,originalError,props)}ono[Symbol.species]=ErrorConstructor;return ono}Ono.toJSON=function toJSON(error){return to_json_1.toJSON.call(error)};Ono.extend=function extend(error,originalError,props){if(props||originalError instanceof Error){return extend_error_1.extendError(error,originalError,props)}else if(originalError){return extend_error_1.extendError(error,undefined,originalError)}else{return extend_error_1.extendError(error)}}},{"./extend-error":74,"./normalize":77,"./to-json":80}],74:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.extendError=void 0;const isomorphic_node_1=require("./isomorphic.node");const stack_1=require("./stack");const to_json_1=require("./to-json");const protectedProps=["name","message","stack"];function extendError(error,originalError,props){let onoError=error;extendStack(onoError,originalError);if(originalError&&typeof originalError==="object"){mergeErrors(onoError,originalError)}onoError.toJSON=to_json_1.toJSON;if(isomorphic_node_1.addInspectMethod){isomorphic_node_1.addInspectMethod(onoError)}if(props&&typeof props==="object"){Object.assign(onoError,props)}return onoError}exports.extendError=extendError;function extendStack(newError,originalError){let stackProp=Object.getOwnPropertyDescriptor(newError,"stack");if(stack_1.isLazyStack(stackProp)){stack_1.lazyJoinStacks(stackProp,newError,originalError)}else if(stack_1.isWritableStack(stackProp)){newError.stack=stack_1.joinStacks(newError,originalError)}}function mergeErrors(newError,originalError){let keys=to_json_1.getDeepKeys(originalError,protectedProps);let _newError=newError;let _originalError=originalError;for(let key of keys){if(_newError[key]===undefined){try{_newError[key]=_originalError[key]}catch(e){}}}}},{"./isomorphic.node":76,"./stack":79,"./to-json":80}],75:[function(require,module,exports){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});exports.ono=void 0;const singleton_1=require("./singleton");Object.defineProperty(exports,"ono",{enumerable:true,get:function(){return singleton_1.ono}});var constructor_1=require("./constructor");Object.defineProperty(exports,"Ono",{enumerable:true,get:function(){return constructor_1.Ono}});__exportStar(require("./types"),exports);exports.default=singleton_1.ono;if(typeof module==="object"&&typeof module.exports==="object"){module.exports=Object.assign(module.exports.default,module.exports)}},{"./constructor":73,"./singleton":78,"./types":81}],76:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.addInspectMethod=exports.format=void 0;exports.format=false;exports.addInspectMethod=false},{}],77:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.normalizeArgs=exports.normalizeOptions=void 0;const isomorphic_node_1=require("./isomorphic.node");function normalizeOptions(options){options=options||{};return{concatMessages:options.concatMessages===undefined?true:Boolean(options.concatMessages),format:options.format===undefined?isomorphic_node_1.format:typeof options.format==="function"?options.format:false}}exports.normalizeOptions=normalizeOptions;function normalizeArgs(args,options){let originalError;let props;let formatArgs;let message="";if(typeof args[0]==="string"){formatArgs=args}else if(typeof args[1]==="string"){if(args[0]instanceof Error){originalError=args[0]}else{props=args[0]}formatArgs=args.slice(1)}else{originalError=args[0];props=args[1];formatArgs=args.slice(2)}if(formatArgs.length>0){if(options.format){message=options.format.apply(undefined,formatArgs)}else{message=formatArgs.join(" ")}}if(options.concatMessages&&originalError&&originalError.message){message+=(message?" \n":"")+originalError.message}return{originalError:originalError,props:props,message:message}}exports.normalizeArgs=normalizeArgs},{"./isomorphic.node":76}],78:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ono=void 0;const constructor_1=require("./constructor");const singleton=ono;exports.ono=singleton;ono.error=new constructor_1.Ono(Error);ono.eval=new constructor_1.Ono(EvalError);ono.range=new constructor_1.Ono(RangeError);ono.reference=new constructor_1.Ono(ReferenceError);ono.syntax=new constructor_1.Ono(SyntaxError);ono.type=new constructor_1.Ono(TypeError);ono.uri=new constructor_1.Ono(URIError);const onoMap=ono;function ono(...args){let originalError=args[0];if(typeof originalError==="object"&&typeof originalError.name==="string"){for(let typedOno of Object.values(onoMap)){if(typeof typedOno==="function"&&typedOno.name==="ono"){let species=typedOno[Symbol.species];if(species&&species!==Error&&(originalError instanceof species||originalError.name===species.name)){return typedOno.apply(undefined,args)}}}}return ono.error.apply(undefined,args)}},{"./constructor":73}],79:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.lazyJoinStacks=exports.joinStacks=exports.isWritableStack=exports.isLazyStack=void 0;const newline=/\r?\n/;const onoCall=/\bono[ @]/;function isLazyStack(stackProp){return Boolean(stackProp&&stackProp.configurable&&typeof stackProp.get==="function")}exports.isLazyStack=isLazyStack;function isWritableStack(stackProp){return Boolean(!stackProp||stackProp.writable||typeof stackProp.set==="function")}exports.isWritableStack=isWritableStack;function joinStacks(newError,originalError){let newStack=popStack(newError.stack);let originalStack=originalError?originalError.stack:undefined;if(newStack&&originalStack){return newStack+"\n\n"+originalStack}else{return newStack||originalStack}}exports.joinStacks=joinStacks;function lazyJoinStacks(lazyStack,newError,originalError){if(originalError){Object.defineProperty(newError,"stack",{get:()=>{let newStack=lazyStack.get.apply(newError);return joinStacks({stack:newStack},originalError)},enumerable:false,configurable:true})}else{lazyPopStack(newError,lazyStack)}}exports.lazyJoinStacks=lazyJoinStacks;function popStack(stack){if(stack){let lines=stack.split(newline);let onoStart;for(let i=0;i0){return lines.join("\n")}}return stack}function lazyPopStack(error,lazyStack){Object.defineProperty(error,"stack",{get:()=>popStack(lazyStack.get.apply(error)),enumerable:false,configurable:true})}},{}],80:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getDeepKeys=exports.toJSON=void 0;const nonJsonTypes=["function","symbol","undefined"];const protectedProps=["constructor","prototype","__proto__"];const objectPrototype=Object.getPrototypeOf({});function toJSON(){let pojo={};let error=this;for(let key of getDeepKeys(error)){if(typeof key==="string"){let value=error[key];let type=typeof value;if(!nonJsonTypes.includes(type)){pojo[key]=value}}}return pojo}exports.toJSON=toJSON;function getDeepKeys(obj,omit=[]){let keys=[];while(obj&&obj!==objectPrototype){keys=keys.concat(Object.getOwnPropertyNames(obj),Object.getOwnPropertySymbols(obj));obj=Object.getPrototypeOf(obj)}let uniqueKeys=new Set(keys);for(let key of omit.concat(protectedProps)){uniqueKeys.delete(key)}return uniqueKeys}exports.getDeepKeys=getDeepKeys},{}],81:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const util_1=require("util")},{util:204}],82:[function(require,module,exports){"use strict";var compileSchema=require("./compile"),resolve=require("./compile/resolve"),Cache=require("./cache"),SchemaObject=require("./compile/schema_obj"),stableStringify=require("fast-json-stable-stringify"),formats=require("./compile/formats"),rules=require("./compile/rules"),$dataMetaSchema=require("./data"),util=require("./compile/util");module.exports=Ajv;Ajv.prototype.validate=validate;Ajv.prototype.compile=compile;Ajv.prototype.addSchema=addSchema;Ajv.prototype.addMetaSchema=addMetaSchema;Ajv.prototype.validateSchema=validateSchema;Ajv.prototype.getSchema=getSchema;Ajv.prototype.removeSchema=removeSchema;Ajv.prototype.addFormat=addFormat;Ajv.prototype.errorsText=errorsText;Ajv.prototype._addSchema=_addSchema;Ajv.prototype._compile=_compile;Ajv.prototype.compileAsync=require("./compile/async");var customKeyword=require("./keyword");Ajv.prototype.addKeyword=customKeyword.add;Ajv.prototype.getKeyword=customKeyword.get;Ajv.prototype.removeKeyword=customKeyword.remove;Ajv.prototype.validateKeyword=customKeyword.validate;var errorClasses=require("./compile/error_classes");Ajv.ValidationError=errorClasses.Validation;Ajv.MissingRefError=errorClasses.MissingRef;Ajv.$dataMetaSchema=$dataMetaSchema;var META_SCHEMA_ID="http://json-schema.org/draft-07/schema";var META_IGNORE_OPTIONS=["removeAdditional","useDefaults","coerceTypes","strictDefaults"];var META_SUPPORT_DATA=["/properties"];function Ajv(opts){if(!(this instanceof Ajv))return new Ajv(opts);opts=this._opts=util.copy(opts)||{};setLogger(this);this._schemas={};this._refs={};this._fragments={};this._formats=formats(opts.format);this._cache=opts.cache||new Cache;this._loadingSchemas={};this._compilations=[];this.RULES=rules();this._getId=chooseGetId(opts);opts.loopRequired=opts.loopRequired||Infinity;if(opts.errorDataPath=="property")opts._errorDataPathProperty=true;if(opts.serialize===undefined)opts.serialize=stableStringify;this._metaOpts=getMetaSchemaOptions(this);if(opts.formats)addInitialFormats(this);if(opts.keywords)addInitialKeywords(this);addDefaultMetaSchema(this);if(typeof opts.meta=="object")this.addMetaSchema(opts.meta);if(opts.nullable)this.addKeyword("nullable",{metaSchema:{type:"boolean"}});addInitialSchemas(this)}function validate(schemaKeyRef,data){var v;if(typeof schemaKeyRef=="string"){v=this.getSchema(schemaKeyRef);if(!v)throw new Error('no schema with key or ref "'+schemaKeyRef+'"')}else{var schemaObj=this._addSchema(schemaKeyRef);v=schemaObj.validate||this._compile(schemaObj)}var valid=v(data);if(v.$async!==true)this.errors=v.errors;return valid}function compile(schema,_meta){var schemaObj=this._addSchema(schema,undefined,_meta);return schemaObj.validate||this._compile(schemaObj)}function addSchema(schema,key,_skipValidation,_meta){if(Array.isArray(schema)){for(var i=0;i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;var URL=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i;var UUID=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;var JSON_POINTER=/^(?:\/(?:[^~/]|~0|~1)*)*$/;var JSON_POINTER_URI_FRAGMENT=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;var RELATIVE_JSON_POINTER=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;module.exports=formats;function formats(mode){mode=mode=="full"?"full":"fast";return util.copy(formats[mode])}formats.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":URITEMPLATE,url:URL,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:HOSTNAME,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:regex,uuid:UUID,"json-pointer":JSON_POINTER,"json-pointer-uri-fragment":JSON_POINTER_URI_FRAGMENT,"relative-json-pointer":RELATIVE_JSON_POINTER};formats.full={date:date,time:time,"date-time":date_time,uri:uri,"uri-reference":URIREF,"uri-template":URITEMPLATE,url:URL,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:HOSTNAME,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:regex,uuid:UUID,"json-pointer":JSON_POINTER,"json-pointer-uri-fragment":JSON_POINTER_URI_FRAGMENT,"relative-json-pointer":RELATIVE_JSON_POINTER};function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function date(str){var matches=str.match(DATE);if(!matches)return false;var year=+matches[1];var month=+matches[2];var day=+matches[3];return month>=1&&month<=12&&day>=1&&day<=(month==2&&isLeapYear(year)?29:DAYS[month])}function time(str,full){var matches=str.match(TIME);if(!matches)return false;var hour=matches[1];var minute=matches[2];var second=matches[3];var timeZone=matches[5];return(hour<=23&&minute<=59&&second<=59||hour==23&&minute==59&&second==60)&&(!full||timeZone)}var DATE_TIME_SEPARATOR=/t|\s/i;function date_time(str){var dateTime=str.split(DATE_TIME_SEPARATOR);return dateTime.length==2&&date(dateTime[0])&&time(dateTime[1],true)}var NOT_URI_FRAGMENT=/\/|:/;function uri(str){return NOT_URI_FRAGMENT.test(str)&&URI.test(str)}var Z_ANCHOR=/[^\\]\\Z/;function regex(str){if(Z_ANCHOR.test(str))return false;try{new RegExp(str);return true}catch(e){return false}}},{"./util":92}],87:[function(require,module,exports){"use strict";var resolve=require("./resolve"),util=require("./util"),errorClasses=require("./error_classes"),stableStringify=require("fast-json-stable-stringify");var validateGenerator=require("../dotjs/validate");var ucs2length=util.ucs2length;var equal=require("fast-deep-equal");var ValidationError=errorClasses.Validation;module.exports=compile;function compile(schema,root,localRefs,baseId){var self=this,opts=this._opts,refVal=[undefined],refs={},patterns=[],patternsHash={},defaults=[],defaultsHash={},customRules=[];root=root||{schema:schema,refVal:refVal,refs:refs};var c=checkCompiling.call(this,schema,root,baseId);var compilation=this._compilations[c.index];if(c.compiling)return compilation.callValidate=callValidate;var formats=this._formats;var RULES=this.RULES;try{var v=localCompile(schema,root,localRefs,baseId);compilation.validate=v;var cv=compilation.callValidate;if(cv){cv.schema=v.schema;cv.errors=null;cv.refs=v.refs;cv.refVal=v.refVal;cv.root=v.root;cv.$async=v.$async;if(opts.sourceCode)cv.source=v.source}return v}finally{endCompiling.call(this,schema,root,baseId)}function callValidate(){var validate=compilation.validate;var result=validate.apply(this,arguments);callValidate.errors=validate.errors;return result}function localCompile(_schema,_root,localRefs,baseId){var isRoot=!_root||_root&&_root.schema==_schema;if(_root.schema!=root.schema)return compile.call(self,_schema,_root,localRefs,baseId);var $async=_schema.$async===true;var sourceCode=validateGenerator({isTop:true,schema:_schema,isRoot:isRoot,baseId:baseId,root:_root,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:errorClasses.MissingRef,RULES:RULES,validate:validateGenerator,util:util,resolve:resolve,resolveRef:resolveRef,usePattern:usePattern,useDefault:useDefault,useCustomRule:useCustomRule,opts:opts,formats:formats,logger:self.logger,self:self});sourceCode=vars(refVal,refValCode)+vars(patterns,patternCode)+vars(defaults,defaultCode)+vars(customRules,customRuleCode)+sourceCode;if(opts.processCode)sourceCode=opts.processCode(sourceCode);var validate;try{var makeValidate=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",sourceCode);validate=makeValidate(self,RULES,formats,root,refVal,defaults,customRules,equal,ucs2length,ValidationError);refVal[0]=validate}catch(e){self.logger.error("Error compiling schema, function code:",sourceCode);throw e}validate.schema=_schema;validate.errors=null;validate.refs=refs;validate.refVal=refVal;validate.root=isRoot?validate:_root;if($async)validate.$async=true;if(opts.sourceCode===true){validate.source={code:sourceCode,patterns:patterns,defaults:defaults}}return validate}function resolveRef(baseId,ref,isRoot){ref=resolve.url(baseId,ref);var refIndex=refs[ref];var _refVal,refCode;if(refIndex!==undefined){_refVal=refVal[refIndex];refCode="refVal["+refIndex+"]";return resolvedRef(_refVal,refCode)}if(!isRoot&&root.refs){var rootRefId=root.refs[ref];if(rootRefId!==undefined){_refVal=root.refVal[rootRefId];refCode=addLocalRef(ref,_refVal);return resolvedRef(_refVal,refCode)}}refCode=addLocalRef(ref);var v=resolve.call(self,localCompile,root,ref);if(v===undefined){var localSchema=localRefs&&localRefs[ref];if(localSchema){v=resolve.inlineRef(localSchema,opts.inlineRefs)?localSchema:compile.call(self,localSchema,root,localRefs,baseId)}}if(v===undefined){removeLocalRef(ref)}else{replaceLocalRef(ref,v);return resolvedRef(v,refCode)}}function addLocalRef(ref,v){var refId=refVal.length;refVal[refId]=v;refs[ref]=refId;return"refVal"+refId}function removeLocalRef(ref){delete refs[ref]}function replaceLocalRef(ref,v){var refId=refs[ref];refVal[refId]=v}function resolvedRef(refVal,code){return typeof refVal=="object"||typeof refVal=="boolean"?{code:code,schema:refVal,inline:true}:{code:code,$async:refVal&&!!refVal.$async}}function usePattern(regexStr){var index=patternsHash[regexStr];if(index===undefined){index=patternsHash[regexStr]=patterns.length;patterns[index]=regexStr}return"pattern"+index}function useDefault(value){switch(typeof value){case"boolean":case"number":return""+value;case"string":return util.toQuotedString(value);case"object":if(value===null)return"null";var valueStr=stableStringify(value);var index=defaultsHash[valueStr];if(index===undefined){index=defaultsHash[valueStr]=defaults.length;defaults[index]=value}return"default"+index}}function useCustomRule(rule,schema,parentSchema,it){if(self._opts.validateSchema!==false){var deps=rule.definition.dependencies;if(deps&&!deps.every(function(keyword){return Object.prototype.hasOwnProperty.call(parentSchema,keyword)}))throw new Error("parent schema must have all required keywords: "+deps.join(","));var validateSchema=rule.definition.validateSchema;if(validateSchema){var valid=validateSchema(schema);if(!valid){var message="keyword schema is invalid: "+self.errorsText(validateSchema.errors);if(self._opts.validateSchema=="log")self.logger.error(message);else throw new Error(message)}}}var compile=rule.definition.compile,inline=rule.definition.inline,macro=rule.definition.macro;var validate;if(compile){validate=compile.call(self,schema,parentSchema,it)}else if(macro){validate=macro.call(self,schema,parentSchema,it);if(opts.validateSchema!==false)self.validateSchema(validate,true)}else if(inline){validate=inline.call(self,it,rule.keyword,schema,parentSchema)}else{validate=rule.definition.validate;if(!validate)return}if(validate===undefined)throw new Error('custom keyword "'+rule.keyword+'"failed to compile');var index=customRules.length;customRules[index]=validate;return{code:"customRule"+index,validate:validate}}}function checkCompiling(schema,root,baseId){var index=compIndex.call(this,schema,root,baseId);if(index>=0)return{index:index,compiling:true};index=this._compilations.length;this._compilations[index]={schema:schema,root:root,baseId:baseId};return{index:index,compiling:false}}function endCompiling(schema,root,baseId){var i=compIndex.call(this,schema,root,baseId);if(i>=0)this._compilations.splice(i,1)}function compIndex(schema,root,baseId){for(var i=0;i=55296&&value<=56319&&pos=lvl)throw new Error("Cannot access property/index "+up+" levels up, current level is "+lvl);return paths[lvl-up]}if(up>lvl)throw new Error("Cannot access data "+up+" levels up, current level is "+lvl);data="data"+(lvl-up||"");if(!jsonPointer)return data}var expr=data;var segments=jsonPointer.split("/");for(var i=0;i",$notOp=$isMax?">":"<",$errorKeyword=undefined;if($isDataExcl){var $schemaValueExcl=it.util.getData($schemaExcl.$data,$dataLvl,it.dataPathArr),$exclusive="exclusive"+$lvl,$exclType="exclType"+$lvl,$exclIsNumber="exclIsNumber"+$lvl,$opExpr="op"+$lvl,$opStr="' + "+$opExpr+" + '";out+=" var schemaExcl"+$lvl+" = "+$schemaValueExcl+"; ";$schemaValueExcl="schemaExcl"+$lvl;out+=" var "+$exclusive+"; var "+$exclType+" = typeof "+$schemaValueExcl+"; if ("+$exclType+" != 'boolean' && "+$exclType+" != 'undefined' && "+$exclType+" != 'number') { ";var $errorKeyword=$exclusiveKeyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: '"+$exclusiveKeyword+" should be boolean' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } else if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" "+$exclType+" == 'number' ? ( ("+$exclusive+" = "+$schemaValue+" === undefined || "+$schemaValueExcl+" "+$op+"= "+$schemaValue+") ? "+$data+" "+$notOp+"= "+$schemaValueExcl+" : "+$data+" "+$notOp+" "+$schemaValue+" ) : ( ("+$exclusive+" = "+$schemaValueExcl+" === true) ? "+$data+" "+$notOp+"= "+$schemaValue+" : "+$data+" "+$notOp+" "+$schemaValue+" ) || "+$data+" !== "+$data+") { var op"+$lvl+" = "+$exclusive+" ? '"+$op+"' : '"+$op+"='; ";if($schema===undefined){$errorKeyword=$exclusiveKeyword;$errSchemaPath=it.errSchemaPath+"/"+$exclusiveKeyword;$schemaValue=$schemaValueExcl;$isData=$isDataExcl}}else{var $exclIsNumber=typeof $schemaExcl=="number",$opStr=$op;if($exclIsNumber&&$isData){var $opExpr="'"+$opStr+"'";out+=" if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" ( "+$schemaValue+" === undefined || "+$schemaExcl+" "+$op+"= "+$schemaValue+" ? "+$data+" "+$notOp+"= "+$schemaExcl+" : "+$data+" "+$notOp+" "+$schemaValue+" ) || "+$data+" !== "+$data+") { "}else{if($exclIsNumber&&$schema===undefined){$exclusive=true;$errorKeyword=$exclusiveKeyword;$errSchemaPath=it.errSchemaPath+"/"+$exclusiveKeyword;$schemaValue=$schemaExcl;$notOp+="="}else{if($exclIsNumber)$schemaValue=Math[$isMax?"min":"max"]($schemaExcl,$schema);if($schemaExcl===($exclIsNumber?$schemaValue:true)){$exclusive=true;$errorKeyword=$exclusiveKeyword;$errSchemaPath=it.errSchemaPath+"/"+$exclusiveKeyword;$notOp+="="}else{$exclusive=false;$opStr+="="}}var $opExpr="'"+$opStr+"'";out+=" if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" "+$data+" "+$notOp+" "+$schemaValue+" || "+$data+" !== "+$data+") { "}}$errorKeyword=$errorKeyword||$keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_limit")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { comparison: "+$opExpr+", limit: "+$schemaValue+", exclusive: "+$exclusive+" } ";if(it.opts.messages!==false){out+=" , message: 'should be "+$opStr+" ";if($isData){out+="' + "+$schemaValue}else{out+=""+$schemaValue+"'"}}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } ";if($breakOnError){out+=" else { "}return out}},{}],96:[function(require,module,exports){"use strict";module.exports=function generate__limitItems(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $op=$keyword=="maxItems"?">":"<";out+="if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" "+$data+".length "+$op+" "+$schemaValue+") { ";var $errorKeyword=$keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_limitItems")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { limit: "+$schemaValue+" } ";if(it.opts.messages!==false){out+=" , message: 'should NOT have ";if($keyword=="maxItems"){out+="more"}else{out+="fewer"}out+=" than ";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+$schema}out+=" items' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],97:[function(require,module,exports){"use strict";module.exports=function generate__limitLength(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $op=$keyword=="maxLength"?">":"<";out+="if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}if(it.opts.unicode===false){out+=" "+$data+".length "}else{out+=" ucs2length("+$data+") "}out+=" "+$op+" "+$schemaValue+") { ";var $errorKeyword=$keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_limitLength")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { limit: "+$schemaValue+" } ";if(it.opts.messages!==false){out+=" , message: 'should NOT be ";if($keyword=="maxLength"){out+="longer"}else{out+="shorter"}out+=" than ";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+$schema}out+=" characters' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],98:[function(require,module,exports){"use strict";module.exports=function generate__limitProperties(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $op=$keyword=="maxProperties"?">":"<";out+="if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" Object.keys("+$data+").length "+$op+" "+$schemaValue+") { ";var $errorKeyword=$keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_limitProperties")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { limit: "+$schemaValue+" } ";if(it.opts.messages!==false){out+=" , message: 'should NOT have ";if($keyword=="maxProperties"){out+="more"}else{out+="fewer"}out+=" than ";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+$schema}out+=" properties' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],99:[function(require,module,exports){"use strict";module.exports=function generate_allOf(it,$keyword,$ruleType){var out=" ";var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $currentBaseId=$it.baseId,$allSchemasEmpty=true;var arr1=$schema;if(arr1){var $sch,$i=-1,l1=arr1.length-1;while($i0:it.util.schemaHasRules($sch,it.RULES.all)){$allSchemasEmpty=false;$it.schema=$sch;$it.schemaPath=$schemaPath+"["+$i+"]";$it.errSchemaPath=$errSchemaPath+"/"+$i;out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}}if($breakOnError){if($allSchemasEmpty){out+=" if (true) { "}else{out+=" "+$closingBraces.slice(0,-1)+" "}}out=it.util.cleanUpCode(out);return out}},{}],100:[function(require,module,exports){"use strict";module.exports=function generate_anyOf(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $noEmptySchema=$schema.every(function($sch){return it.opts.strictKeywords?typeof $sch=="object"&&Object.keys($sch).length>0:it.util.schemaHasRules($sch,it.RULES.all)});if($noEmptySchema){var $currentBaseId=$it.baseId;out+=" var "+$errs+" = errors; var "+$valid+" = false; ";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;var arr1=$schema;if(arr1){var $sch,$i=-1,l1=arr1.length-1;while($i0:it.util.schemaHasRules($schema,it.RULES.all);out+="var "+$errs+" = errors;var "+$valid+";";if($nonEmptySchema){var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;out+=" var "+$nextValid+" = false; for (var "+$idx+" = 0; "+$idx+" < "+$data+".length; "+$idx+"++) { ";$it.errorPath=it.util.getPathExpr(it.errorPath,$idx,it.opts.jsonPointers,true);var $passData=$data+"["+$idx+"]";$it.dataPathArr[$dataNxt]=$idx;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}out+=" if ("+$nextValid+") break; } ";it.compositeRule=$it.compositeRule=$wasComposite;out+=" "+$closingBraces+" if (!"+$nextValid+") {"}else{out+=" if ("+$data+".length == 0) {"}var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"contains"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: 'should contain a valid item' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } else { ";if($nonEmptySchema){out+=" errors = "+$errs+"; if (vErrors !== null) { if ("+$errs+") vErrors.length = "+$errs+"; else vErrors = null; } "}if(it.opts.allErrors){out+=" } "}out=it.util.cleanUpCode(out);return out}},{}],104:[function(require,module,exports){"use strict";module.exports=function generate_custom(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $rule=this,$definition="definition"+$lvl,$rDef=$rule.definition,$closingBraces="";var $compile,$inline,$macro,$ruleValidate,$validateCode;if($isData&&$rDef.$data){$validateCode="keywordValidate"+$lvl;var $validateSchema=$rDef.validateSchema;out+=" var "+$definition+" = RULES.custom['"+$keyword+"'].definition; var "+$validateCode+" = "+$definition+".validate;"}else{$ruleValidate=it.useCustomRule($rule,$schema,it.schema,it);if(!$ruleValidate)return;$schemaValue="validate.schema"+$schemaPath;$validateCode=$ruleValidate.code;$compile=$rDef.compile;$inline=$rDef.inline;$macro=$rDef.macro}var $ruleErrs=$validateCode+".errors",$i="i"+$lvl,$ruleErr="ruleErr"+$lvl,$asyncKeyword=$rDef.async;if($asyncKeyword&&!it.async)throw new Error("async keyword in sync schema");if(!($inline||$macro)){out+=""+$ruleErrs+" = null;"}out+="var "+$errs+" = errors;var "+$valid+";";if($isData&&$rDef.$data){$closingBraces+="}";out+=" if ("+$schemaValue+" === undefined) { "+$valid+" = true; } else { ";if($validateSchema){$closingBraces+="}";out+=" "+$valid+" = "+$definition+".validateSchema("+$schemaValue+"); if ("+$valid+") { "}}if($inline){if($rDef.statements){out+=" "+$ruleValidate.validate+" "}else{out+=" "+$valid+" = "+$ruleValidate.validate+"; "}}else if($macro){var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;$it.schema=$ruleValidate.validate;$it.schemaPath="";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;var $code=it.validate($it).replace(/validate\.schema/g,$validateCode);it.compositeRule=$it.compositeRule=$wasComposite;out+=" "+$code}else{var $$outStack=$$outStack||[];$$outStack.push(out);out="";out+=" "+$validateCode+".call( ";if(it.opts.passContext){out+="this"}else{out+="self"}if($compile||$rDef.schema===false){out+=" , "+$data+" "}else{out+=" , "+$schemaValue+" , "+$data+" , validate.schema"+it.schemaPath+" "}out+=" , (dataPath || '')";if(it.errorPath!='""'){out+=" + "+it.errorPath}var $parentData=$dataLvl?"data"+($dataLvl-1||""):"parentData",$parentDataProperty=$dataLvl?it.dataPathArr[$dataLvl]:"parentDataProperty";out+=" , "+$parentData+" , "+$parentDataProperty+" , rootData ) ";var def_callRuleValidate=out;out=$$outStack.pop();if($rDef.errors===false){out+=" "+$valid+" = ";if($asyncKeyword){out+="await "}out+=""+def_callRuleValidate+"; "}else{if($asyncKeyword){$ruleErrs="customErrors"+$lvl;out+=" var "+$ruleErrs+" = null; try { "+$valid+" = await "+def_callRuleValidate+"; } catch (e) { "+$valid+" = false; if (e instanceof ValidationError) "+$ruleErrs+" = e.errors; else throw e; } "}else{out+=" "+$ruleErrs+" = null; "+$valid+" = "+def_callRuleValidate+"; "}}}if($rDef.modifying){out+=" if ("+$parentData+") "+$data+" = "+$parentData+"["+$parentDataProperty+"];"}out+=""+$closingBraces;if($rDef.valid){if($breakOnError){out+=" if (true) { "}}else{out+=" if ( ";if($rDef.valid===undefined){out+=" !";if($macro){out+=""+$nextValid}else{out+=""+$valid}}else{out+=" "+!$rDef.valid+" "}out+=") { ";$errorKeyword=$rule.keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"custom")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { keyword: '"+$rule.keyword+"' } ";if(it.opts.messages!==false){out+=" , message: 'should pass \""+$rule.keyword+"\" keyword validation' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}var def_customError=out;out=$$outStack.pop();if($inline){if($rDef.errors){if($rDef.errors!="full"){out+=" for (var "+$i+"="+$errs+"; "+$i+"0:it.util.schemaHasRules($sch,it.RULES.all)){out+=" "+$nextValid+" = true; if ( "+$data+it.util.getProperty($property)+" !== undefined ";if($ownProperties){out+=" && Object.prototype.hasOwnProperty.call("+$data+", '"+it.util.escapeQuotes($property)+"') "}out+=") { ";$it.schema=$sch;$it.schemaPath=$schemaPath+it.util.getProperty($property);$it.errSchemaPath=$errSchemaPath+"/"+it.util.escapeFragment($property);out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;out+=" } ";if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}if($breakOnError){out+=" "+$closingBraces+" if ("+$errs+" == errors) {"}out=it.util.cleanUpCode(out);return out}},{}],106:[function(require,module,exports){"use strict";module.exports=function generate_enum(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $i="i"+$lvl,$vSchema="schema"+$lvl;if(!$isData){out+=" var "+$vSchema+" = validate.schema"+$schemaPath+";"}out+="var "+$valid+";";if($isData){out+=" if (schema"+$lvl+" === undefined) "+$valid+" = true; else if (!Array.isArray(schema"+$lvl+")) "+$valid+" = false; else {"}out+=""+$valid+" = false;for (var "+$i+"=0; "+$i+"<"+$vSchema+".length; "+$i+"++) if (equal("+$data+", "+$vSchema+"["+$i+"])) { "+$valid+" = true; break; }";if($isData){out+=" } "}out+=" if (!"+$valid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"enum"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { allowedValues: schema"+$lvl+" } ";if(it.opts.messages!==false){out+=" , message: 'should be equal to one of the allowed values' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" }";if($breakOnError){out+=" else { "}return out}},{}],107:[function(require,module,exports){"use strict";module.exports=function generate_format(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");if(it.opts.format===false){if($breakOnError){out+=" if (true) { "}return out}var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $unknownFormats=it.opts.unknownFormats,$allowUnknown=Array.isArray($unknownFormats);if($isData){var $format="format"+$lvl,$isObject="isObject"+$lvl,$formatType="formatType"+$lvl;out+=" var "+$format+" = formats["+$schemaValue+"]; var "+$isObject+" = typeof "+$format+" == 'object' && !("+$format+" instanceof RegExp) && "+$format+".validate; var "+$formatType+" = "+$isObject+" && "+$format+".type || 'string'; if ("+$isObject+") { ";if(it.async){out+=" var async"+$lvl+" = "+$format+".async; "}out+=" "+$format+" = "+$format+".validate; } if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'string') || "}out+=" (";if($unknownFormats!="ignore"){out+=" ("+$schemaValue+" && !"+$format+" ";if($allowUnknown){out+=" && self._opts.unknownFormats.indexOf("+$schemaValue+") == -1 "}out+=") || "}out+=" ("+$format+" && "+$formatType+" == '"+$ruleType+"' && !(typeof "+$format+" == 'function' ? ";if(it.async){out+=" (async"+$lvl+" ? await "+$format+"("+$data+") : "+$format+"("+$data+")) "}else{out+=" "+$format+"("+$data+") "}out+=" : "+$format+".test("+$data+"))))) {"}else{var $format=it.formats[$schema];if(!$format){if($unknownFormats=="ignore"){it.logger.warn('unknown format "'+$schema+'" ignored in schema at path "'+it.errSchemaPath+'"');if($breakOnError){out+=" if (true) { "}return out}else if($allowUnknown&&$unknownFormats.indexOf($schema)>=0){if($breakOnError){out+=" if (true) { "}return out}else{throw new Error('unknown format "'+$schema+'" is used in schema at path "'+it.errSchemaPath+'"')}}var $isObject=typeof $format=="object"&&!($format instanceof RegExp)&&$format.validate;var $formatType=$isObject&&$format.type||"string";if($isObject){var $async=$format.async===true;$format=$format.validate}if($formatType!=$ruleType){if($breakOnError){out+=" if (true) { "}return out}if($async){if(!it.async)throw new Error("async format in sync schema");var $formatRef="formats"+it.util.getProperty($schema)+".validate";out+=" if (!(await "+$formatRef+"("+$data+"))) { "}else{out+=" if (! ";var $formatRef="formats"+it.util.getProperty($schema);if($isObject)$formatRef+=".validate";if(typeof $format=="function"){out+=" "+$formatRef+"("+$data+") "}else{out+=" "+$formatRef+".test("+$data+") "}out+=") { "}}var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"format"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { format: ";if($isData){out+=""+$schemaValue}else{out+=""+it.util.toQuotedString($schema)}out+=" } ";if(it.opts.messages!==false){out+=" , message: 'should match format \"";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+it.util.escapeQuotes($schema)}out+="\"' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+it.util.toQuotedString($schema)}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } ";if($breakOnError){out+=" else { "}return out}},{}],108:[function(require,module,exports){"use strict";module.exports=function generate_if(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $it=it.util.copy(it);$it.level++;var $nextValid="valid"+$it.level;var $thenSch=it.schema["then"],$elseSch=it.schema["else"],$thenPresent=$thenSch!==undefined&&(it.opts.strictKeywords?typeof $thenSch=="object"&&Object.keys($thenSch).length>0:it.util.schemaHasRules($thenSch,it.RULES.all)),$elsePresent=$elseSch!==undefined&&(it.opts.strictKeywords?typeof $elseSch=="object"&&Object.keys($elseSch).length>0:it.util.schemaHasRules($elseSch,it.RULES.all)),$currentBaseId=$it.baseId;if($thenPresent||$elsePresent){var $ifClause;$it.createErrors=false;$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;out+=" var "+$errs+" = errors; var "+$valid+" = true; ";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;$it.createErrors=true;out+=" errors = "+$errs+"; if (vErrors !== null) { if ("+$errs+") vErrors.length = "+$errs+"; else vErrors = null; } ";it.compositeRule=$it.compositeRule=$wasComposite;if($thenPresent){out+=" if ("+$nextValid+") { ";$it.schema=it.schema["then"];$it.schemaPath=it.schemaPath+".then";$it.errSchemaPath=it.errSchemaPath+"/then";out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;out+=" "+$valid+" = "+$nextValid+"; ";if($thenPresent&&$elsePresent){$ifClause="ifClause"+$lvl;out+=" var "+$ifClause+" = 'then'; "}else{$ifClause="'then'"}out+=" } ";if($elsePresent){out+=" else { "}}else{out+=" if (!"+$nextValid+") { "}if($elsePresent){$it.schema=it.schema["else"];$it.schemaPath=it.schemaPath+".else";$it.errSchemaPath=it.errSchemaPath+"/else";out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;out+=" "+$valid+" = "+$nextValid+"; ";if($thenPresent&&$elsePresent){$ifClause="ifClause"+$lvl;out+=" var "+$ifClause+" = 'else'; "}else{$ifClause="'else'"}out+=" } "}out+=" if (!"+$valid+") { var err = ";if(it.createErrors!==false){out+=" { keyword: '"+"if"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { failingKeyword: "+$ifClause+" } ";if(it.opts.messages!==false){out+=" , message: 'should match \"' + "+$ifClause+" + '\" schema' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}out+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(vErrors); "}else{out+=" validate.errors = vErrors; return false; "}}out+=" } ";if($breakOnError){out+=" else { "}out=it.util.cleanUpCode(out)}else{if($breakOnError){out+=" if (true) { "}}return out}},{}],109:[function(require,module,exports){"use strict";module.exports={$ref:require("./ref"),allOf:require("./allOf"),anyOf:require("./anyOf"),$comment:require("./comment"),const:require("./const"),contains:require("./contains"),dependencies:require("./dependencies"),enum:require("./enum"),format:require("./format"),if:require("./if"),items:require("./items"),maximum:require("./_limit"),minimum:require("./_limit"),maxItems:require("./_limitItems"),minItems:require("./_limitItems"),maxLength:require("./_limitLength"),minLength:require("./_limitLength"),maxProperties:require("./_limitProperties"),minProperties:require("./_limitProperties"),multipleOf:require("./multipleOf"),not:require("./not"),oneOf:require("./oneOf"),pattern:require("./pattern"),properties:require("./properties"),propertyNames:require("./propertyNames"),required:require("./required"),uniqueItems:require("./uniqueItems"),validate:require("./validate")}},{"./_limit":95,"./_limitItems":96,"./_limitLength":97,"./_limitProperties":98,"./allOf":99,"./anyOf":100,"./comment":101,"./const":102,"./contains":103,"./dependencies":105,"./enum":106,"./format":107,"./if":108,"./items":110,"./multipleOf":111,"./not":112,"./oneOf":113,"./pattern":114,"./properties":115,"./propertyNames":116,"./ref":117,"./required":118,"./uniqueItems":119,"./validate":120}],110:[function(require,module,exports){"use strict";module.exports=function generate_items(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $idx="i"+$lvl,$dataNxt=$it.dataLevel=it.dataLevel+1,$nextData="data"+$dataNxt,$currentBaseId=it.baseId;out+="var "+$errs+" = errors;var "+$valid+";";if(Array.isArray($schema)){var $additionalItems=it.schema.additionalItems;if($additionalItems===false){out+=" "+$valid+" = "+$data+".length <= "+$schema.length+"; ";var $currErrSchemaPath=$errSchemaPath;$errSchemaPath=it.errSchemaPath+"/additionalItems";out+=" if (!"+$valid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"additionalItems"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { limit: "+$schema.length+" } ";if(it.opts.messages!==false){out+=" , message: 'should NOT have more than "+$schema.length+" items' "}if(it.opts.verbose){out+=" , schema: false , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } ";$errSchemaPath=$currErrSchemaPath;if($breakOnError){$closingBraces+="}";out+=" else { "}}var arr1=$schema;if(arr1){var $sch,$i=-1,l1=arr1.length-1;while($i0:it.util.schemaHasRules($sch,it.RULES.all)){out+=" "+$nextValid+" = true; if ("+$data+".length > "+$i+") { ";var $passData=$data+"["+$i+"]";$it.schema=$sch;$it.schemaPath=$schemaPath+"["+$i+"]";$it.errSchemaPath=$errSchemaPath+"/"+$i;$it.errorPath=it.util.getPathExpr(it.errorPath,$i,it.opts.jsonPointers,true);$it.dataPathArr[$dataNxt]=$i;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}out+=" } ";if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}}if(typeof $additionalItems=="object"&&(it.opts.strictKeywords?typeof $additionalItems=="object"&&Object.keys($additionalItems).length>0:it.util.schemaHasRules($additionalItems,it.RULES.all))){$it.schema=$additionalItems;$it.schemaPath=it.schemaPath+".additionalItems";$it.errSchemaPath=it.errSchemaPath+"/additionalItems";out+=" "+$nextValid+" = true; if ("+$data+".length > "+$schema.length+") { for (var "+$idx+" = "+$schema.length+"; "+$idx+" < "+$data+".length; "+$idx+"++) { ";$it.errorPath=it.util.getPathExpr(it.errorPath,$idx,it.opts.jsonPointers,true);var $passData=$data+"["+$idx+"]";$it.dataPathArr[$dataNxt]=$idx;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}if($breakOnError){out+=" if (!"+$nextValid+") break; "}out+=" } } ";if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}else if(it.opts.strictKeywords?typeof $schema=="object"&&Object.keys($schema).length>0:it.util.schemaHasRules($schema,it.RULES.all)){$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;out+=" for (var "+$idx+" = "+0+"; "+$idx+" < "+$data+".length; "+$idx+"++) { ";$it.errorPath=it.util.getPathExpr(it.errorPath,$idx,it.opts.jsonPointers,true);var $passData=$data+"["+$idx+"]";$it.dataPathArr[$dataNxt]=$idx;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}if($breakOnError){out+=" if (!"+$nextValid+") break; "}out+=" }"}if($breakOnError){out+=" "+$closingBraces+" if ("+$errs+" == errors) {"}out=it.util.cleanUpCode(out);return out}},{}],111:[function(require,module,exports){"use strict";module.exports=function generate_multipleOf(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}out+="var division"+$lvl+";if (";if($isData){out+=" "+$schemaValue+" !== undefined && ( typeof "+$schemaValue+" != 'number' || "}out+=" (division"+$lvl+" = "+$data+" / "+$schemaValue+", ";if(it.opts.multipleOfPrecision){out+=" Math.abs(Math.round(division"+$lvl+") - division"+$lvl+") > 1e-"+it.opts.multipleOfPrecision+" "}else{out+=" division"+$lvl+" !== parseInt(division"+$lvl+") "}out+=" ) ";if($isData){out+=" ) "}out+=" ) { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"multipleOf"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { multipleOf: "+$schemaValue+" } ";if(it.opts.messages!==false){out+=" , message: 'should be multiple of ";if($isData){out+="' + "+$schemaValue}else{out+=""+$schemaValue+"'"}}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],112:[function(require,module,exports){"use strict";module.exports=function generate_not(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $errs="errs__"+$lvl;var $it=it.util.copy(it);$it.level++;var $nextValid="valid"+$it.level;if(it.opts.strictKeywords?typeof $schema=="object"&&Object.keys($schema).length>0:it.util.schemaHasRules($schema,it.RULES.all)){$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;out+=" var "+$errs+" = errors; ";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;$it.createErrors=false;var $allErrorsOption;if($it.opts.allErrors){$allErrorsOption=$it.opts.allErrors;$it.opts.allErrors=false}out+=" "+it.validate($it)+" ";$it.createErrors=true;if($allErrorsOption)$it.opts.allErrors=$allErrorsOption;it.compositeRule=$it.compositeRule=$wasComposite;out+=" if ("+$nextValid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"not"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: 'should NOT be valid' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } else { errors = "+$errs+"; if (vErrors !== null) { if ("+$errs+") vErrors.length = "+$errs+"; else vErrors = null; } ";if(it.opts.allErrors){out+=" } "}}else{out+=" var err = ";if(it.createErrors!==false){out+=" { keyword: '"+"not"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: 'should NOT be valid' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}out+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if($breakOnError){out+=" if (false) { "}}return out}},{}],113:[function(require,module,exports){"use strict";module.exports=function generate_oneOf(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $currentBaseId=$it.baseId,$prevValid="prevValid"+$lvl,$passingSchemas="passingSchemas"+$lvl;out+="var "+$errs+" = errors , "+$prevValid+" = false , "+$valid+" = false , "+$passingSchemas+" = null; ";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;var arr1=$schema;if(arr1){var $sch,$i=-1,l1=arr1.length-1;while($i0:it.util.schemaHasRules($sch,it.RULES.all)){$it.schema=$sch;$it.schemaPath=$schemaPath+"["+$i+"]";$it.errSchemaPath=$errSchemaPath+"/"+$i;out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId}else{out+=" var "+$nextValid+" = true; "}if($i){out+=" if ("+$nextValid+" && "+$prevValid+") { "+$valid+" = false; "+$passingSchemas+" = ["+$passingSchemas+", "+$i+"]; } else { ";$closingBraces+="}"}out+=" if ("+$nextValid+") { "+$valid+" = "+$prevValid+" = true; "+$passingSchemas+" = "+$i+"; }"}}it.compositeRule=$it.compositeRule=$wasComposite;out+=""+$closingBraces+"if (!"+$valid+") { var err = ";if(it.createErrors!==false){out+=" { keyword: '"+"oneOf"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { passingSchemas: "+$passingSchemas+" } ";if(it.opts.messages!==false){out+=" , message: 'should match exactly one schema in oneOf' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}out+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(vErrors); "}else{out+=" validate.errors = vErrors; return false; "}}out+="} else { errors = "+$errs+"; if (vErrors !== null) { if ("+$errs+") vErrors.length = "+$errs+"; else vErrors = null; }";if(it.opts.allErrors){out+=" } "}return out}},{}],114:[function(require,module,exports){"use strict";module.exports=function generate_pattern(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $regexp=$isData?"(new RegExp("+$schemaValue+"))":it.usePattern($schema);out+="if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'string') || "}out+=" !"+$regexp+".test("+$data+") ) { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"pattern"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { pattern: ";if($isData){out+=""+$schemaValue}else{out+=""+it.util.toQuotedString($schema)}out+=" } ";if(it.opts.messages!==false){out+=" , message: 'should match pattern \"";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+it.util.escapeQuotes($schema)}out+="\"' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+it.util.toQuotedString($schema)}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],115:[function(require,module,exports){"use strict";module.exports=function generate_properties(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $key="key"+$lvl,$idx="idx"+$lvl,$dataNxt=$it.dataLevel=it.dataLevel+1,$nextData="data"+$dataNxt,$dataProperties="dataProperties"+$lvl;var $schemaKeys=Object.keys($schema||{}),$pProperties=it.schema.patternProperties||{},$pPropertyKeys=Object.keys($pProperties),$aProperties=it.schema.additionalProperties,$someProperties=$schemaKeys.length||$pPropertyKeys.length,$noAdditional=$aProperties===false,$additionalIsSchema=typeof $aProperties=="object"&&Object.keys($aProperties).length,$removeAdditional=it.opts.removeAdditional,$checkAdditional=$noAdditional||$additionalIsSchema||$removeAdditional,$ownProperties=it.opts.ownProperties,$currentBaseId=it.baseId;var $required=it.schema.required;if($required&&!(it.opts.$data&&$required.$data)&&$required.length8){out+=" || validate.schema"+$schemaPath+".hasOwnProperty("+$key+") "}else{var arr1=$schemaKeys;if(arr1){var $propertyKey,i1=-1,l1=arr1.length-1;while(i10:it.util.schemaHasRules($sch,it.RULES.all)){var $prop=it.util.getProperty($propertyKey),$passData=$data+$prop,$hasDefault=$useDefaults&&$sch.default!==undefined;$it.schema=$sch;$it.schemaPath=$schemaPath+$prop;$it.errSchemaPath=$errSchemaPath+"/"+it.util.escapeFragment($propertyKey);$it.errorPath=it.util.getPath(it.errorPath,$propertyKey,it.opts.jsonPointers);$it.dataPathArr[$dataNxt]=it.util.toQuotedString($propertyKey);var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){$code=it.util.varReplace($code,$nextData,$passData);var $useData=$passData}else{var $useData=$nextData;out+=" var "+$nextData+" = "+$passData+"; "}if($hasDefault){out+=" "+$code+" "}else{if($requiredHash&&$requiredHash[$propertyKey]){out+=" if ( "+$useData+" === undefined ";if($ownProperties){out+=" || ! Object.prototype.hasOwnProperty.call("+$data+", '"+it.util.escapeQuotes($propertyKey)+"') "}out+=") { "+$nextValid+" = false; ";var $currentErrorPath=it.errorPath,$currErrSchemaPath=$errSchemaPath,$missingProperty=it.util.escapeQuotes($propertyKey);if(it.opts._errorDataPathProperty){it.errorPath=it.util.getPath($currentErrorPath,$propertyKey,it.opts.jsonPointers)}$errSchemaPath=it.errSchemaPath+"/required";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"required"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { missingProperty: '"+$missingProperty+"' } ";if(it.opts.messages!==false){out+=" , message: '";if(it.opts._errorDataPathProperty){out+="is a required property"}else{out+="should have required property \\'"+$missingProperty+"\\'"}out+="' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}$errSchemaPath=$currErrSchemaPath;it.errorPath=$currentErrorPath;out+=" } else { "}else{if($breakOnError){out+=" if ( "+$useData+" === undefined ";if($ownProperties){out+=" || ! Object.prototype.hasOwnProperty.call("+$data+", '"+it.util.escapeQuotes($propertyKey)+"') "}out+=") { "+$nextValid+" = true; } else { "}else{out+=" if ("+$useData+" !== undefined ";if($ownProperties){out+=" && Object.prototype.hasOwnProperty.call("+$data+", '"+it.util.escapeQuotes($propertyKey)+"') "}out+=" ) { "}}out+=" "+$code+" } "}}if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}}if($pPropertyKeys.length){var arr4=$pPropertyKeys;if(arr4){var $pProperty,i4=-1,l4=arr4.length-1;while(i40:it.util.schemaHasRules($sch,it.RULES.all)){$it.schema=$sch;$it.schemaPath=it.schemaPath+".patternProperties"+it.util.getProperty($pProperty);$it.errSchemaPath=it.errSchemaPath+"/patternProperties/"+it.util.escapeFragment($pProperty);if($ownProperties){out+=" "+$dataProperties+" = "+$dataProperties+" || Object.keys("+$data+"); for (var "+$idx+"=0; "+$idx+"<"+$dataProperties+".length; "+$idx+"++) { var "+$key+" = "+$dataProperties+"["+$idx+"]; "}else{out+=" for (var "+$key+" in "+$data+") { "}out+=" if ("+it.usePattern($pProperty)+".test("+$key+")) { ";$it.errorPath=it.util.getPathExpr(it.errorPath,$key,it.opts.jsonPointers);var $passData=$data+"["+$key+"]";$it.dataPathArr[$dataNxt]=$key;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}if($breakOnError){out+=" if (!"+$nextValid+") break; "}out+=" } ";if($breakOnError){out+=" else "+$nextValid+" = true; "}out+=" } ";if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}}}if($breakOnError){out+=" "+$closingBraces+" if ("+$errs+" == errors) {"}out=it.util.cleanUpCode(out);return out}},{}],116:[function(require,module,exports){"use strict";module.exports=function generate_propertyNames(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;out+="var "+$errs+" = errors;";if(it.opts.strictKeywords?typeof $schema=="object"&&Object.keys($schema).length>0:it.util.schemaHasRules($schema,it.RULES.all)){$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;var $key="key"+$lvl,$idx="idx"+$lvl,$i="i"+$lvl,$invalidName="' + "+$key+" + '",$dataNxt=$it.dataLevel=it.dataLevel+1,$nextData="data"+$dataNxt,$dataProperties="dataProperties"+$lvl,$ownProperties=it.opts.ownProperties,$currentBaseId=it.baseId;if($ownProperties){out+=" var "+$dataProperties+" = undefined; "}if($ownProperties){out+=" "+$dataProperties+" = "+$dataProperties+" || Object.keys("+$data+"); for (var "+$idx+"=0; "+$idx+"<"+$dataProperties+".length; "+$idx+"++) { var "+$key+" = "+$dataProperties+"["+$idx+"]; "}else{out+=" for (var "+$key+" in "+$data+") { "}out+=" var startErrs"+$lvl+" = errors; ";var $passData=$key;var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}it.compositeRule=$it.compositeRule=$wasComposite;out+=" if (!"+$nextValid+") { for (var "+$i+"=startErrs"+$lvl+"; "+$i+"0:it.util.schemaHasRules($propertySch,it.RULES.all)))){$required[$required.length]=$property}}}}else{var $required=$schema}}if($isData||$required.length){var $currentErrorPath=it.errorPath,$loopRequired=$isData||$required.length>=it.opts.loopRequired,$ownProperties=it.opts.ownProperties;if($breakOnError){out+=" var missing"+$lvl+"; ";if($loopRequired){if(!$isData){out+=" var "+$vSchema+" = validate.schema"+$schemaPath+"; "}var $i="i"+$lvl,$propertyPath="schema"+$lvl+"["+$i+"]",$missingProperty="' + "+$propertyPath+" + '";if(it.opts._errorDataPathProperty){it.errorPath=it.util.getPathExpr($currentErrorPath,$propertyPath,it.opts.jsonPointers)}out+=" var "+$valid+" = true; ";if($isData){out+=" if (schema"+$lvl+" === undefined) "+$valid+" = true; else if (!Array.isArray(schema"+$lvl+")) "+$valid+" = false; else {"}out+=" for (var "+$i+" = 0; "+$i+" < "+$vSchema+".length; "+$i+"++) { "+$valid+" = "+$data+"["+$vSchema+"["+$i+"]] !== undefined ";if($ownProperties){out+=" && Object.prototype.hasOwnProperty.call("+$data+", "+$vSchema+"["+$i+"]) "}out+="; if (!"+$valid+") break; } ";if($isData){out+=" } "}out+=" if (!"+$valid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"required"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { missingProperty: '"+$missingProperty+"' } ";if(it.opts.messages!==false){out+=" , message: '";if(it.opts._errorDataPathProperty){out+="is a required property"}else{out+="should have required property \\'"+$missingProperty+"\\'"}out+="' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } else { "}else{out+=" if ( ";var arr2=$required;if(arr2){var $propertyKey,$i=-1,l2=arr2.length-1;while($i 1) { ";var $itemType=it.schema.items&&it.schema.items.type,$typeIsArray=Array.isArray($itemType);if(!$itemType||$itemType=="object"||$itemType=="array"||$typeIsArray&&($itemType.indexOf("object")>=0||$itemType.indexOf("array")>=0)){out+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+$data+"[i], "+$data+"[j])) { "+$valid+" = false; break outer; } } } "}else{out+=" var itemIndices = {}, item; for (;i--;) { var item = "+$data+"[i]; ";var $method="checkDataType"+($typeIsArray?"s":"");out+=" if ("+it.util[$method]($itemType,"item",true)+") continue; ";if($typeIsArray){out+=" if (typeof item == 'string') item = '\"' + item; "}out+=" if (typeof itemIndices[item] == 'number') { "+$valid+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}out+=" } ";if($isData){out+=" } "}out+=" if (!"+$valid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"uniqueItems"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { i: i, j: j } ";if(it.opts.messages!==false){out+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } ";if($breakOnError){out+=" else { "}}else{if($breakOnError){out+=" if (true) { "}}return out}},{}],120:[function(require,module,exports){"use strict";module.exports=function generate_validate(it,$keyword,$ruleType){var out="";var $async=it.schema.$async===true,$refKeywords=it.util.schemaHasRulesExcept(it.schema,it.RULES.all,"$ref"),$id=it.self._getId(it.schema);if(it.opts.strictKeywords){var $unknownKwd=it.util.schemaUnknownRules(it.schema,it.RULES.keywords);if($unknownKwd){var $keywordsMsg="unknown keyword: "+$unknownKwd;if(it.opts.strictKeywords==="log")it.logger.warn($keywordsMsg);else throw new Error($keywordsMsg)}}if(it.isTop){out+=" var validate = ";if($async){it.async=true;out+="async "}out+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ";if($id&&(it.opts.sourceCode||it.opts.processCode)){out+=" "+("/*# sourceURL="+$id+" */")+" "}}if(typeof it.schema=="boolean"||!($refKeywords||it.schema.$ref)){var $keyword="false schema";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;if(it.schema===false){if(it.isTop){$breakOnError=true}else{out+=" var "+$valid+" = false; "}var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"false schema")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: 'boolean schema is false' "}if(it.opts.verbose){out+=" , schema: false , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}}else{if(it.isTop){if($async){out+=" return data; "}else{out+=" validate.errors = null; return true; "}}else{out+=" var "+$valid+" = true; "}}if(it.isTop){out+=" }; return validate; "}return out}if(it.isTop){var $top=it.isTop,$lvl=it.level=0,$dataLvl=it.dataLevel=0,$data="data";it.rootId=it.resolve.fullPath(it.self._getId(it.root.schema));it.baseId=it.baseId||it.rootId;delete it.isTop;it.dataPathArr=[undefined];if(it.schema.default!==undefined&&it.opts.useDefaults&&it.opts.strictDefaults){var $defaultMsg="default is ignored in the schema root";if(it.opts.strictDefaults==="log")it.logger.warn($defaultMsg);else throw new Error($defaultMsg)}out+=" var vErrors = null; ";out+=" var errors = 0; ";out+=" if (rootData === undefined) rootData = data; "}else{var $lvl=it.level,$dataLvl=it.dataLevel,$data="data"+($dataLvl||"");if($id)it.baseId=it.resolve.url(it.baseId,$id);if($async&&!it.async)throw new Error("async schema in sync schema");out+=" var errs_"+$lvl+" = errors;"}var $valid="valid"+$lvl,$breakOnError=!it.opts.allErrors,$closingBraces1="",$closingBraces2="";var $errorKeyword;var $typeSchema=it.schema.type,$typeIsArray=Array.isArray($typeSchema);if($typeSchema&&it.opts.nullable&&it.schema.nullable===true){if($typeIsArray){if($typeSchema.indexOf("null")==-1)$typeSchema=$typeSchema.concat("null")}else if($typeSchema!="null"){$typeSchema=[$typeSchema,"null"];$typeIsArray=true}}if($typeIsArray&&$typeSchema.length==1){$typeSchema=$typeSchema[0];$typeIsArray=false}if(it.schema.$ref&&$refKeywords){if(it.opts.extendRefs=="fail"){throw new Error('$ref: validation keywords used in schema at path "'+it.errSchemaPath+'" (see option extendRefs)')}else if(it.opts.extendRefs!==true){$refKeywords=false;it.logger.warn('$ref: keywords ignored in schema at path "'+it.errSchemaPath+'"')}}if(it.schema.$comment&&it.opts.$comment){out+=" "+it.RULES.all.$comment.code(it,"$comment")}if($typeSchema){if(it.opts.coerceTypes){var $coerceToTypes=it.util.coerceToTypes(it.opts.coerceTypes,$typeSchema)}var $rulesGroup=it.RULES.types[$typeSchema];if($coerceToTypes||$typeIsArray||$rulesGroup===true||$rulesGroup&&!$shouldUseGroup($rulesGroup)){var $schemaPath=it.schemaPath+".type",$errSchemaPath=it.errSchemaPath+"/type";var $schemaPath=it.schemaPath+".type",$errSchemaPath=it.errSchemaPath+"/type",$method=$typeIsArray?"checkDataTypes":"checkDataType";out+=" if ("+it.util[$method]($typeSchema,$data,true)+") { ";if($coerceToTypes){var $dataType="dataType"+$lvl,$coerced="coerced"+$lvl;out+=" var "+$dataType+" = typeof "+$data+"; ";if(it.opts.coerceTypes=="array"){out+=" if ("+$dataType+" == 'object' && Array.isArray("+$data+")) "+$dataType+" = 'array'; "}out+=" var "+$coerced+" = undefined; ";var $bracesCoercion="";var arr1=$coerceToTypes;if(arr1){var $type,$i=-1,l1=arr1.length-1;while($i0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],126:[function(require,module,exports){},{}],127:[function(require,module,exports){(function(global){(function(root){var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule=typeof module=="object"&&module&&!module.nodeType&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal){root=freeGlobal}var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw new RangeError(errors[type])}function map(array,fn){var length=array.length;var result=[];while(length--){result[length]=fn(array[length])}return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter=55296&&value<=56319&&counter65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digitfloor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j=n&¤tValuefloor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;jmaxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(qK_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;imax)str+=" ... ";return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,3.4028234663852886e38,-3.4028234663852886e38)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,1.7976931348623157e308,-1.7976931348623157e308)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this,require("buffer").Buffer)},{"base64-js":125,buffer:128,ieee754:135}],129:[function(require,module,exports){module.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{}],130:[function(require,module,exports){(function(process,global){"use strict";var next=global.process&&process.nextTick||global.setImmediate||function(f){setTimeout(f,0)};module.exports=function maybe(cb,promise){if(cb){promise.then(function(result){next(function(){cb(null,result)})},function(err){next(function(){cb(err)})});return undefined}else{return promise}}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{_process:172}],131:[function(require,module,exports){var objectCreate=Object.create||objectCreatePolyfill;var objectKeys=Object.keys||objectKeysPolyfill;var bind=Function.prototype.bind||functionBindPolyfill;function EventEmitter(){if(!this._events||!Object.prototype.hasOwnProperty.call(this,"_events")){this._events=objectCreate(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined}module.exports=EventEmitter;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;var hasDefineProperty;try{var o={};if(Object.defineProperty)Object.defineProperty(o,"x",{value:0});hasDefineProperty=o.x===0}catch(err){hasDefineProperty=false}if(hasDefineProperty){Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||arg!==arg)throw new TypeError('"defaultMaxListeners" must be a positive number');defaultMaxListeners=arg}})}else{EventEmitter.defaultMaxListeners=defaultMaxListeners}EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||isNaN(n))throw new TypeError('"n" argument must be a positive number');this._maxListeners=n;return this};function $getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return $getMaxListeners(this)};function emitNone(handler,isFn,self){if(isFn)handler.call(self);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i1)er=arguments[1];if(er instanceof Error){throw er}else{var err=new Error('Unhandled "error" event. ('+er+")");err.context=er;throw err}return false}handler=events[type];if(!handler)return false;var isFn=typeof handler==="function";len=arguments.length;switch(len){case 1:emitNone(handler,isFn,this);break;case 2:emitOne(handler,isFn,this,arguments[1]);break;case 3:emitTwo(handler,isFn,this,arguments[1],arguments[2]);break;case 4:emitThree(handler,isFn,this,arguments[1],arguments[2],arguments[3]);break;default:args=new Array(len-1);for(i=1;i0&&existing.length>m){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+' "'+String(type)+'" listeners '+"added. Use emitter.setMaxListeners() to "+"increase limit.");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;if(typeof console==="object"&&console.warn){console.warn("%s: %s",w.name,w.message)}}}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;switch(arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:var args=new Array(arguments.length);for(var i=0;i=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else spliceOne(list,position);if(list.length===1)events[type]=list[0];if(events.removeListener)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(!events)return this;if(!events.removeListener){if(arguments.length===0){this._events=objectCreate(null);this._eventsCount=0}else if(events[type]){if(--this._eventsCount===0)this._events=objectCreate(null);else delete events[type]}return this}if(arguments.length===0){var keys=objectKeys(events);var key;for(i=0;i=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(!events)return[];var evlistener=events[type];if(!evlistener)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function spliceOne(list,index){for(var i=index,k=i+1,n=list.length;k>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],136:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},{}],137:[function(require,module,exports){module.exports=function(obj){return obj!=null&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)};function isBuffer(obj){return!!obj.constructor&&typeof obj.constructor.isBuffer==="function"&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return typeof obj.readFloatLE==="function"&&typeof obj.slice==="function"&&isBuffer(obj.slice(0,0))}},{}],138:[function(require,module,exports){"use strict";var yaml=require("./lib/js-yaml.js");module.exports=yaml},{"./lib/js-yaml.js":139}],139:[function(require,module,exports){"use strict";var loader=require("./js-yaml/loader");var dumper=require("./js-yaml/dumper");function deprecated(name){return function(){throw new Error("Function "+name+" is deprecated and cannot be used.")}}module.exports.Type=require("./js-yaml/type");module.exports.Schema=require("./js-yaml/schema");module.exports.FAILSAFE_SCHEMA=require("./js-yaml/schema/failsafe");module.exports.JSON_SCHEMA=require("./js-yaml/schema/json");module.exports.CORE_SCHEMA=require("./js-yaml/schema/core");module.exports.DEFAULT_SAFE_SCHEMA=require("./js-yaml/schema/default_safe");module.exports.DEFAULT_FULL_SCHEMA=require("./js-yaml/schema/default_full");module.exports.load=loader.load;module.exports.loadAll=loader.loadAll;module.exports.safeLoad=loader.safeLoad;module.exports.safeLoadAll=loader.safeLoadAll;module.exports.dump=dumper.dump;module.exports.safeDump=dumper.safeDump;module.exports.YAMLException=require("./js-yaml/exception");module.exports.MINIMAL_SCHEMA=require("./js-yaml/schema/failsafe");module.exports.SAFE_SCHEMA=require("./js-yaml/schema/default_safe");module.exports.DEFAULT_SCHEMA=require("./js-yaml/schema/default_full");module.exports.scan=deprecated("scan");module.exports.parse=deprecated("parse");module.exports.compose=deprecated("compose");module.exports.addConstructor=deprecated("addConstructor")},{"./js-yaml/dumper":141,"./js-yaml/exception":142,"./js-yaml/loader":143,"./js-yaml/schema":145,"./js-yaml/schema/core":146,"./js-yaml/schema/default_full":147,"./js-yaml/schema/default_safe":148,"./js-yaml/schema/failsafe":149,"./js-yaml/schema/json":150,"./js-yaml/type":151}],140:[function(require,module,exports){"use strict";function isNothing(subject){return typeof subject==="undefined"||subject===null}function isObject(subject){return typeof subject==="object"&&subject!==null}function toArray(sequence){if(Array.isArray(sequence))return sequence;else if(isNothing(sequence))return[];return[sequence]}function extend(target,source){var index,length,key,sourceKeys;if(source){sourceKeys=Object.keys(source);for(index=0,length=sourceKeys.length;indexlineWidth&&string[previousLineBreak+1]!==" ";previousLineBreak=i}}else if(!isPrintable(char)){return STYLE_DOUBLE}plain=plain&&isPlainSafe(char)}hasFoldableLine=hasFoldableLine||shouldTrackWidth&&(i-previousLineBreak-1>lineWidth&&string[previousLineBreak+1]!==" ")}if(!hasLineBreak&&!hasFoldableLine){return plain&&!testAmbiguousType(string)?STYLE_PLAIN:STYLE_SINGLE}if(indentPerLevel>9&&needIndentIndicator(string)){return STYLE_DOUBLE}return hasFoldableLine?STYLE_FOLDED:STYLE_LITERAL}function writeScalar(state,string,level,iskey){state.dump=function(){if(string.length===0){return"''"}if(!state.noCompatMode&&DEPRECATED_BOOLEANS_SYNTAX.indexOf(string)!==-1){return"'"+string+"'"}var indent=state.indent*Math.max(1,level);var lineWidth=state.lineWidth===-1?-1:Math.max(Math.min(state.lineWidth,40),state.lineWidth-indent);var singleLineOnly=iskey||state.flowLevel>-1&&level>=state.flowLevel;function testAmbiguity(string){return testImplicitResolving(state,string)}switch(chooseScalarStyle(string,singleLineOnly,state.indent,lineWidth,testAmbiguity)){case STYLE_PLAIN:return string;case STYLE_SINGLE:return"'"+string.replace(/'/g,"''")+"'";case STYLE_LITERAL:return"|"+blockHeader(string,state.indent)+dropEndingNewline(indentString(string,indent));case STYLE_FOLDED:return">"+blockHeader(string,state.indent)+dropEndingNewline(indentString(foldString(string,lineWidth),indent));case STYLE_DOUBLE:return'"'+escapeString(string,lineWidth)+'"';default:throw new YAMLException("impossible error: invalid scalar style")}}()}function blockHeader(string,indentPerLevel){var indentIndicator=needIndentIndicator(string)?String(indentPerLevel):"";var clip=string[string.length-1]==="\n";var keep=clip&&(string[string.length-2]==="\n"||string==="\n");var chomp=keep?"+":clip?"":"-";return indentIndicator+chomp+"\n"}function dropEndingNewline(string){return string[string.length-1]==="\n"?string.slice(0,-1):string}function foldString(string,width){var lineRe=/(\n+)([^\n]*)/g;var result=function(){var nextLF=string.indexOf("\n");nextLF=nextLF!==-1?nextLF:string.length;lineRe.lastIndex=nextLF;return foldLine(string.slice(0,nextLF),width)}();var prevMoreIndented=string[0]==="\n"||string[0]===" ";var moreIndented;var match;while(match=lineRe.exec(string)){var prefix=match[1],line=match[2];moreIndented=line[0]===" ";result+=prefix+(!prevMoreIndented&&!moreIndented&&line!==""?"\n":"")+foldLine(line,width);prevMoreIndented=moreIndented}return result}function foldLine(line,width){if(line===""||line[0]===" ")return line;var breakRe=/ [^ ]/g;var match;var start=0,end,curr=0,next=0;var result="";while(match=breakRe.exec(line)){next=match.index;if(next-start>width){end=curr>start?curr:next;result+="\n"+line.slice(start,end);start=end+1}curr=next}result+="\n";if(line.length-start>width&&curr>start){result+=line.slice(start,curr)+"\n"+line.slice(curr+1)}else{result+=line.slice(start)}return result.slice(1)}function escapeString(string){var result="";var char,nextChar;var escapeSeq;for(var i=0;i=55296&&char<=56319){nextChar=string.charCodeAt(i+1);if(nextChar>=56320&&nextChar<=57343){result+=encodeHex((char-55296)*1024+nextChar-56320+65536);i++;continue}}escapeSeq=ESCAPE_SEQUENCES[char];result+=!escapeSeq&&isPrintable(char)?string[i]:escapeSeq||encodeHex(char)}return result}function writeFlowSequence(state,level,object){var _result="",_tag=state.tag,index,length;for(index=0,length=object.length;index1024)pairBuffer+="? ";pairBuffer+=state.dump+(state.condenseFlow?'"':"")+":"+(state.condenseFlow?"":" ");if(!writeNode(state,level,objectValue,false,false)){continue}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump="{"+_result+"}"}function writeBlockMapping(state,level,object,compact){var _result="",_tag=state.tag,objectKeyList=Object.keys(object),index,length,objectKey,objectValue,explicitPair,pairBuffer;if(state.sortKeys===true){objectKeyList.sort()}else if(typeof state.sortKeys==="function"){objectKeyList.sort(state.sortKeys)}else if(state.sortKeys){throw new YAMLException("sortKeys must be a boolean or a function")}for(index=0,length=objectKeyList.length;index1024;if(explicitPair){if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+="?"}else{pairBuffer+="? "}}pairBuffer+=state.dump;if(explicitPair){pairBuffer+=generateNextLine(state,level)}if(!writeNode(state,level+1,objectValue,true,explicitPair)){continue}if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+=":"}else{pairBuffer+=": "}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump=_result||"{}"}function detectType(state,object,explicit){var _result,typeList,index,length,type,style;typeList=explicit?state.explicitTypes:state.implicitTypes;for(index=0,length=typeList.length;index tag resolver accepts not "'+style+'" style')}state.dump=_result}return true}}return false}function writeNode(state,level,object,block,compact,iskey){state.tag=null;state.dump=object;if(!detectType(state,object,false)){detectType(state,object,true)}var type=_toString.call(state.dump);if(block){block=state.flowLevel<0||state.flowLevel>level}var objectOrArray=type==="[object Object]"||type==="[object Array]",duplicateIndex,duplicate;if(objectOrArray){duplicateIndex=state.duplicates.indexOf(object);duplicate=duplicateIndex!==-1}if(state.tag!==null&&state.tag!=="?"||duplicate||state.indent!==2&&level>0){compact=false}if(duplicate&&state.usedDuplicates[duplicateIndex]){state.dump="*ref_"+duplicateIndex}else{if(objectOrArray&&duplicate&&!state.usedDuplicates[duplicateIndex]){state.usedDuplicates[duplicateIndex]=true}if(type==="[object Object]"){if(block&&Object.keys(state.dump).length!==0){writeBlockMapping(state,level,state.dump,compact);if(duplicate){state.dump="&ref_"+duplicateIndex+state.dump}}else{writeFlowMapping(state,level,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if(type==="[object Array]"){var arrayLevel=state.noArrayIndent&&level>0?level-1:level;if(block&&state.dump.length!==0){writeBlockSequence(state,arrayLevel,state.dump,compact);if(duplicate){state.dump="&ref_"+duplicateIndex+state.dump}}else{writeFlowSequence(state,arrayLevel,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if(type==="[object String]"){if(state.tag!=="?"){writeScalar(state,state.dump,level,iskey)}}else{if(state.skipInvalid)return false;throw new YAMLException("unacceptable kind of an object to dump "+type)}if(state.tag!==null&&state.tag!=="?"){state.dump="!<"+state.tag+"> "+state.dump}}return true}function getDuplicateReferences(object,state){var objects=[],duplicatesIndexes=[],index,length;inspectNode(object,objects,duplicatesIndexes);for(index=0,length=duplicatesIndexes.length;index>10)+55296,(c-65536&1023)+56320)}var simpleEscapeCheck=new Array(256);var simpleEscapeMap=new Array(256);for(var i=0;i<256;i++){simpleEscapeCheck[i]=simpleEscapeSequence(i)?1:0;simpleEscapeMap[i]=simpleEscapeSequence(i)}function State(input,options){this.input=input;this.filename=options["filename"]||null;this.schema=options["schema"]||DEFAULT_FULL_SCHEMA;this.onWarning=options["onWarning"]||null;this.legacy=options["legacy"]||false;this.json=options["json"]||false;this.listener=options["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=input.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}function generateError(state,message){return new YAMLException(message,new Mark(state.filename,state.input,state.position,state.line,state.position-state.lineStart))}function throwError(state,message){throw generateError(state,message)}function throwWarning(state,message){if(state.onWarning){state.onWarning.call(null,generateError(state,message))}}var directiveHandlers={YAML:function handleYamlDirective(state,name,args){var match,major,minor;if(state.version!==null){throwError(state,"duplication of %YAML directive")}if(args.length!==1){throwError(state,"YAML directive accepts exactly one argument")}match=/^([0-9]+)\.([0-9]+)$/.exec(args[0]);if(match===null){throwError(state,"ill-formed argument of the YAML directive")}major=parseInt(match[1],10);minor=parseInt(match[2],10);if(major!==1){throwError(state,"unacceptable YAML version of the document")}state.version=args[0];state.checkLineBreaks=minor<2;if(minor!==1&&minor!==2){throwWarning(state,"unsupported YAML version of the document")}},TAG:function handleTagDirective(state,name,args){var handle,prefix;if(args.length!==2){throwError(state,"TAG directive accepts exactly two arguments")}handle=args[0];prefix=args[1];if(!PATTERN_TAG_HANDLE.test(handle)){throwError(state,"ill-formed tag handle (first argument) of the TAG directive")}if(_hasOwnProperty.call(state.tagMap,handle)){throwError(state,'there is a previously declared suffix for "'+handle+'" tag handle')}if(!PATTERN_TAG_URI.test(prefix)){throwError(state,"ill-formed tag prefix (second argument) of the TAG directive")}state.tagMap[handle]=prefix}};function captureSegment(state,start,end,checkJson){var _position,_length,_character,_result;if(start1){state.result+=common.repeat("\n",count-1)}}function readPlainScalar(state,nodeIndent,withinFlowCollection){var preceding,following,captureStart,captureEnd,hasPendingContent,_line,_lineStart,_lineIndent,_kind=state.kind,_result=state.result,ch;ch=state.input.charCodeAt(state.position);if(is_WS_OR_EOL(ch)||is_FLOW_INDICATOR(ch)||ch===35||ch===38||ch===42||ch===33||ch===124||ch===62||ch===39||ch===34||ch===37||ch===64||ch===96){return false}if(ch===63||ch===45){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){return false}}state.kind="scalar";state.result="";captureStart=captureEnd=state.position;hasPendingContent=false;while(ch!==0){if(ch===58){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){break}}else if(ch===35){preceding=state.input.charCodeAt(state.position-1);if(is_WS_OR_EOL(preceding)){break}}else if(state.position===state.lineStart&&testDocumentSeparator(state)||withinFlowCollection&&is_FLOW_INDICATOR(ch)){break}else if(is_EOL(ch)){_line=state.line;_lineStart=state.lineStart;_lineIndent=state.lineIndent;skipSeparationSpace(state,false,-1);if(state.lineIndent>=nodeIndent){hasPendingContent=true;ch=state.input.charCodeAt(state.position);continue}else{state.position=captureEnd;state.line=_line;state.lineStart=_lineStart;state.lineIndent=_lineIndent;break}}if(hasPendingContent){captureSegment(state,captureStart,captureEnd,false);writeFoldedLines(state,state.line-_line);captureStart=captureEnd=state.position;hasPendingContent=false}if(!is_WHITE_SPACE(ch)){captureEnd=state.position+1}ch=state.input.charCodeAt(++state.position)}captureSegment(state,captureStart,captureEnd,false);if(state.result){return true}state.kind=_kind;state.result=_result;return false}function readSingleQuotedScalar(state,nodeIndent){var ch,captureStart,captureEnd;ch=state.input.charCodeAt(state.position);if(ch!==39){return false}state.kind="scalar";state.result="";state.position++;captureStart=captureEnd=state.position;while((ch=state.input.charCodeAt(state.position))!==0){if(ch===39){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);if(ch===39){captureStart=state.position;state.position++;captureEnd=state.position}else{return true}}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a single quoted scalar")}else{state.position++;captureEnd=state.position}}throwError(state,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(state,nodeIndent){var captureStart,captureEnd,hexLength,hexResult,tmp,ch;ch=state.input.charCodeAt(state.position);if(ch!==34){return false}state.kind="scalar";state.result="";state.position++;captureStart=captureEnd=state.position;while((ch=state.input.charCodeAt(state.position))!==0){if(ch===34){captureSegment(state,captureStart,state.position,true);state.position++;return true}else if(ch===92){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);if(is_EOL(ch)){skipSeparationSpace(state,false,nodeIndent)}else if(ch<256&&simpleEscapeCheck[ch]){state.result+=simpleEscapeMap[ch];state.position++}else if((tmp=escapedHexLen(ch))>0){hexLength=tmp;hexResult=0;for(;hexLength>0;hexLength--){ch=state.input.charCodeAt(++state.position);if((tmp=fromHexCode(ch))>=0){hexResult=(hexResult<<4)+tmp}else{throwError(state,"expected hexadecimal character")}}state.result+=charFromCodepoint(hexResult);state.position++}else{throwError(state,"unknown escape sequence")}captureStart=captureEnd=state.position}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a double quoted scalar")}else{state.position++;captureEnd=state.position}}throwError(state,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(state,nodeIndent){var readNext=true,_line,_tag=state.tag,_result,_anchor=state.anchor,following,terminator,isPair,isExplicitPair,isMapping,overridableKeys={},keyNode,keyTag,valueNode,ch;ch=state.input.charCodeAt(state.position);if(ch===91){terminator=93;isMapping=false;_result=[]}else if(ch===123){terminator=125;isMapping=true;_result={}}else{return false}if(state.anchor!==null){state.anchorMap[state.anchor]=_result}ch=state.input.charCodeAt(++state.position);while(ch!==0){skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(ch===terminator){state.position++;state.tag=_tag;state.anchor=_anchor;state.kind=isMapping?"mapping":"sequence";state.result=_result;return true}else if(!readNext){throwError(state,"missed comma between flow collection entries")}keyTag=keyNode=valueNode=null;isPair=isExplicitPair=false;if(ch===63){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)){isPair=isExplicitPair=true;state.position++;skipSeparationSpace(state,true,nodeIndent)}}_line=state.line;composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);keyTag=state.tag;keyNode=state.result;skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if((isExplicitPair||state.line===_line)&&ch===58){isPair=true;ch=state.input.charCodeAt(++state.position);skipSeparationSpace(state,true,nodeIndent);composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);valueNode=state.result}if(isMapping){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,valueNode)}else if(isPair){_result.push(storeMappingPair(state,null,overridableKeys,keyTag,keyNode,valueNode))}else{_result.push(keyNode)}skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(ch===44){readNext=true;ch=state.input.charCodeAt(++state.position)}else{readNext=false}}throwError(state,"unexpected end of the stream within a flow collection")}function readBlockScalar(state,nodeIndent){var captureStart,folding,chomping=CHOMPING_CLIP,didReadContent=false,detectedIndent=false,textIndent=nodeIndent,emptyLines=0,atMoreIndented=false,tmp,ch;ch=state.input.charCodeAt(state.position);if(ch===124){folding=false}else if(ch===62){folding=true}else{return false}state.kind="scalar";state.result="";while(ch!==0){ch=state.input.charCodeAt(++state.position);if(ch===43||ch===45){if(CHOMPING_CLIP===chomping){chomping=ch===43?CHOMPING_KEEP:CHOMPING_STRIP}else{throwError(state,"repeat of a chomping mode identifier")}}else if((tmp=fromDecimalCode(ch))>=0){if(tmp===0){throwError(state,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!detectedIndent){textIndent=nodeIndent+tmp-1;detectedIndent=true}else{throwError(state,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(ch)){do{ch=state.input.charCodeAt(++state.position)}while(is_WHITE_SPACE(ch));if(ch===35){do{ch=state.input.charCodeAt(++state.position)}while(!is_EOL(ch)&&ch!==0)}}while(ch!==0){readLineBreak(state);state.lineIndent=0;ch=state.input.charCodeAt(state.position);while((!detectedIndent||state.lineIndenttextIndent){textIndent=state.lineIndent}if(is_EOL(ch)){emptyLines++;continue}if(state.lineIndentnodeIndent)&&ch!==0){throwError(state,"bad indentation of a sequence entry")}else if(state.lineIndentnodeIndent){if(composeNode(state,nodeIndent,CONTEXT_BLOCK_OUT,true,allowCompact)){if(atExplicitKey){keyNode=state.result}else{valueNode=state.result}}if(!atExplicitKey){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,valueNode,_line,_pos);keyTag=keyNode=valueNode=null}skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position)}if(state.lineIndent>nodeIndent&&ch!==0){throwError(state,"bad indentation of a mapping entry")}else if(state.lineIndentparentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndentparentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndent tag; it should be "'+type.kind+'", not "'+state.kind+'"')}if(!type.resolve(state.result)){throwError(state,"cannot resolve a node with !<"+state.tag+"> explicit tag")}else{state.result=type.construct(state.result);if(state.anchor!==null){state.anchorMap[state.anchor]=state.result}}}else{throwError(state,"unknown tag !<"+state.tag+">")}}if(state.listener!==null){state.listener("close",state)}return state.tag!==null||state.anchor!==null||hasContent}function readDocument(state){var documentStart=state.position,_position,directiveName,directiveArgs,hasDirectives=false,ch;state.version=null;state.checkLineBreaks=state.legacy;state.tagMap={};state.anchorMap={};while((ch=state.input.charCodeAt(state.position))!==0){skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position);if(state.lineIndent>0||ch!==37){break}hasDirectives=true;ch=state.input.charCodeAt(++state.position);_position=state.position;while(ch!==0&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveName=state.input.slice(_position,state.position);directiveArgs=[];if(directiveName.length<1){throwError(state,"directive name must not be less than one character in length")}while(ch!==0){while(is_WHITE_SPACE(ch)){ch=state.input.charCodeAt(++state.position)}if(ch===35){do{ch=state.input.charCodeAt(++state.position)}while(ch!==0&&!is_EOL(ch));break}if(is_EOL(ch))break;_position=state.position;while(ch!==0&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveArgs.push(state.input.slice(_position,state.position))}if(ch!==0)readLineBreak(state);if(_hasOwnProperty.call(directiveHandlers,directiveName)){directiveHandlers[directiveName](state,directiveName,directiveArgs)}else{throwWarning(state,'unknown document directive "'+directiveName+'"')}}skipSeparationSpace(state,true,-1);if(state.lineIndent===0&&state.input.charCodeAt(state.position)===45&&state.input.charCodeAt(state.position+1)===45&&state.input.charCodeAt(state.position+2)===45){state.position+=3;skipSeparationSpace(state,true,-1)}else if(hasDirectives){throwError(state,"directives end mark is expected")}composeNode(state,state.lineIndent-1,CONTEXT_BLOCK_OUT,false,true);skipSeparationSpace(state,true,-1);if(state.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart,state.position))){throwWarning(state,"non-ASCII line breaks are interpreted as content")}state.documents.push(state.result);if(state.position===state.lineStart&&testDocumentSeparator(state)){if(state.input.charCodeAt(state.position)===46){state.position+=3;skipSeparationSpace(state,true,-1)}return}if(state.position0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(start-1))===-1){start-=1;if(this.position-start>maxLength/2-1){head=" ... ";start+=5;break}}tail="";end=this.position;while(endmaxLength/2-1){tail=" ... ";end-=5;break}}snippet=this.buffer.slice(start,end);return common.repeat(" ",indent)+head+snippet+tail+"\n"+common.repeat(" ",indent+this.position-start+head.length)+"^"};Mark.prototype.toString=function toString(compact){var snippet,where="";if(this.name){where+='in "'+this.name+'" '}where+="at line "+(this.line+1)+", column "+(this.column+1);if(!compact){snippet=this.getSnippet();if(snippet){where+=":\n"+snippet}}return where};module.exports=Mark},{"./common":140}],145:[function(require,module,exports){"use strict";var common=require("./common");var YAMLException=require("./exception");var Type=require("./type");function compileList(schema,name,result){var exclude=[];schema.include.forEach(function(includedSchema){result=compileList(includedSchema,name,result)});schema[name].forEach(function(currentType){result.forEach(function(previousType,previousIndex){if(previousType.tag===currentType.tag&&previousType.kind===currentType.kind){exclude.push(previousIndex)}});result.push(currentType)});return result.filter(function(type,index){return exclude.indexOf(index)===-1})}function compileMap(){var result={scalar:{},sequence:{},mapping:{},fallback:{}},index,length;function collectType(type){result[type.kind][type.tag]=result["fallback"][type.tag]=type}for(index=0,length=arguments.length;index64)continue;if(code<0)return false;bitlen+=6}return bitlen%8===0}function constructYamlBinary(data){var idx,tailbits,input=data.replace(/[\r\n=]/g,""),max=input.length,map=BASE64_MAP,bits=0,result=[];for(idx=0;idx>16&255);result.push(bits>>8&255);result.push(bits&255)}bits=bits<<6|map.indexOf(input.charAt(idx))}tailbits=max%4*6;if(tailbits===0){result.push(bits>>16&255);result.push(bits>>8&255);result.push(bits&255)}else if(tailbits===18){result.push(bits>>10&255);result.push(bits>>2&255)}else if(tailbits===12){result.push(bits>>4&255)}if(NodeBuffer){return NodeBuffer.from?NodeBuffer.from(result):new NodeBuffer(result)}return result}function representYamlBinary(object){var result="",bits=0,idx,tail,max=object.length,map=BASE64_MAP;for(idx=0;idx>18&63];result+=map[bits>>12&63];result+=map[bits>>6&63];result+=map[bits&63]}bits=(bits<<8)+object[idx]}tail=max%3;if(tail===0){result+=map[bits>>18&63];result+=map[bits>>12&63];result+=map[bits>>6&63];result+=map[bits&63]}else if(tail===2){result+=map[bits>>10&63];result+=map[bits>>4&63];result+=map[bits<<2&63];result+=map[64]}else if(tail===1){result+=map[bits>>2&63];result+=map[bits<<4&63];result+=map[64];result+=map[64]}return result}function isBinary(object){return NodeBuffer&&NodeBuffer.isBuffer(object)}module.exports=new Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},{"../type":151}],153:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlBoolean(data){if(data===null)return false;var max=data.length;return max===4&&(data==="true"||data==="True"||data==="TRUE")||max===5&&(data==="false"||data==="False"||data==="FALSE")}function constructYamlBoolean(data){return data==="true"||data==="True"||data==="TRUE"}function isBoolean(object){return Object.prototype.toString.call(object)==="[object Boolean]"}module.exports=new Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(object){return object?"true":"false"},uppercase:function(object){return object?"TRUE":"FALSE"},camelcase:function(object){return object?"True":"False"}},defaultStyle:"lowercase"})},{"../type":151}],154:[function(require,module,exports){"use strict";var common=require("../common");var Type=require("../type");var YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(data){if(data===null)return false;if(!YAML_FLOAT_PATTERN.test(data)||data[data.length-1]==="_"){return false}return true}function constructYamlFloat(data){var value,sign,base,digits;value=data.replace(/_/g,"").toLowerCase();sign=value[0]==="-"?-1:1;digits=[];if("+-".indexOf(value[0])>=0){value=value.slice(1)}if(value===".inf"){return sign===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(value===".nan"){return NaN}else if(value.indexOf(":")>=0){value.split(":").forEach(function(v){digits.unshift(parseFloat(v,10))});value=0;base=1;digits.forEach(function(d){value+=d*base;base*=60});return sign*value}return sign*parseFloat(value,10)}var SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;function representYamlFloat(object,style){var res;if(isNaN(object)){switch(style){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===object){switch(style){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===object){switch(style){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(common.isNegativeZero(object)){return"-0.0"}res=object.toString(10);return SCIENTIFIC_WITHOUT_DOT.test(res)?res.replace("e",".e"):res}function isFloat(object){return Object.prototype.toString.call(object)==="[object Number]"&&(object%1!==0||common.isNegativeZero(object))}module.exports=new Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},{"../common":140,"../type":151}],155:[function(require,module,exports){"use strict";var common=require("../common");var Type=require("../type");function isHexCode(c){return 48<=c&&c<=57||65<=c&&c<=70||97<=c&&c<=102}function isOctCode(c){return 48<=c&&c<=55}function isDecCode(c){return 48<=c&&c<=57}function resolveYamlInteger(data){if(data===null)return false;var max=data.length,index=0,hasDigits=false,ch;if(!max)return false;ch=data[index];if(ch==="-"||ch==="+"){ch=data[++index]}if(ch==="0"){if(index+1===max)return true;ch=data[++index];if(ch==="b"){index++;for(;index=0?"0b"+obj.toString(2):"-0b"+obj.toString(2).slice(1)},octal:function(obj){return obj>=0?"0"+obj.toString(8):"-0"+obj.toString(8).slice(1)},decimal:function(obj){return obj.toString(10)},hexadecimal:function(obj){return obj>=0?"0x"+obj.toString(16).toUpperCase():"-0x"+obj.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":140,"../type":151}],156:[function(require,module,exports){"use strict";var esprima;try{var _require=require;esprima=_require("esprima")}catch(_){if(typeof window!=="undefined")esprima=window.esprima}var Type=require("../../type");function resolveJavascriptFunction(data){if(data===null)return false;try{var source="("+data+")",ast=esprima.parse(source,{range:true});if(ast.type!=="Program"||ast.body.length!==1||ast.body[0].type!=="ExpressionStatement"||ast.body[0].expression.type!=="ArrowFunctionExpression"&&ast.body[0].expression.type!=="FunctionExpression"){return false}return true}catch(err){return false}}function constructJavascriptFunction(data){var source="("+data+")",ast=esprima.parse(source,{range:true}),params=[],body;if(ast.type!=="Program"||ast.body.length!==1||ast.body[0].type!=="ExpressionStatement"||ast.body[0].expression.type!=="ArrowFunctionExpression"&&ast.body[0].expression.type!=="FunctionExpression"){throw new Error("Failed to resolve function")}ast.body[0].expression.params.forEach(function(param){params.push(param.name)});body=ast.body[0].expression.body.range;if(ast.body[0].expression.body.type==="BlockStatement"){return new Function(params,source.slice(body[0]+1,body[1]-1))}return new Function(params,"return "+source.slice(body[0],body[1]))}function representJavascriptFunction(object){return object.toString()}function isFunction(object){return Object.prototype.toString.call(object)==="[object Function]"}module.exports=new Type("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},{"../../type":151}],157:[function(require,module,exports){"use strict";var Type=require("../../type");function resolveJavascriptRegExp(data){if(data===null)return false;if(data.length===0)return false;var regexp=data,tail=/\/([gim]*)$/.exec(data),modifiers="";if(regexp[0]==="/"){if(tail)modifiers=tail[1];if(modifiers.length>3)return false;if(regexp[regexp.length-modifiers.length-1]!=="/")return false}return true}function constructJavascriptRegExp(data){var regexp=data,tail=/\/([gim]*)$/.exec(data),modifiers="";if(regexp[0]==="/"){if(tail)modifiers=tail[1];regexp=regexp.slice(1,regexp.length-modifiers.length-1)}return new RegExp(regexp,modifiers)}function representJavascriptRegExp(object){var result="/"+object.source+"/";if(object.global)result+="g";if(object.multiline)result+="m";if(object.ignoreCase)result+="i";return result}function isRegExp(object){return Object.prototype.toString.call(object)==="[object RegExp]"}module.exports=new Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},{"../../type":151}],158:[function(require,module,exports){"use strict";var Type=require("../../type");function resolveJavascriptUndefined(){return true}function constructJavascriptUndefined(){return undefined}function representJavascriptUndefined(){return""}function isUndefined(object){return typeof object==="undefined"}module.exports=new Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined})},{"../../type":151}],159:[function(require,module,exports){"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(data){return data!==null?data:{}}})},{"../type":151}],160:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlMerge(data){return data==="<<"||data===null}module.exports=new Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},{"../type":151}],161:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlNull(data){if(data===null)return true;var max=data.length;return max===1&&data==="~"||max===4&&(data==="null"||data==="Null"||data==="NULL")}function constructYamlNull(){return null}function isNull(object){return object===null}module.exports=new Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":151}],162:[function(require,module,exports){"use strict";var Type=require("../type");var _hasOwnProperty=Object.prototype.hasOwnProperty;var _toString=Object.prototype.toString;function resolveYamlOmap(data){if(data===null)return true;var objectKeys=[],index,length,pair,pairKey,pairHasKey,object=data;for(index=0,length=object.length;index=1){var hi=str.charCodeAt(idx-1);var low=code;if(55296<=hi&&hi<=56319){return(hi-55296)*1024+(low-56320)+65536}return low}return code}function shouldBreak(start,mid,end){var all=[start].concat(mid).concat([end]);var previous=all[all.length-2];var next=end;var eModifierIndex=all.lastIndexOf(E_Modifier);if(eModifierIndex>1&&all.slice(1,eModifierIndex).every(function(c){return c==Extend})&&[Extend,E_Base,E_Base_GAZ].indexOf(start)==-1){return Break}var rIIndex=all.lastIndexOf(Regional_Indicator);if(rIIndex>0&&all.slice(1,rIIndex).every(function(c){return c==Regional_Indicator})&&[Prepend,Regional_Indicator].indexOf(previous)==-1){if(all.filter(function(c){return c==Regional_Indicator}).length%2==1){return BreakLastRegional}else{return BreakPenultimateRegional}}if(previous==CR&&next==LF){return NotBreak}else if(previous==Control||previous==CR||previous==LF){if(next==E_Modifier&&mid.every(function(c){return c==Extend})){return Break}else{return BreakStart}}else if(next==Control||next==CR||next==LF){return BreakStart}else if(previous==L&&(next==L||next==V||next==LV||next==LVT)){return NotBreak}else if((previous==LV||previous==V)&&(next==V||next==T)){return NotBreak}else if((previous==LVT||previous==T)&&next==T){return NotBreak}else if(next==Extend||next==ZWJ){return NotBreak}else if(next==SpacingMark){return NotBreak}else if(previous==Prepend){return NotBreak}var previousNonExtendIndex=all.indexOf(Extend)!=-1?all.lastIndexOf(Extend)-1:all.length-2;if([E_Base,E_Base_GAZ].indexOf(all[previousNonExtendIndex])!=-1&&all.slice(previousNonExtendIndex+1,-1).every(function(c){return c==Extend})&&next==E_Modifier){return NotBreak}if(previous==ZWJ&&[Glue_After_Zwj,E_Base_GAZ].indexOf(next)!=-1){return NotBreak}if(mid.indexOf(Regional_Indicator)!=-1){return Break}if(previous==Regional_Indicator&&next==Regional_Indicator){return NotBreak}return BreakStart}this.nextBreak=function(string,index){if(index===undefined){index=0}if(index<0){return 0}if(index>=string.length-1){return string.length}var prev=getGraphemeBreakProperty(codePointAt(string,index));var mid=[];for(var i=index+1;i=max){return res.substr(0,max)}while(max>res.length&&num>1){if(num&1){res+=str}num>>=1;str+=str}res+=str;res=res.substr(0,max);return res}"use strict";var padStart=function padStart(string,maxLength,fillString){if(string==null||maxLength==null){return string}var result=String(string);var targetLen=typeof maxLength==="number"?maxLength:parseInt(maxLength,10);if(isNaN(targetLen)||!isFinite(targetLen)){return result}var length=result.length;if(length>=targetLen){return result}var fill=fillString==null?"":String(fillString);if(fill===""){fill=" "}var fillLen=targetLen-length;while(fill.lengthfillLen?fill.substr(0,fillLen):fill;return truncated+result};var _extends=Object.assign||function(target){for(var i=1;i1?_len-1:0),_key=1;_key<_len;_key++){position[_key-1]=arguments[_key]}return"Unexpected token <"+token+"> at "+position.filter(Boolean).join(":")}};var tokenizeErrorTypes={unexpectedSymbol:function unexpectedSymbol(symbol){for(var _len=arguments.length,position=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){position[_key-1]=arguments[_key]}return"Unexpected symbol <"+symbol+"> at "+position.filter(Boolean).join(":")}};var tokenTypes={LEFT_BRACE:0,RIGHT_BRACE:1,LEFT_BRACKET:2,RIGHT_BRACKET:3,COLON:4,COMMA:5,STRING:6,NUMBER:7,TRUE:8,FALSE:9,NULL:10};var punctuatorTokensMap={"{":tokenTypes.LEFT_BRACE,"}":tokenTypes.RIGHT_BRACE,"[":tokenTypes.LEFT_BRACKET,"]":tokenTypes.RIGHT_BRACKET,":":tokenTypes.COLON,",":tokenTypes.COMMA};var keywordTokensMap={true:tokenTypes.TRUE,false:tokenTypes.FALSE,null:tokenTypes.NULL};var stringStates={_START_:0,START_QUOTE_OR_CHAR:1,ESCAPE:2};var escapes$1={'"':0,"\\":1,"/":2,b:3,f:4,n:5,r:6,t:7,u:8};var numberStates={_START_:0,MINUS:1,ZERO:2,DIGIT:3,POINT:4,DIGIT_FRACTION:5,EXP:6,EXP_DIGIT_OR_SIGN:7};function isDigit1to9(char){return char>="1"&&char<="9"}function isDigit(char){return char>="0"&&char<="9"}function isHex(char){return isDigit(char)||char>="a"&&char<="f"||char>="A"&&char<="F"}function isExp(char){return char==="e"||char==="E"}function parseWhitespace(input,index,line,column){var char=input.charAt(index);if(char==="\r"){index++;line++;column=1;if(input.charAt(index)==="\n"){index++}}else if(char==="\n"){index++;line++;column=1}else if(char==="\t"||char===" "){index++;column++}else{return null}return{index:index,line:line,column:column}}function parseChar(input,index,line,column){var char=input.charAt(index);if(char in punctuatorTokensMap){return{type:punctuatorTokensMap[char],line:line,column:column+1,index:index+1,value:null}}return null}function parseKeyword(input,index,line,column){for(var name in keywordTokensMap){if(keywordTokensMap.hasOwnProperty(name)&&input.substr(index,name.length)===name){return{type:keywordTokensMap[name],line:line,column:column+name.length,index:index+name.length,value:name}}}return null}function parseString$1(input,index,line,column){var startIndex=index;var state=stringStates._START_;while(index0){return{type:tokenTypes.NUMBER,line:line,column:column+passedValueIndex-startIndex,index:passedValueIndex,value:input.slice(startIndex,passedValueIndex)}}return null}var tokenize=function tokenize(input,settings){var line=1;var column=1;var index=0;var tokens=[];while(index0?tokenList[tokenList.length-1].loc.end:{line:1,column:1};error(parseErrorTypes.unexpectedEnd(),input,settings.source,loc.line,loc.column)}function parseHexEscape(hexCode){var charCode=0;for(var i=0;i<4;i++){charCode=charCode*16+parseInt(hexCode[i],16)}return String.fromCharCode(charCode)}var escapes={b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};var passEscapes=['"',"\\","/"];function parseString(string){var result="";for(var i=0;i-1}function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){data.push([key,value])}else{data[index][1]=value}return this}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;function MapCache(entries){var index=-1,length=entries?entries.length:0;this.clear();while(++index-1&&value%1==0&&value-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isObjectLike(value){return!!value&&typeof value=="object"}function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function stubArray(){return[]}function stubFalse(){return false}module.exports=cloneDeep}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],171:[function(require,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i=1;--i){code=path.charCodeAt(i);if(code===47){if(!matchedSlash){end=i;break}}else{matchedSlash=false}}if(end===-1)return hasRoot?"/":".";if(hasRoot&&end===1){return"/"}return path.slice(0,end)};function basename(path){if(typeof path!=="string")path=path+"";var start=0;var end=-1;var matchedSlash=true;var i;for(i=path.length-1;i>=0;--i){if(path.charCodeAt(i)===47){if(!matchedSlash){start=i+1;break}}else if(end===-1){matchedSlash=false;end=i+1}}if(end===-1)return"";return path.slice(start,end)}exports.basename=function(path,ext){var f=basename(path);if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length)}return f};exports.extname=function(path){if(typeof path!=="string")path=path+"";var startDot=-1;var startPart=0;var end=-1;var matchedSlash=true;var preDotState=0;for(var i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1){preDotState=-1}}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){return""}return path.slice(startDot,end)};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i1){for(var i=1;i0&&len>maxKeys){len=maxKeys}for(var i=0;i=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],174:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;iself._pos){var newData=response.substr(self._pos);if(self._charset==="x-user-defined"){var buffer=Buffer.alloc(newData.length);for(var i=0;iself._pos){self.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos))));self._pos=reader.result.byteLength}};reader.onload=function(){self.push(null)};reader.readAsArrayBuffer(response);break}if(self._xhr.readyState===rStates.DONE&&self._mode!=="ms-stream"){self.push(null)}}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer)},{"./capability":178,_process:172,buffer:128,inherits:136,"readable-stream":195}],181:[function(require,module,exports){"use strict";function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass}var codes={};function createErrorType(code,message,Base){if(!Base){Base=Error}function getMessage(arg1,arg2,arg3){if(typeof message==="string"){return message}else{return message(arg1,arg2,arg3)}}var NodeError=function(_Base){_inheritsLoose(NodeError,_Base);function NodeError(arg1,arg2,arg3){return _Base.call(this,getMessage(arg1,arg2,arg3))||this}return NodeError}(Base);NodeError.prototype.name=Base.name;NodeError.prototype.code=code;codes[code]=NodeError}function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;expected=expected.map(function(i){return String(i)});if(len>2){return"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(", "),", or ")+expected[len-1]}else if(len===2){return"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1])}else{return"of ".concat(thing," ").concat(expected[0])}}else{return"of ".concat(thing," ").concat(String(expected))}}function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}function endsWith(str,search,this_len){if(this_len===undefined||this_len>str.length){this_len=str.length}return str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){if(typeof start!=="number"){start=0}if(start+search.length>str.length){return false}else{return str.indexOf(search,start)!==-1}}createErrorType("ERR_INVALID_OPT_VALUE",function(name,value){return'The value "'+value+'" is invalid for option "'+name+'"'},TypeError);createErrorType("ERR_INVALID_ARG_TYPE",function(name,expected,actual){var determiner;if(typeof expected==="string"&&startsWith(expected,"not ")){determiner="must not be";expected=expected.replace(/^not /,"")}else{determiner="must be"}var msg;if(endsWith(name," argument")){msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,"type"))}else{var type=includes(name,".")?"property":"argument";msg='The "'.concat(name,'" ').concat(type," ").concat(determiner," ").concat(oneOf(expected,"type"))}msg+=". Received type ".concat(typeof actual);return msg},TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(name){return"The "+name+" method is not implemented"});createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",function(name){return"Cannot call "+name+" after a stream was destroyed"});createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",function(arg){return"Unknown encoding: "+arg},TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");module.exports.codes=codes},{}],182:[function(require,module,exports){(function(process){"use strict";var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){keys.push(key)}return keys};module.exports=Duplex;var Readable=require("./_stream_readable");var Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);{var keys=objectKeys(Writable.prototype);for(var v=0;v0){if(typeof chunk!=="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer.prototype){chunk=_uint8ArrayToBuffer(chunk)}if(addToFront){if(state.endEmitted)errorOrDestroy(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else addChunk(stream,state,chunk,true)}else if(state.ended){errorOrDestroy(stream,new ERR_STREAM_PUSH_AFTER_EOF)}else if(state.destroyed){return false}else{state.reading=false;if(state.decoder&&!encoding){chunk=state.decoder.write(chunk);if(state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,false);else maybeReadMore(stream,state)}else{addChunk(stream,state,chunk,false)}}}else if(!addToFront){state.reading=false;maybeReadMore(stream,state)}}return!state.ended&&(state.length=MAX_HWM){n=MAX_HWM}else{n--;n|=n>>>1;n|=n>>>2;n|=n>>>4;n|=n>>>8;n|=n>>>16;n++}return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(n!==n){if(state.flowing&&state.length)return state.buffer.head.data.length;else return state.length}if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n<=state.length)return n;if(!state.ended){state.needReadable=true;return 0}return state.length}Readable.prototype.read=function(n){debug("read",n);n=parseInt(n,10);var state=this._readableState;var nOrig=n;if(n!==0)state.emittedReadable=false;if(n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=state.length<=state.highWaterMark;n=0}else{state.length-=n;state.awaitDrain=0}if(state.length===0){if(!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null)this.emit("data",ret);return ret};function onEofChunk(stream,state){debug("onEofChunk");if(state.ended)return;if(state.decoder){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;if(state.sync){emitReadable(stream)}else{state.needReadable=false;if(!state.emittedReadable){state.emittedReadable=true;emitReadable_(stream)}}}function emitReadable(stream){var state=stream._readableState;debug("emitReadable",state.needReadable,state.emittedReadable);state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;process.nextTick(emitReadable_,stream)}}function emitReadable_(stream){var state=stream._readableState;debug("emitReadable_",state.destroyed,state.length,state.ended);if(!state.destroyed&&(state.length||state.ended)){stream.emit("readable");state.emittedReadable=false}state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark;flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(maybeReadMore_,stream,state)}}function maybeReadMore_(stream,state){while(!state.reading&&!state.ended&&(state.length1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp){debug("false write response, pause",state.awaitDrain);state.awaitDrain++}src.pause()}}function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EElistenerCount(dest,"error")===0)errorOrDestroy(dest,er)}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return function pipeOnDrainFunctionResult(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EElistenerCount(src,"data")){state.flowing=true;flow(src)}}}Readable.prototype.unpipe=function(dest){var state=this._readableState;var unpipeInfo={hasUnpiped:false};if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this,unpipeInfo);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i0;if(state.flowing!==false)this.resume()}else if(ev==="readable"){if(!state.endEmitted&&!state.readableListening){state.readableListening=state.needReadable=true;state.flowing=false;state.emittedReadable=false;debug("on readable",state.length,state.reading);if(state.length){emitReadable(this)}else if(!state.reading){process.nextTick(nReadingNextTick,this)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){var res=Stream.prototype.removeListener.call(this,ev,fn);if(ev==="readable"){process.nextTick(updateReadableListening,this)}return res};Readable.prototype.removeAllListeners=function(ev){var res=Stream.prototype.removeAllListeners.apply(this,arguments);if(ev==="readable"||ev===undefined){process.nextTick(updateReadableListening,this)}return res};function updateReadableListening(self){var state=self._readableState;state.readableListening=self.listenerCount("readable")>0;if(state.resumeScheduled&&!state.paused){state.flowing=true}else if(self.listenerCount("data")>0){self.resume()}}function nReadingNextTick(self){debug("readable nexttick read 0");self.read(0)}Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=!state.readableListening;resume(this,state)}state.paused=false;return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;process.nextTick(resume_,stream,state)}}function resume_(stream,state){debug("resume",state.reading);if(!state.reading){stream.read(0)}state.resumeScheduled=false;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(this._readableState.flowing!==false){debug("pause");this._readableState.flowing=false;this.emit("pause")}this._readableState.paused=true;return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);while(state.flowing&&stream.read()!==null){}}Readable.prototype.wrap=function(stream){var _this=this;var state=this._readableState;var paused=false;stream.on("end",function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)_this.push(chunk)}_this.push(null)});stream.on("data",function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=_this.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(this[i]===undefined&&typeof stream[i]==="function"){this[i]=function methodWrap(method){return function methodWrapReturnFunction(){return stream[method].apply(stream,arguments)}}(i)}}for(var n=0;n=state.length){if(state.decoder)ret=state.buffer.join("");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else{ret=state.buffer.consume(n,state.decoder)}return ret}function endReadable(stream){var state=stream._readableState;debug("endReadable",state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream)}}function endReadableNT(state,stream){debug("endReadableNT",state.endEmitted,state.length);if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end");if(state.autoDestroy){var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy()}}}}if(typeof Symbol==="function"){Readable.from=function(iterable,opts){if(from===undefined){from=require("./internal/streams/from")}return from(Readable,iterable,opts)}}function indexOf(xs,x){for(var i=0,l=xs.length;i-1))throw new ERR_UNKNOWN_ENCODING(encoding);this._writableState.defaultEncoding=encoding;return this};Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=Buffer.from(chunk,encoding)}return chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);if(chunk!==newChunk){isBuf=true;encoding="buffer";chunk=newChunk}}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length}},{key:"unshift",value:function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length}},{key:"shift",value:function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret}},{key:"clear",value:function clear(){this.head=this.tail=null;this.length=0}},{key:"join",value:function join(s){if(this.length===0)return"";var p=this.head;var ret=""+p.data;while(p=p.next){ret+=s+p.data}return ret}},{key:"concat",value:function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next}return ret}},{key:"consume",value:function consume(n,hasStrings){var ret;if(nstr.length?str.length:n;if(nb===str.length)ret+=str;else ret+=str.slice(0,n);n-=nb;if(n===0){if(nb===str.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=str.slice(nb)}break}++c}this.length-=c;return ret}},{key:"_getBuffer",value:function _getBuffer(n){var ret=Buffer.allocUnsafe(n);var p=this.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=buf.slice(nb)}break}++c}this.length-=c;return ret}},{key:custom,value:function value(_,options){return inspect(this,_objectSpread({},options,{depth:0,customInspect:false}))}}]);return BufferList}()},{buffer:128,util:126}],189:[function(require,module,exports){(function(process){"use strict";function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err)}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(err||null,function(err){if(!cb&&err){if(!_this._writableState){process.nextTick(emitErrorAndCloseNT,_this,err)}else if(!_this._writableState.errorEmitted){_this._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,_this,err)}else{process.nextTick(emitCloseNT,_this)}}else if(cb){process.nextTick(emitCloseNT,_this);cb(err)}else{process.nextTick(emitCloseNT,_this)}});return this}function emitErrorAndCloseNT(self,err){emitErrorNT(self,err);emitCloseNT(self)}function emitCloseNT(self){if(self._writableState&&!self._writableState.emitClose)return;if(self._readableState&&!self._readableState.emitClose)return;self.emit("close")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(self,err){self.emit("error",err)}function errorOrDestroy(stream,err){var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit("error",err)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}}).call(this,require("_process"))},{_process:172}],190:[function(require,module,exports){"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(callback){var called=false;return function(){if(called)return;called=true;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}callback.apply(this,args)}}function noop(){}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function eos(stream,opts,callback){if(typeof opts==="function")return eos(stream,null,opts);if(!opts)opts={};callback=once(callback||noop);var readable=opts.readable||opts.readable!==false&&stream.readable;var writable=opts.writable||opts.writable!==false&&stream.writable;var onlegacyfinish=function onlegacyfinish(){if(!stream.writable)onfinish()};var writableEnded=stream._writableState&&stream._writableState.finished;var onfinish=function onfinish(){writable=false;writableEnded=true;if(!readable)callback.call(stream)};var readableEnded=stream._readableState&&stream._readableState.endEmitted;var onend=function onend(){readable=false;readableEnded=true;if(!writable)callback.call(stream)};var onerror=function onerror(err){callback.call(stream,err)};var onclose=function onclose(){var err;if(readable&&!readableEnded){if(!stream._readableState||!stream._readableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}if(writable&&!writableEnded){if(!stream._writableState||!stream._writableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}};var onrequest=function onrequest(){stream.req.on("finish",onfinish)};if(isRequest(stream)){stream.on("complete",onfinish);stream.on("abort",onclose);if(stream.req)onrequest();else stream.on("request",onrequest)}else if(writable&&!stream._writableState){stream.on("end",onlegacyfinish);stream.on("close",onlegacyfinish)}stream.on("end",onend);stream.on("finish",onfinish);if(opts.error!==false)stream.on("error",onerror);stream.on("close",onclose);return function(){stream.removeListener("complete",onfinish);stream.removeListener("abort",onclose);stream.removeListener("request",onrequest);if(stream.req)stream.req.removeListener("finish",onfinish);stream.removeListener("end",onlegacyfinish);stream.removeListener("close",onlegacyfinish);stream.removeListener("finish",onfinish);stream.removeListener("end",onend);stream.removeListener("error",onerror);stream.removeListener("close",onclose)}}module.exports=eos},{"../../../errors":181}],191:[function(require,module,exports){module.exports=function(){throw new Error("Readable.from is not available in the browser")}},{}],192:[function(require,module,exports){"use strict";var eos;function once(callback){var called=false;return function(){if(called)return;called=true;callback.apply(void 0,arguments)}}var _require$codes=require("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(err){if(err)throw err}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function destroyer(stream,reading,writing,callback){callback=once(callback);var closed=false;stream.on("close",function(){closed=true});if(eos===undefined)eos=require("./end-of-stream");eos(stream,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=true;callback()});var destroyed=false;return function(err){if(closed)return;if(destroyed)return;destroyed=true;if(isRequest(stream))return stream.abort();if(typeof stream.destroy==="function")return stream.destroy();callback(err||new ERR_STREAM_DESTROYED("pipe"))}}function call(fn){fn()}function pipe(from,to){return from.pipe(to)}function popCallback(streams){if(!streams.length)return noop;if(typeof streams[streams.length-1]!=="function")return noop;return streams.pop()}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++){streams[_key]=arguments[_key]}var callback=popCallback(streams);if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2){throw new ERR_MISSING_ARGS("streams")}var error;var destroys=streams.map(function(stream,i){var reading=i0;return destroyer(stream,reading,writing,function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error)})});return streams.reduce(pipe)}module.exports=pipeline},{"../../../errors":181,"./end-of-stream":190}],193:[function(require,module,exports){"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:"highWaterMark";throw new ERR_INVALID_OPT_VALUE(name,hwm)}return Math.floor(hwm)}return state.objectMode?16:16*1024}module.exports={getHighWaterMark:getHighWaterMark}},{"../../../errors":181}],194:[function(require,module,exports){module.exports=require("events").EventEmitter},{events:131}],195:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Stream=exports;exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js");exports.finished=require("./lib/internal/streams/end-of-stream.js");exports.pipeline=require("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":182,"./lib/_stream_passthrough.js":183,"./lib/_stream_readable.js":184,"./lib/_stream_transform.js":185,"./lib/_stream_writable.js":186,"./lib/internal/streams/end-of-stream.js":190,"./lib/internal/streams/pipeline.js":192}],196:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer;var isEncoding=Buffer.isEncoding||function(encoding){encoding=""+encoding;switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(enc){if(!enc)return"utf8";var retried;while(true){switch(enc){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase();retried=true}}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!=="string"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;nb=4;break;case"utf8":this.fillLast=utf8FillLast;nb=4;break;case"base64":this.text=base64Text;this.end=base64End;nb=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return"";var r;var i;if(this.lastNeed){r=this.fillLast(buf);if(r===undefined)return"";i=this.lastNeed;this.lastNeed=0}else{i=0}if(i>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j=0){if(nb>0){if(nb===2)nb=0;else self.lastNeed=nb-3}return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128){self.lastNeed=0;return"�"}if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128){self.lastNeed=1;return"�"}if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128){self.lastNeed=2;return"�"}}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,buf,p);if(r!==undefined)return r;if(this.lastNeed<=buf.length){buf.copy(this.lastChar,p,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,p,0,buf.length);this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);buf.copy(this.lastChar,0,end);return buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+"�";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=buf[buf.length-1];return buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString("base64",i);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=buf[buf.length-1]}else{this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1]}return buf.toString("base64",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}},{"safe-buffer":176}],197:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.apply=apply;var isObject=function isObject(val){return val!=null&&(typeof val==="undefined"?"undefined":_typeof(val))==="object"&&Array.isArray(val)===false};function apply(origin,patch){if(!isObject(patch)){return patch}var result=!isObject(origin)?{}:Object.assign({},origin);Object.keys(patch).forEach(function(key){var patchVal=patch[key];if(patchVal===null){delete result[key]}else{result[key]=apply(result[key],patchVal)}});return result}exports.default=apply},{}],198:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.URI=global.URI||{})})(this,function(exports){"use strict";function merge(){for(var _len=arguments.length,sets=Array(_len),_key=0;_key<_len;_key++){sets[_key]=arguments[_key]}if(sets.length>1){sets[0]=sets[0].slice(0,-1);var xl=sets.length-1;for(var x=1;x= 0x80 (not a basic code point)","invalid-input":"Invalid input"};var baseMinusTMin=base-tMin;var floor=Math.floor;var stringFromCharCode=String.fromCharCode;function error$1(type){throw new RangeError(errors[type])}function map(array,fn){var result=[];var length=array.length;while(length--){result[length]=fn(array[length])}return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[];var counter=0;var length=string.length;while(counter=55296&&value<=56319&&counter>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))};var decode=function decode(input){var output=[];var inputLength=input.length;var i=0;var n=initialN;var bias=initialBias;var basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(var j=0;j=128){error$1("not-basic")}output.push(input.charCodeAt(j))}for(var index=basic>0?basic+1:0;index=inputLength){error$1("invalid-input")}var digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error$1("overflow")}i+=digit*w;var t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digitfloor(maxInt/baseMinusT)){error$1("overflow")}w*=baseMinusT}var out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error$1("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return String.fromCodePoint.apply(String,output)};var encode=function encode(input){var output=[];input=ucs2decode(input);var inputLength=input.length;var n=initialN;var delta=0;var bias=initialBias;var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=input[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var _currentValue2=_step.value;if(_currentValue2<128){output.push(stringFromCharCode(_currentValue2))}}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}var basicLength=output.length;var handledCPCount=basicLength;if(basicLength){output.push(delimiter)}while(handledCPCount=n&¤tValuefloor((maxInt-delta)/handledCPCountPlusOne)){error$1("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=input[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var _currentValue=_step3.value;if(_currentValuemaxInt){error$1("overflow")}if(_currentValue==n){var q=delta;for(var k=base;;k+=base){var t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q>6|192).toString(16).toUpperCase()+"%"+(c&63|128).toString(16).toUpperCase();else e="%"+(c>>12|224).toString(16).toUpperCase()+"%"+(c>>6&63|128).toString(16).toUpperCase()+"%"+(c&63|128).toString(16).toUpperCase();return e}function pctDecChars(str){var newStr="";var i=0;var il=str.length;while(i=194&&c<224){if(il-i>=6){var c2=parseInt(str.substr(i+4,2),16);newStr+=String.fromCharCode((c&31)<<6|c2&63)}else{newStr+=str.substr(i,6)}i+=6}else if(c>=224){if(il-i>=9){var _c=parseInt(str.substr(i+4,2),16);var c3=parseInt(str.substr(i+7,2),16);newStr+=String.fromCharCode((c&15)<<12|(_c&63)<<6|c3&63)}else{newStr+=str.substr(i,9)}i+=9}else{newStr+=str.substr(i,3);i+=3}}return newStr}function _normalizeComponentEncoding(components,protocol){function decodeUnreserved(str){var decStr=pctDecChars(str);return!decStr.match(protocol.UNRESERVED)?str:decStr}if(components.scheme)components.scheme=String(components.scheme).replace(protocol.PCT_ENCODED,decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME,"");if(components.userinfo!==undefined)components.userinfo=String(components.userinfo).replace(protocol.PCT_ENCODED,decodeUnreserved).replace(protocol.NOT_USERINFO,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);if(components.host!==undefined)components.host=String(components.host).replace(protocol.PCT_ENCODED,decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);if(components.path!==undefined)components.path=String(components.path).replace(protocol.PCT_ENCODED,decodeUnreserved).replace(components.scheme?protocol.NOT_PATH:protocol.NOT_PATH_NOSCHEME,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);if(components.query!==undefined)components.query=String(components.query).replace(protocol.PCT_ENCODED,decodeUnreserved).replace(protocol.NOT_QUERY,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);if(components.fragment!==undefined)components.fragment=String(components.fragment).replace(protocol.PCT_ENCODED,decodeUnreserved).replace(protocol.NOT_FRAGMENT,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);return components}function _stripLeadingZeros(str){return str.replace(/^0*(.*)/,"$1")||"0"}function _normalizeIPv4(host,protocol){var matches=host.match(protocol.IPV4ADDRESS)||[];var _matches=slicedToArray(matches,2),address=_matches[1];if(address){return address.split(".").map(_stripLeadingZeros).join(".")}else{return host}}function _normalizeIPv6(host,protocol){var matches=host.match(protocol.IPV6ADDRESS)||[];var _matches2=slicedToArray(matches,3),address=_matches2[1],zone=_matches2[2];if(address){var _address$toLowerCase$=address.toLowerCase().split("::").reverse(),_address$toLowerCase$2=slicedToArray(_address$toLowerCase$,2),last=_address$toLowerCase$2[0],first=_address$toLowerCase$2[1];var firstFields=first?first.split(":").map(_stripLeadingZeros):[];var lastFields=last.split(":").map(_stripLeadingZeros);var isLastFieldIPv4Address=protocol.IPV4ADDRESS.test(lastFields[lastFields.length-1]);var fieldCount=isLastFieldIPv4Address?7:8;var lastFieldsStart=lastFields.length-fieldCount;var fields=Array(fieldCount);for(var x=0;x1){var newFirst=fields.slice(0,longestZeroFields.index);var newLast=fields.slice(longestZeroFields.index+longestZeroFields.length);newHost=newFirst.join(":")+"::"+newLast.join(":")}else{newHost=fields.join(":")}if(zone){newHost+="%"+zone}return newHost}else{return host}}var URI_PARSE=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i;var NO_MATCH_IS_UNDEFINED="".match(/(){0}/)[1]===undefined;function parse(uriString){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var components={};var protocol=options.iri!==false?IRI_PROTOCOL:URI_PROTOCOL;if(options.reference==="suffix")uriString=(options.scheme?options.scheme+":":"")+"//"+uriString;var matches=uriString.match(URI_PARSE);if(matches){if(NO_MATCH_IS_UNDEFINED){components.scheme=matches[1];components.userinfo=matches[3];components.host=matches[4];components.port=parseInt(matches[5],10);components.path=matches[6]||"";components.query=matches[7];components.fragment=matches[8];if(isNaN(components.port)){components.port=matches[5]}}else{components.scheme=matches[1]||undefined;components.userinfo=uriString.indexOf("@")!==-1?matches[3]:undefined;components.host=uriString.indexOf("//")!==-1?matches[4]:undefined;components.port=parseInt(matches[5],10);components.path=matches[6]||"";components.query=uriString.indexOf("?")!==-1?matches[7]:undefined;components.fragment=uriString.indexOf("#")!==-1?matches[8]:undefined;if(isNaN(components.port)){components.port=uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?matches[4]:undefined}}if(components.host){components.host=_normalizeIPv6(_normalizeIPv4(components.host,protocol),protocol)}if(components.scheme===undefined&&components.userinfo===undefined&&components.host===undefined&&components.port===undefined&&!components.path&&components.query===undefined){components.reference="same-document"}else if(components.scheme===undefined){components.reference="relative"}else if(components.fragment===undefined){components.reference="absolute"}else{components.reference="uri"}if(options.reference&&options.reference!=="suffix"&&options.reference!==components.reference){components.error=components.error||"URI is not a "+options.reference+" reference."}var schemeHandler=SCHEMES[(options.scheme||components.scheme||"").toLowerCase()];if(!options.unicodeSupport&&(!schemeHandler||!schemeHandler.unicodeSupport)){if(components.host&&(options.domainHost||schemeHandler&&schemeHandler.domainHost)){try{components.host=punycode.toASCII(components.host.replace(protocol.PCT_ENCODED,pctDecChars).toLowerCase())}catch(e){components.error=components.error||"Host's domain name can not be converted to ASCII via punycode: "+e}}_normalizeComponentEncoding(components,URI_PROTOCOL)}else{_normalizeComponentEncoding(components,protocol)}if(schemeHandler&&schemeHandler.parse){schemeHandler.parse(components,options)}}else{components.error=components.error||"URI can not be parsed."}return components}function _recomposeAuthority(components,options){var protocol=options.iri!==false?IRI_PROTOCOL:URI_PROTOCOL;var uriTokens=[];if(components.userinfo!==undefined){uriTokens.push(components.userinfo);uriTokens.push("@")}if(components.host!==undefined){uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host),protocol),protocol).replace(protocol.IPV6ADDRESS,function(_,$1,$2){return"["+$1+($2?"%25"+$2:"")+"]"}))}if(typeof components.port==="number"){uriTokens.push(":");uriTokens.push(components.port.toString(10))}return uriTokens.length?uriTokens.join(""):undefined}var RDS1=/^\.\.?\//;var RDS2=/^\/\.(\/|$)/;var RDS3=/^\/\.\.(\/|$)/;var RDS5=/^\/?(?:.|\n)*?(?=\/|$)/;function removeDotSegments(input){var output=[];while(input.length){if(input.match(RDS1)){input=input.replace(RDS1,"")}else if(input.match(RDS2)){input=input.replace(RDS2,"/")}else if(input.match(RDS3)){input=input.replace(RDS3,"/");output.pop()}else if(input==="."||input===".."){input=""}else{var im=input.match(RDS5);if(im){var s=im[0];input=input.slice(s.length);output.push(s)}else{throw new Error("Unexpected dot segment condition")}}}return output.join("")}function serialize(components){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var protocol=options.iri?IRI_PROTOCOL:URI_PROTOCOL;var uriTokens=[];var schemeHandler=SCHEMES[(options.scheme||components.scheme||"").toLowerCase()];if(schemeHandler&&schemeHandler.serialize)schemeHandler.serialize(components,options);if(components.host){if(protocol.IPV6ADDRESS.test(components.host)){}else if(options.domainHost||schemeHandler&&schemeHandler.domainHost){try{components.host=!options.iri?punycode.toASCII(components.host.replace(protocol.PCT_ENCODED,pctDecChars).toLowerCase()):punycode.toUnicode(components.host)}catch(e){components.error=components.error||"Host's domain name can not be converted to "+(!options.iri?"ASCII":"Unicode")+" via punycode: "+e}}}_normalizeComponentEncoding(components,protocol);if(options.reference!=="suffix"&&components.scheme){uriTokens.push(components.scheme);uriTokens.push(":")}var authority=_recomposeAuthority(components,options);if(authority!==undefined){if(options.reference!=="suffix"){uriTokens.push("//")}uriTokens.push(authority);if(components.path&&components.path.charAt(0)!=="/"){uriTokens.push("/")}}if(components.path!==undefined){var s=components.path;if(!options.absolutePath&&(!schemeHandler||!schemeHandler.absolutePath)){s=removeDotSegments(s)}if(authority===undefined){s=s.replace(/^\/\//,"/%2F")}uriTokens.push(s)}if(components.query!==undefined){uriTokens.push("?");uriTokens.push(components.query)}if(components.fragment!==undefined){uriTokens.push("#");uriTokens.push(components.fragment)}return uriTokens.join("")}function resolveComponents(base,relative){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var skipNormalization=arguments[3];var target={};if(!skipNormalization){base=parse(serialize(base,options),options);relative=parse(serialize(relative,options),options)}options=options||{};if(!options.tolerant&&relative.scheme){target.scheme=relative.scheme;target.userinfo=relative.userinfo;target.host=relative.host;target.port=relative.port;target.path=removeDotSegments(relative.path||"");target.query=relative.query}else{if(relative.userinfo!==undefined||relative.host!==undefined||relative.port!==undefined){target.userinfo=relative.userinfo;target.host=relative.host;target.port=relative.port;target.path=removeDotSegments(relative.path||"");target.query=relative.query}else{if(!relative.path){target.path=base.path;if(relative.query!==undefined){target.query=relative.query}else{target.query=base.query}}else{if(relative.path.charAt(0)==="/"){target.path=removeDotSegments(relative.path)}else{if((base.userinfo!==undefined||base.host!==undefined||base.port!==undefined)&&!base.path){target.path="/"+relative.path}else if(!base.path){target.path=relative.path}else{target.path=base.path.slice(0,base.path.lastIndexOf("/")+1)+relative.path}target.path=removeDotSegments(target.path)}target.query=relative.query}target.userinfo=base.userinfo;target.host=base.host;target.port=base.port}target.scheme=base.scheme}target.fragment=relative.fragment;return target}function resolve(baseURI,relativeURI,options){var schemelessOptions=assign({scheme:"null"},options);return serialize(resolveComponents(parse(baseURI,schemelessOptions),parse(relativeURI,schemelessOptions),schemelessOptions,true),schemelessOptions)}function normalize(uri,options){if(typeof uri==="string"){uri=serialize(parse(uri,options),options)}else if(typeOf(uri)==="object"){uri=parse(serialize(uri,options),options)}return uri}function equal(uriA,uriB,options){if(typeof uriA==="string"){uriA=serialize(parse(uriA,options),options)}else if(typeOf(uriA)==="object"){uriA=serialize(uriA,options)}if(typeof uriB==="string"){uriB=serialize(parse(uriB,options),options)}else if(typeOf(uriB)==="object"){uriB=serialize(uriB,options)}return uriA===uriB}function escapeComponent(str,options){return str&&str.toString().replace(!options||!options.iri?URI_PROTOCOL.ESCAPE:IRI_PROTOCOL.ESCAPE,pctEncChar)}function unescapeComponent(str,options){return str&&str.toString().replace(!options||!options.iri?URI_PROTOCOL.PCT_ENCODED:IRI_PROTOCOL.PCT_ENCODED,pctDecChars)}var handler={scheme:"http",domainHost:true,parse:function parse(components,options){if(!components.host){components.error=components.error||"HTTP URIs must have a host."}return components},serialize:function serialize(components,options){if(components.port===(String(components.scheme).toLowerCase()!=="https"?80:443)||components.port===""){components.port=undefined}if(!components.path){components.path="/"}return components}};var handler$1={scheme:"https",domainHost:handler.domainHost,parse:handler.parse,serialize:handler.serialize};var O={};var isIRI=true;var UNRESERVED$$="[A-Za-z0-9\\-\\.\\_\\~"+(isIRI?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]";var HEXDIG$$="[0-9A-Fa-f]";var PCT_ENCODED$=subexp(subexp("%[EFef]"+HEXDIG$$+"%"+HEXDIG$$+HEXDIG$$+"%"+HEXDIG$$+HEXDIG$$)+"|"+subexp("%[89A-Fa-f]"+HEXDIG$$+"%"+HEXDIG$$+HEXDIG$$)+"|"+subexp("%"+HEXDIG$$+HEXDIG$$));var ATEXT$$="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]";var QTEXT$$="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]";var VCHAR$$=merge(QTEXT$$,'[\\"\\\\]');var SOME_DELIMS$$="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]";var UNRESERVED=new RegExp(UNRESERVED$$,"g");var PCT_ENCODED=new RegExp(PCT_ENCODED$,"g");var NOT_LOCAL_PART=new RegExp(merge("[^]",ATEXT$$,"[\\.]",'[\\"]',VCHAR$$),"g");var NOT_HFNAME=new RegExp(merge("[^]",UNRESERVED$$,SOME_DELIMS$$),"g");var NOT_HFVALUE=NOT_HFNAME;function decodeUnreserved(str){var decStr=pctDecChars(str);return!decStr.match(UNRESERVED)?str:decStr}var handler$2={scheme:"mailto",parse:function parse$$1(components,options){var mailtoComponents=components;var to=mailtoComponents.to=mailtoComponents.path?mailtoComponents.path.split(","):[];mailtoComponents.path=undefined;if(mailtoComponents.query){var unknownHeaders=false;var headers={};var hfields=mailtoComponents.query.split("&");for(var x=0,xl=hfields.length;x",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var queryIndex=url.indexOf("?"),splitter=queryIndex!==-1&&queryIndex127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){this.hostname=punycode.toASCII(this.hostname)}var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/"){rest="/"+rest}}}if(!unsafeProtocol[lowerProto]){for(var i=0,l=autoEscape.length;i0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last==="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host}},{"./util":200,punycode:127,querystring:175}],200:[function(require,module,exports){"use strict";module.exports={isString:function(arg){return typeof arg==="string"},isObject:function(arg){return typeof arg==="object"&&arg!==null},isNull:function(arg){return arg===null},isNullOrUndefined:function(arg){return arg==null}}},{}],201:[function(require,module,exports){(function(global){module.exports=deprecate;function deprecate(fn,msg){if(config("noDeprecation")){return fn}var warned=false;function deprecated(){if(!warned){if(config("throwDeprecation")){throw new Error(msg)}else if(config("traceDeprecation")){console.trace(msg)}else{console.warn(msg)}warned=true}return fn.apply(this,arguments)}return deprecated}function config(name){try{if(!global.localStorage)return false}catch(_){return false}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==="true"}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],202:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}else{module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}},{}],203:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==="object"&&typeof arg.copy==="function"&&typeof arg.fill==="function"&&typeof arg.readUInt8==="function"}},{}],204:[function(require,module,exports){(function(process,global){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){var objects=[];for(var i=0;i=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":203,_process:172,inherits:202}],205:[function(require,module,exports){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){var target={};for(var i=0;i checkpoint");er.position=position;er.checkpoint=this.checkpoint;throw er}this.result+=this.source.slice(this.checkpoint,position);this.checkpoint=position;return this};StringBuilder.prototype.escapeChar=function(){var character,esc;character=this.source.charCodeAt(this.checkpoint);esc=ESCAPE_SEQUENCES[character]||encodeHex(character);this.result+=esc;this.checkpoint+=1;return this};StringBuilder.prototype.finish=function(){if(this.source.length>this.checkpoint){this.takeUpTo(this.source.length)}};function writeScalar(state,object,level){var simple,first,spaceWrap,folded,literal,single,double,sawLineFeed,linePosition,longestLine,indent,max,character,position,escapeSeq,hexEsc,previous,lineLength,modifier,trailingLineBreaks,result;if(0===object.length){state.dump="''";return}if(object.indexOf("!include")==0){state.dump=""+object;return}if(object.indexOf("!$$$novalue")==0){state.dump="";return}if(-1!==DEPRECATED_BOOLEANS_SYNTAX.indexOf(object)){state.dump="'"+object+"'";return}simple=true;first=object.length?object.charCodeAt(0):0;spaceWrap=CHAR_SPACE===first||CHAR_SPACE===object.charCodeAt(object.length-1);if(CHAR_MINUS===first||CHAR_QUESTION===first||CHAR_COMMERCIAL_AT===first||CHAR_GRAVE_ACCENT===first){simple=false}if(spaceWrap){simple=false;folded=false;literal=false}else{folded=true;literal=true}single=true;double=new StringBuilder(object);sawLineFeed=false;linePosition=0;longestLine=0;indent=state.indent*level;max=80;if(indent<40){max-=indent}else{max=40}for(position=0;position0){previous=object.charCodeAt(position-1);if(previous===CHAR_SPACE){literal=false;folded=false}}if(folded){lineLength=position-linePosition;linePosition=position;if(lineLength>longestLine){longestLine=lineLength}}}if(character!==CHAR_DOUBLE_QUOTE){single=false}double.takeUpTo(position);double.escapeChar()}if(simple&&testImplicitResolving(state,object)){simple=false}modifier="";if(folded||literal){trailingLineBreaks=0;if(object.charCodeAt(object.length-1)===CHAR_LINE_FEED){trailingLineBreaks+=1;if(object.charCodeAt(object.length-2)===CHAR_LINE_FEED){trailingLineBreaks+=1}}if(trailingLineBreaks===0){modifier="-"}else if(trailingLineBreaks===2){modifier="+"}}if(literal&&longestLine"+modifier+"\n"+indentString(result,indent)}else if(literal){if(!modifier){object=object.replace(/\n$/,"")}state.dump="|"+modifier+"\n"+indentString(object,indent)}else if(double){double.finish();state.dump='"'+double.result+'"'}else{throw new Error("Failed to dump scalar value")}return}function fold(object,max){var result="",position=0,length=object.length,trailing=/\n+$/.exec(object),newLine;if(trailing){length=trailing.index+1}while(positionlength||newLine===-1){if(result){result+="\n\n"}result+=foldLine(object.slice(position,length),max);position=length}else{if(result){result+="\n\n"}result+=foldLine(object.slice(position,newLine),max);position=newLine+1}}if(trailing&&trailing[0]!=="\n"){result+=trailing[0]}return result}function foldLine(line,max){if(line===""){return line}var foldRe=/[^\s] [^\s]/g,result="",prevMatch=0,foldStart=0,match=foldRe.exec(line),index,foldEnd,folded;while(match){index=match.index;if(index-foldStart>max){if(prevMatch!==foldStart){foldEnd=prevMatch}else{foldEnd=index}if(result){result+="\n"}folded=line.slice(foldStart,foldEnd);result+=folded;foldStart=foldEnd+1}prevMatch=index+1;match=foldRe.exec(line)}if(result){result+="\n"}if(foldStart!==prevMatch&&line.length-foldStart>max){result+=line.slice(foldStart,prevMatch)+"\n"+line.slice(prevMatch+1)}else{result+=line.slice(foldStart)}return result}function simpleChar(character){return CHAR_TAB!==character&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character&&CHAR_COMMA!==character&&CHAR_LEFT_SQUARE_BRACKET!==character&&CHAR_RIGHT_SQUARE_BRACKET!==character&&CHAR_LEFT_CURLY_BRACKET!==character&&CHAR_RIGHT_CURLY_BRACKET!==character&&CHAR_SHARP!==character&&CHAR_AMPERSAND!==character&&CHAR_ASTERISK!==character&&CHAR_EXCLAMATION!==character&&CHAR_VERTICAL_LINE!==character&&CHAR_GREATER_THAN!==character&&CHAR_SINGLE_QUOTE!==character&&CHAR_DOUBLE_QUOTE!==character&&CHAR_PERCENT!==character&&CHAR_COLON!==character&&!ESCAPE_SEQUENCES[character]&&!needsHexEscape(character)}function needsHexEscape(character){return!(32<=character&&character<=126||133===character||160<=character&&character<=55295||57344<=character&&character<=65533||65536<=character&&character<=1114111)}function writeFlowSequence(state,level,object){var _result="",_tag=state.tag,index,length;for(index=0,length=object.length;index1024){pairBuffer+="? "}pairBuffer+=state.dump+": ";if(!writeNode(state,level,objectValue,false,false)){continue}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump="{"+_result+"}"}function writeBlockMapping(state,level,object,compact){var _result="",_tag=state.tag,objectKeyList=Object.keys(object),index,length,objectKey,objectValue,explicitPair,pairBuffer;for(index=0,length=objectKeyList.length;index1024;if(explicitPair){if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+="?"}else{pairBuffer+="? "}}pairBuffer+=state.dump;if(explicitPair){pairBuffer+=generateNextLine(state,level)}if(!writeNode(state,level+1,objectValue,true,explicitPair)){continue}if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+=":"}else{pairBuffer+=": "}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump=_result||"{}"}function detectType(state,object,explicit){var _result,typeList,index,length,type,style;typeList=explicit?state.explicitTypes:state.implicitTypes;for(index=0,length=typeList.length;index tag resolver accepts not "'+style+'" style')}state.dump=_result}return true}}return false}function writeNode(state,level,object,block,compact){state.tag=null;state.dump=object;if(!detectType(state,object,false)){detectType(state,object,true)}var type=_toString.call(state.dump);if(block){block=0>state.flowLevel||state.flowLevel>level}if(null!==state.tag&&"?"!==state.tag||2!==state.indent&&level>0){compact=false}var objectOrArray="[object Object]"===type||"[object Array]"===type,duplicateIndex,duplicate;if(objectOrArray){duplicateIndex=state.duplicates.indexOf(object);duplicate=duplicateIndex!==-1}if(duplicate&&state.usedDuplicates[duplicateIndex]){state.dump="*ref_"+duplicateIndex}else{if(objectOrArray&&duplicate&&!state.usedDuplicates[duplicateIndex]){state.usedDuplicates[duplicateIndex]=true}if("[object Object]"===type){if(block&&0!==Object.keys(state.dump).length){writeBlockMapping(state,level,state.dump,compact);if(duplicate){state.dump="&ref_"+duplicateIndex+(0===level?"\n":"")+state.dump}}else{writeFlowMapping(state,level,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if("[object Array]"===type){if(block&&0!==state.dump.length){writeBlockSequence(state,level,state.dump,compact);if(duplicate){state.dump="&ref_"+duplicateIndex+(0===level?"\n":"")+state.dump}}else{writeFlowSequence(state,level,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if("[object String]"===type){if("?"!==state.tag){writeScalar(state,state.dump,level)}}else{if(state.skipInvalid){return false}throw new YAMLException("unacceptable kind of an object to dump "+type)}if(null!==state.tag&&"?"!==state.tag){state.dump="!<"+state.tag+"> "+state.dump}}return true}function getDuplicateReferences(object,state){var objects=[],duplicatesIndexes=[],index,length;inspectNode(object,objects,duplicatesIndexes);for(index=0,length=duplicatesIndexes.length;index>10)+55296,(c-65536&1023)+56320)}var simpleEscapeCheck=new Array(256);var simpleEscapeMap=new Array(256);var customEscapeCheck=new Array(256);var customEscapeMap=new Array(256);for(var i=0;i<256;i++){customEscapeMap[i]=simpleEscapeMap[i]=simpleEscapeSequence(i);simpleEscapeCheck[i]=simpleEscapeMap[i]?1:0;customEscapeCheck[i]=1;if(!simpleEscapeCheck[i]){customEscapeMap[i]="\\"+String.fromCharCode(i)}}var State=function(){function State(input,options){this.errorMap={};this.errors=[];this.lines=[];this.input=input;this.filename=options["filename"]||null;this.schema=options["schema"]||DEFAULT_FULL_SCHEMA;this.onWarning=options["onWarning"]||null;this.legacy=options["legacy"]||false;this.allowAnyEscape=options["allowAnyEscape"]||false;this.ignoreDuplicateKeys=options["ignoreDuplicateKeys"]||false;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=input.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}return State}();function generateError(state,message,isWarning){if(isWarning===void 0){isWarning=false}return new YAMLException(message,new Mark(state.filename,state.input,state.position,state.line,state.position-state.lineStart),isWarning)}function throwErrorFromPosition(state,position,message,isWarning,toLineEnd){if(isWarning===void 0){isWarning=false}if(toLineEnd===void 0){toLineEnd=false}var line=positionToLine(state,position);if(!line){return}var hash=message+position;if(state.errorMap[hash]){return}var mark=new Mark(state.filename,state.input,position,line.line,position-line.start);if(toLineEnd){mark.toLineEnd=true}var error=new YAMLException(message,mark,isWarning);state.errors.push(error)}function throwError(state,message){var error=generateError(state,message);var hash=error.message+error.mark.position;if(state.errorMap[hash]){return}state.errors.push(error);state.errorMap[hash]=1;var or=state.position;while(true){if(state.position>=state.input.length-1){return}var c=state.input.charAt(state.position);if(c=="\n"){state.position--;if(state.position==or){state.position+=1}return}if(c=="\r"){state.position--;if(state.position==or){state.position+=1}return}state.position++}}function throwWarning(state,message){var error=generateError(state,message);if(state.onWarning){state.onWarning.call(null,error)}else{}}var directiveHandlers={YAML:function handleYamlDirective(state,name,args){var match,major,minor;if(null!==state.version){throwError(state,"duplication of %YAML directive")}if(1!==args.length){throwError(state,"YAML directive accepts exactly one argument")}match=/^([0-9]+)\.([0-9]+)$/.exec(args[0]);if(null===match){throwError(state,"ill-formed argument of the YAML directive")}major=parseInt(match[1],10);minor=parseInt(match[2],10);if(1!==major){throwError(state,"found incompatible YAML document (version 1.2 is required)")}state.version=args[0];state.checkLineBreaks=minor<2;if(2!==minor){throwError(state,"found incompatible YAML document (version 1.2 is required)")}},TAG:function handleTagDirective(state,name,args){var handle,prefix;if(2!==args.length){throwError(state,"TAG directive accepts exactly two arguments")}handle=args[0];prefix=args[1];if(!PATTERN_TAG_HANDLE.test(handle)){throwError(state,"ill-formed tag handle (first argument) of the TAG directive")}if(_hasOwnProperty.call(state.tagMap,handle)){throwError(state,'there is a previously declared suffix for "'+handle+'" tag handle')}if(!PATTERN_TAG_URI.test(prefix)){throwError(state,"ill-formed tag prefix (second argument) of the TAG directive")}state.tagMap[handle]=prefix}};function captureSegment(state,start,end,checkJson){var _position,_length,_character,_result;var scalar=state.result;if(scalar.startPosition==-1){scalar.startPosition=start}if(start<=end){_result=state.input.slice(start,end);if(checkJson){for(_position=0,_length=_result.length;_position<_length;_position+=1){_character=_result.charCodeAt(_position);if(!(9===_character||32<=_character&&_character<=1114111)){throwError(state,"expected valid JSON character")}}}else if(PATTERN_NON_PRINTABLE.test(_result)){throwError(state,"the stream contains non-printable characters")}scalar.value+=_result;scalar.endPosition=end}}function mergeMappings(state,destination,source){var sourceKeys,key,index,quantity;if(!common.isObject(source)){throwError(state,"cannot merge mappings; the provided source object is unacceptable")}sourceKeys=Object.keys(source);for(index=0,quantity=sourceKeys.length;indexposition){break}line=state.lines[i]}if(!line){return{start:0,line:0}}return line}function skipSeparationSpace(state,allowComments,checkIndent){var lineBreaks=0,ch=state.input.charCodeAt(state.position);while(0!==ch){while(is_WHITE_SPACE(ch)){if(ch===9){state.errors.push(generateError(state,"Using tabs can lead to unpredictable results",true))}ch=state.input.charCodeAt(++state.position)}if(allowComments&&35===ch){do{ch=state.input.charCodeAt(++state.position)}while(ch!==10&&ch!==13&&0!==ch)}if(is_EOL(ch)){readLineBreak(state);ch=state.input.charCodeAt(state.position);lineBreaks++;state.lineIndent=0;while(32===ch){state.lineIndent++;ch=state.input.charCodeAt(++state.position)}}else{break}}if(-1!==checkIndent&&0!==lineBreaks&&state.lineIndent1){scalar.value+=common.repeat("\n",count-1)}}function readPlainScalar(state,nodeIndent,withinFlowCollection){var preceding,following,captureStart,captureEnd,hasPendingContent,_line,_lineStart,_lineIndent,_kind=state.kind,_result=state.result,ch;var state_result=ast.newScalar();state_result.plainScalar=true;state.result=state_result;ch=state.input.charCodeAt(state.position);if(is_WS_OR_EOL(ch)||is_FLOW_INDICATOR(ch)||35===ch||38===ch||42===ch||33===ch||124===ch||62===ch||39===ch||34===ch||37===ch||64===ch||96===ch){return false}if(63===ch||45===ch){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){return false}}state.kind="scalar";captureStart=captureEnd=state.position;hasPendingContent=false;while(0!==ch){if(58===ch){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){break}}else if(35===ch){preceding=state.input.charCodeAt(state.position-1);if(is_WS_OR_EOL(preceding)){break}}else if(state.position===state.lineStart&&testDocumentSeparator(state)||withinFlowCollection&&is_FLOW_INDICATOR(ch)){break}else if(is_EOL(ch)){_line=state.line;_lineStart=state.lineStart;_lineIndent=state.lineIndent;skipSeparationSpace(state,false,-1);if(state.lineIndent>=nodeIndent){hasPendingContent=true;ch=state.input.charCodeAt(state.position);continue}else{state.position=captureEnd;state.line=_line;state.lineStart=_lineStart;state.lineIndent=_lineIndent;break}}if(hasPendingContent){captureSegment(state,captureStart,captureEnd,false);writeFoldedLines(state,state_result,state.line-_line);captureStart=captureEnd=state.position;hasPendingContent=false}if(!is_WHITE_SPACE(ch)){captureEnd=state.position+1}ch=state.input.charCodeAt(++state.position);if(state.position>=state.input.length){return false}}captureSegment(state,captureStart,captureEnd,false);if(state.result.startPosition!=-1){state_result.rawValue=state.input.substring(state_result.startPosition,state_result.endPosition);return true}state.kind=_kind;state.result=_result;return false}function readSingleQuotedScalar(state,nodeIndent){var ch,captureStart,captureEnd;ch=state.input.charCodeAt(state.position);if(39!==ch){return false}var scalar=ast.newScalar();scalar.singleQuoted=true;state.kind="scalar";state.result=scalar;scalar.startPosition=state.position;state.position++;captureStart=captureEnd=state.position;while(0!==(ch=state.input.charCodeAt(state.position))){if(39===ch){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);scalar.endPosition=state.position;if(39===ch){captureStart=captureEnd=state.position;state.position++}else{return true}}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,scalar,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a single quoted scalar")}else{state.position++;captureEnd=state.position;scalar.endPosition=state.position}}throwError(state,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(state,nodeIndent){var captureStart,captureEnd,hexLength,hexResult,tmp,tmpEsc,ch;ch=state.input.charCodeAt(state.position);if(34!==ch){return false}state.kind="scalar";var scalar=ast.newScalar();scalar.doubleQuoted=true;state.result=scalar;scalar.startPosition=state.position;state.position++;captureStart=captureEnd=state.position;while(0!==(ch=state.input.charCodeAt(state.position))){if(34===ch){captureSegment(state,captureStart,state.position,true);state.position++;scalar.endPosition=state.position;scalar.rawValue=state.input.substring(scalar.startPosition,scalar.endPosition);return true}else if(92===ch){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);if(is_EOL(ch)){skipSeparationSpace(state,false,nodeIndent)}else if(ch<256&&(state.allowAnyEscape?customEscapeCheck[ch]:simpleEscapeCheck[ch])){scalar.value+=state.allowAnyEscape?customEscapeMap[ch]:simpleEscapeMap[ch];state.position++}else if((tmp=escapedHexLen(ch))>0){hexLength=tmp;hexResult=0;for(;hexLength>0;hexLength--){ch=state.input.charCodeAt(++state.position);if((tmp=fromHexCode(ch))>=0){hexResult=(hexResult<<4)+tmp}else{throwError(state,"expected hexadecimal character")}}scalar.value+=charFromCodepoint(hexResult);state.position++}else{throwError(state,"unknown escape sequence")}captureStart=captureEnd=state.position}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,scalar,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a double quoted scalar")}else{state.position++;captureEnd=state.position}}throwError(state,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(state,nodeIndent){var readNext=true,_line,_tag=state.tag,_result,_anchor=state.anchor,following,terminator,isPair,isExplicitPair,isMapping,keyNode,keyTag,valueNode,ch;ch=state.input.charCodeAt(state.position);if(ch===91){terminator=93;isMapping=false;_result=ast.newItems();_result.startPosition=state.position}else if(ch===123){terminator=125;isMapping=true;_result=ast.newMap();_result.startPosition=state.position}else{return false}if(null!==state.anchor){_result.anchorId=state.anchor;state.anchorMap[state.anchor]=_result}ch=state.input.charCodeAt(++state.position);while(0!==ch){skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(ch===terminator){state.position++;state.tag=_tag;state.anchor=_anchor;state.kind=isMapping?"mapping":"sequence";state.result=_result;_result.endPosition=state.position;return true}else if(!readNext){var p=state.position;throwError(state,"missed comma between flow collection entries");state.position=p+1}keyTag=keyNode=valueNode=null;isPair=isExplicitPair=false;if(63===ch){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)){isPair=isExplicitPair=true;state.position++;skipSeparationSpace(state,true,nodeIndent)}}_line=state.line;composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);keyTag=state.tag;keyNode=state.result;skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if((isExplicitPair||state.line===_line)&&58===ch){isPair=true;ch=state.input.charCodeAt(++state.position);skipSeparationSpace(state,true,nodeIndent);composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);valueNode=state.result}if(isMapping){storeMappingPair(state,_result,keyTag,keyNode,valueNode)}else if(isPair){var mp=storeMappingPair(state,null,keyTag,keyNode,valueNode);mp.parent=_result;_result.items.push(mp)}else{if(keyNode){keyNode.parent=_result}_result.items.push(keyNode)}_result.endPosition=state.position+1;skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(44===ch){readNext=true;ch=state.input.charCodeAt(++state.position)}else{readNext=false}}throwError(state,"unexpected end of the stream within a flow collection")}function readBlockScalar(state,nodeIndent){var captureStart,folding,chomping=CHOMPING_CLIP,detectedIndent=false,textIndent=nodeIndent,emptyLines=0,atMoreIndented=false,tmp,ch;ch=state.input.charCodeAt(state.position);if(ch===124){folding=false}else if(ch===62){folding=true}else{return false}var sc=ast.newScalar();state.kind="scalar";state.result=sc;sc.startPosition=state.position;while(0!==ch){ch=state.input.charCodeAt(++state.position);if(43===ch||45===ch){if(CHOMPING_CLIP===chomping){chomping=43===ch?CHOMPING_KEEP:CHOMPING_STRIP}else{throwError(state,"repeat of a chomping mode identifier")}}else if((tmp=fromDecimalCode(ch))>=0){if(tmp===0){throwError(state,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!detectedIndent){textIndent=nodeIndent+tmp-1;detectedIndent=true}else{throwError(state,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(ch)){do{ch=state.input.charCodeAt(++state.position)}while(is_WHITE_SPACE(ch));if(35===ch){do{ch=state.input.charCodeAt(++state.position)}while(!is_EOL(ch)&&0!==ch)}}while(0!==ch){readLineBreak(state);state.lineIndent=0;ch=state.input.charCodeAt(state.position);while((!detectedIndent||state.lineIndenttextIndent){textIndent=state.lineIndent}if(is_EOL(ch)){emptyLines++;continue}if(state.lineIndentnodeIndent)&&0!==ch){throwError(state,"bad indentation of a sequence entry")}else if(state.lineIndent0){ch=state.input.charCodeAt(--state.position);if(is_EOL(ch)){state.position++;break}}}else{state.tag=_tag;state.anchor=_anchor;return true}}else{break}if(state.line===_line||state.lineIndent>nodeIndent){if(composeNode(state,nodeIndent,CONTEXT_BLOCK_OUT,true,allowCompact)){if(atExplicitKey){keyNode=state.result}else{valueNode=state.result}}if(!atExplicitKey){storeMappingPair(state,_result,keyTag,keyNode,valueNode);keyTag=keyNode=valueNode=null}skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position)}if(state.lineIndent>nodeIndent&&0!==ch){throwError(state,"bad indentation of a mapping entry")}else if(state.lineIndentparentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndentparentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndent tag; it should be "'+type.kind+'", not "'+state.kind+'"')}if(!type.resolve(state.result)){throwError(state,"cannot resolve a node with !<"+state.tag+"> explicit tag")}else{state.result=type.construct(state.result);if(null!==state.anchor){state.result.anchorId=state.anchor;state.anchorMap[state.anchor]=state.result}}}else{throwErrorFromPosition(state,tagStart,"unknown tag <"+state.tag+">",false,true)}}return null!==state.tag||null!==state.anchor||hasContent}function readDocument(state){var documentStart=state.position,_position,directiveName,directiveArgs,hasDirectives=false,ch;state.version=null;state.checkLineBreaks=state.legacy;state.tagMap={};state.anchorMap={};while(0!==(ch=state.input.charCodeAt(state.position))){skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position);if(state.lineIndent>0||37!==ch){break}hasDirectives=true;ch=state.input.charCodeAt(++state.position);_position=state.position;while(0!==ch&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveName=state.input.slice(_position,state.position);directiveArgs=[];if(directiveName.length<1){throwError(state,"directive name must not be less than one character in length")}while(0!==ch){while(is_WHITE_SPACE(ch)){ch=state.input.charCodeAt(++state.position)}if(35===ch){do{ch=state.input.charCodeAt(++state.position)}while(0!==ch&&!is_EOL(ch));break}if(is_EOL(ch)){break}_position=state.position;while(0!==ch&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveArgs.push(state.input.slice(_position,state.position))}if(0!==ch){readLineBreak(state)}if(_hasOwnProperty.call(directiveHandlers,directiveName)){directiveHandlers[directiveName](state,directiveName,directiveArgs)}else{throwWarning(state,'unknown document directive "'+directiveName+'"');state.position++}}skipSeparationSpace(state,true,-1);if(0===state.lineIndent&&45===state.input.charCodeAt(state.position)&&45===state.input.charCodeAt(state.position+1)&&45===state.input.charCodeAt(state.position+2)){state.position+=3;skipSeparationSpace(state,true,-1)}else if(hasDirectives){throwError(state,"directives end mark is expected")}composeNode(state,state.lineIndent-1,CONTEXT_BLOCK_OUT,false,true);skipSeparationSpace(state,true,-1);if(state.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart,state.position))){throwWarning(state,"non-ASCII line breaks are interpreted as content")}state.documents.push(state.result);if(state.position===state.lineStart&&testDocumentSeparator(state)){if(46===state.input.charCodeAt(state.position)){state.position+=3;skipSeparationSpace(state,true,-1)}return}if(state.position0){documents[docsCount-1].endPosition=inputLength}for(var _i=0,documents_1=documents;_ix.endPosition){x.startPosition=x.endPosition}}return documents}function loadAll(input,iterator,options){if(options===void 0){options={}}var documents=loadDocuments(input,options),index,length;for(index=0,length=documents.length;index0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(start-1))){start-=1;if(this.position-start>maxLength/2-1){head=" ... ";start+=5;break}}tail="";end=this.position;while(endmaxLength/2-1){tail=" ... ";end-=5;break}}snippet=this.buffer.slice(start,end);return common.repeat(" ",indent)+head+snippet+tail+"\n"+common.repeat(" ",indent+this.position-start+head.length)+"^"};Mark.prototype.toString=function(compact){if(compact===void 0){compact=true}var snippet,where="";if(this.name){where+='in "'+this.name+'" '}where+="at line "+(this.line+1)+", column "+(this.column+1);if(!compact){snippet=this.getSnippet();if(snippet){where+=":\n"+snippet}}return where};return Mark}();module.exports=Mark},{"./common":206}],212:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function parseYamlBoolean(input){if(["true","True","TRUE"].lastIndexOf(input)>=0){return true}else if(["false","False","FALSE"].lastIndexOf(input)>=0){return false}throw'Invalid boolean "'+input+'"'}exports.parseYamlBoolean=parseYamlBoolean;function safeParseYamlInteger(input){if(input.lastIndexOf("0o",0)===0){return parseInt(input.substring(2),8)}return parseInt(input)}function parseYamlInteger(input){var result=safeParseYamlInteger(input);if(isNaN(result)){throw'Invalid integer "'+input+'"'}return result}exports.parseYamlInteger=parseYamlInteger;function parseYamlFloat(input){if([".nan",".NaN",".NAN"].lastIndexOf(input)>=0){return NaN}var infinity=/^([-+])?(?:\.inf|\.Inf|\.INF)$/;var match=infinity.exec(input);if(match){return match[1]==="-"?-Infinity:Infinity}var result=parseFloat(input);if(!isNaN(result)){return result}throw'Invalid float "'+input+'"'}exports.parseYamlFloat=parseYamlFloat;var ScalarType;(function(ScalarType){ScalarType[ScalarType["null"]=0]="null";ScalarType[ScalarType["bool"]=1]="bool";ScalarType[ScalarType["int"]=2]="int";ScalarType[ScalarType["float"]=3]="float";ScalarType[ScalarType["string"]=4]="string"})(ScalarType=exports.ScalarType||(exports.ScalarType={}));function determineScalarType(node){if(node===undefined){return ScalarType.null}if(node.doubleQuoted||!node.plainScalar||node["singleQuoted"]){return ScalarType.string}var value=node.value;if(["null","Null","NULL","~",""].indexOf(value)>=0){return ScalarType.null}if(value===null||value===undefined){return ScalarType.null}if(["true","True","TRUE","false","False","FALSE"].indexOf(value)>=0){return ScalarType.bool}var base10=/^[-+]?[0-9]+$/;var base8=/^0o[0-7]+$/;var base16=/^0x[0-9a-fA-F]+$/;if(base10.test(value)||base8.test(value)||base16.test(value)){return ScalarType.int}var float=/^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$/;var infinity=/^[-+]?(\.inf|\.Inf|\.INF)$/;if(float.test(value)||infinity.test(value)||[".nan",".NaN",".NAN"].indexOf(value)>=0){return ScalarType.float}return ScalarType.string}exports.determineScalarType=determineScalarType},{}],213:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var common=require("./common");var YAMLException=require("./exception");var type_1=require("./type");function compileList(schema,name,result){var exclude=[];schema.include.forEach(function(includedSchema){result=compileList(includedSchema,name,result)});schema[name].forEach(function(currentType){result.forEach(function(previousType,previousIndex){if(previousType.tag===currentType.tag){exclude.push(previousIndex)}});result.push(currentType)});return result.filter(function(type,index){return-1===exclude.indexOf(index)})}function compileMap(){var result={},index,length;function collectType(type){result[type.tag]=type}for(index=0,length=arguments.length;index64){continue}if(code<0){return false}bitlen+=6}return bitlen%8===0}function constructYamlBinary(data){var code,idx,tailbits,input=data.replace(/[\r\n=]/g,""),max=input.length,map=BASE64_MAP,bits=0,result=[];for(idx=0;idx>16&255);result.push(bits>>8&255);result.push(bits&255)}bits=bits<<6|map.indexOf(input.charAt(idx))}tailbits=max%4*6;if(tailbits===0){result.push(bits>>16&255);result.push(bits>>8&255);result.push(bits&255)}else if(tailbits===18){result.push(bits>>10&255);result.push(bits>>2&255)}else if(tailbits===12){result.push(bits>>4&255)}if(NodeBuffer){return new NodeBuffer(result)}return result}function representYamlBinary(object){var result="",bits=0,idx,tail,max=object.length,map=BASE64_MAP;for(idx=0;idx>18&63];result+=map[bits>>12&63];result+=map[bits>>6&63];result+=map[bits&63]}bits=(bits<<8)+object[idx]}tail=max%3;if(tail===0){result+=map[bits>>18&63];result+=map[bits>>12&63];result+=map[bits>>6&63];result+=map[bits&63]}else if(tail===2){result+=map[bits>>10&63];result+=map[bits>>4&63];result+=map[bits<<2&63];result+=map[64]}else if(tail===1){result+=map[bits>>2&63];result+=map[bits<<4&63];result+=map[64];result+=map[64]}return result}function isBinary(object){return NodeBuffer&&NodeBuffer.isBuffer(object)}module.exports=new type_1.Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},{"../type":219,buffer:128}],221:[function(require,module,exports){"use strict";"use strict";var type_1=require("../type");function resolveYamlBoolean(data){if(null===data){return false}var max=data.length;return max===4&&(data==="true"||data==="True"||data==="TRUE")||max===5&&(data==="false"||data==="False"||data==="FALSE")}function constructYamlBoolean(data){return data==="true"||data==="True"||data==="TRUE"}function isBoolean(object){return"[object Boolean]"===Object.prototype.toString.call(object)}module.exports=new type_1.Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(object){return object?"true":"false"},uppercase:function(object){return object?"TRUE":"FALSE"},camelcase:function(object){return object?"True":"False"}},defaultStyle:"lowercase"})},{"../type":219}],222:[function(require,module,exports){"use strict";var common=require("../common");var type_1=require("../type");var YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+][0-9]+)?"+"|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(data){if(null===data){return false}var value,sign,base,digits;if(!YAML_FLOAT_PATTERN.test(data)){return false}return true}function constructYamlFloat(data){var value,sign,base,digits;value=data.replace(/_/g,"").toLowerCase();sign="-"===value[0]?-1:1;digits=[];if(0<="+-".indexOf(value[0])){value=value.slice(1)}if(".inf"===value){return 1===sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(".nan"===value){return NaN}else if(0<=value.indexOf(":")){value.split(":").forEach(function(v){digits.unshift(parseFloat(v,10))});value=0;base=1;digits.forEach(function(d){value+=d*base;base*=60});return sign*value}return sign*parseFloat(value,10)}function representYamlFloat(object,style){if(isNaN(object)){switch(style){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===object){switch(style){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===object){switch(style){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(common.isNegativeZero(object)){return"-0.0"}return object.toString(10)}function isFloat(object){return"[object Number]"===Object.prototype.toString.call(object)&&(0!==object%1||common.isNegativeZero(object))}module.exports=new type_1.Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},{"../common":206,"../type":219}],223:[function(require,module,exports){"use strict";var common=require("../common");var type_1=require("../type");function isHexCode(c){return 48<=c&&c<=57||65<=c&&c<=70||97<=c&&c<=102}function isOctCode(c){return 48<=c&&c<=55}function isDecCode(c){return 48<=c&&c<=57}function resolveYamlInteger(data){if(null===data){return false}var max=data.length,index=0,hasDigits=false,ch;if(!max){return false}ch=data[index];if(ch==="-"||ch==="+"){ch=data[++index]}if(ch==="0"){if(index+1===max){return true}ch=data[++index];if(ch==="b"){index++;for(;index3){return false}if(regexp[regexp.length-modifiers.length-1]!=="/"){return false}regexp=regexp.slice(1,regexp.length-modifiers.length-1)}try{var dummy=new RegExp(regexp,modifiers);return true}catch(error){return false}}function constructJavascriptRegExp(data){var regexp=data,tail=/\/([gim]*)$/.exec(data),modifiers="";if("/"===regexp[0]){if(tail){modifiers=tail[1]}regexp=regexp.slice(1,regexp.length-modifiers.length-1)}return new RegExp(regexp,modifiers)}function representJavascriptRegExp(object){var result="/"+object.source+"/";if(object.global){result+="g"}if(object.multiline){result+="m"}if(object.ignoreCase){result+="i"}return result}function isRegExp(object){return"[object RegExp]"===Object.prototype.toString.call(object)}module.exports=new type_1.Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},{"../../type":219}],225:[function(require,module,exports){"use strict";var type_1=require("../../type");function resolveJavascriptUndefined(){return true}function constructJavascriptUndefined(){return undefined}function representJavascriptUndefined(){return""}function isUndefined(object){return"undefined"===typeof object}module.exports=new type_1.Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined})},{"../../type":219}],226:[function(require,module,exports){"use strict";var type_1=require("../type");module.exports=new type_1.Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(data){return null!==data?data:{}}})},{"../type":219}],227:[function(require,module,exports){"use strict";var type_1=require("../type");function resolveYamlMerge(data){return"<<"===data||null===data}module.exports=new type_1.Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},{"../type":219}],228:[function(require,module,exports){"use strict";var type_1=require("../type");function resolveYamlNull(data){if(null===data){return true}var max=data.length;return max===1&&data==="~"||max===4&&(data==="null"||data==="Null"||data==="NULL")}function constructYamlNull(){return null}function isNull(object){return null===object}module.exports=new type_1.Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":219}],229:[function(require,module,exports){"use strict";var type_1=require("../type");var _hasOwnProperty=Object.prototype.hasOwnProperty;var _toString=Object.prototype.toString;function resolveYamlOmap(data){if(null===data){return true}var objectKeys=[],index,length,pair,pairKey,pairHasKey,object=data;for(index=0,length=object.length;index{const channel=doc.channel(channelName);assignIdToParameters(channel.parameters())})}function assignUidToComponentSchemas(doc){if(doc.hasComponents()){for(const[key,s]of Object.entries(doc.components().schemas())){s.json()[String(xParserSchemaId)]=key}}}function assignUidToComponentParameterSchemas(doc){if(doc.hasComponents()){assignIdToParameters(doc.components().parameters())}}function assignNameToAnonymousMessages(doc){let anonymousMessageCounter=0;if(doc.hasChannels()){doc.channelNames().forEach(channelName=>{const channel=doc.channel(channelName);if(channel.hasPublish())addNameToKey(channel.publish().messages(),++anonymousMessageCounter);if(channel.hasSubscribe())addNameToKey(channel.subscribe().messages(),++anonymousMessageCounter)})}}function addNameToKey(messages,number){messages.forEach(m=>{if(m.name()===undefined&&m.ext(xParserMessageName)===undefined){m.json()[String(xParserMessageName)]=``}})}function assignIdToAnonymousSchemas(doc){let anonymousSchemaCounter=0;const callback=schema=>{if(!schema.uid()){schema.json()[String(xParserSchemaId)]=``}};traverseAsyncApiDocument(doc,callback)}module.exports={assignNameToComponentMessages:assignNameToComponentMessages,assignUidToParameterSchemas:assignUidToParameterSchemas,assignUidToComponentSchemas:assignUidToComponentSchemas,assignUidToComponentParameterSchemas:assignUidToComponentParameterSchemas,assignNameToAnonymousMessages:assignNameToAnonymousMessages,assignIdToAnonymousSchemas:assignIdToAnonymousSchemas}},{"./constants":4,"./iterators":8}],2:[function(require,module,exports){const Ajv=require("ajv");const ParserError=require("./errors/parser-error");const asyncapi=require("@asyncapi/specs");const{improveAjvErrors}=require("./utils");const cloneDeep=require("lodash.clonedeep");const ajv=new Ajv({jsonPointers:true,allErrors:true,schemaId:"id",logger:false});ajv.addMetaSchema(require("ajv/lib/refs/json-schema-draft-04.json"));module.exports={parse:parse,getMimeTypes:getMimeTypes};async function parse({message,originalAsyncAPIDocument,fileFormat,parsedAsyncAPIDocument,pathToPayload,defaultSchemaFormat}){const payload=message.payload;if(!payload)return;message["x-parser-original-schema-format"]=message.schemaFormat||defaultSchemaFormat;message["x-parser-original-payload"]=cloneDeep(message.payload);const validate=getValidator(parsedAsyncAPIDocument.asyncapi);const valid=validate(payload);const errors=validate.errors&&[...validate.errors];if(!valid)throw new ParserError({type:"schema-validation-errors",title:"This is not a valid AsyncAPI Schema Object.",parsedJSON:parsedAsyncAPIDocument,validationErrors:improveAjvErrors(addFullPathToDataPath(errors,pathToPayload),originalAsyncAPIDocument,fileFormat)})}function getMimeTypes(){const mimeTypes=["application/schema;version=draft-07","application/schema+json;version=draft-07","application/schema+yaml;version=draft-07"];["2.0.0","2.1.0","2.2.0","2.3.0"].forEach(version=>{mimeTypes.push(`application/vnd.aai.asyncapi;version=${version}`,`application/vnd.aai.asyncapi+json;version=${version}`,`application/vnd.aai.asyncapi+yaml;version=${version}`)});return mimeTypes}function getValidator(version){let validate=ajv.getSchema(version);if(!validate){ajv.addSchema(preparePayloadSchema(asyncapi[String(version)]),version);validate=ajv.getSchema(version)}return validate}function preparePayloadSchema(asyncapiSchema){return{$ref:"#/definitions/schema",definitions:asyncapiSchema.definitions}}function addFullPathToDataPath(errors,path){return errors.map(err=>({...err,...{dataPath:`${path}${err.dataPath}`}}))}},{"./errors/parser-error":6,"./utils":42,"@asyncapi/specs":62,ajv:82,"ajv/lib/refs/json-schema-draft-04.json":123,"lodash.clonedeep":170}],3:[function(require,module,exports){window.AsyncAPIParser=require("./index")},{"./index":7}],4:[function(require,module,exports){const xParserSpecParsed="x-parser-spec-parsed";const xParserSpecStringified="x-parser-spec-stringified";const xParserMessageName="x-parser-message-name";const xParserSchemaId="x-parser-schema-id";const xParserCircle="x-parser-circular";const xParserCircleProps="x-parser-circular-props";module.exports={xParserSpecParsed:xParserSpecParsed,xParserSpecStringified:xParserSpecStringified,xParserMessageName:xParserMessageName,xParserSchemaId:xParserSchemaId,xParserCircle:xParserCircle,xParserCircleProps:xParserCircleProps}},{}],5:[function(require,module,exports){const ParserError=require("./errors/parser-error");const Operation=require("./models/operation");const{parseUrlVariables,getMissingProps,groupValidationErrors,tilde,parseUrlQueryParameters,setNotProvidedParams,getUnknownServers}=require("./utils");const validationError="validation-errors";function validateServerVariables(parsedJSON,asyncapiYAMLorJSON,initialFormat){const srvs=parsedJSON.servers;if(!srvs)return true;const srvsMap=new Map(Object.entries(srvs));const notProvidedVariables=new Map;const notProvidedExamplesInEnum=new Map;srvsMap.forEach((srvr,srvrName)=>{const variables=parseUrlVariables(srvr.url);const variablesObj=srvr.variables;const notProvidedServerVars=notProvidedVariables.get(tilde(srvrName));if(!variables)return;const missingServerVariables=getMissingProps(variables,variablesObj);if(missingServerVariables.length){notProvidedVariables.set(tilde(srvrName),notProvidedServerVars?notProvidedServerVars.concat(missingServerVariables):missingServerVariables)}if(variablesObj){setNotValidExamples(variablesObj,srvrName,notProvidedExamplesInEnum)}});if(notProvidedVariables.size){throw new ParserError({type:validationError,title:"Not all server variables are described with variable object",parsedJSON:parsedJSON,validationErrors:groupValidationErrors("servers","server does not have a corresponding variable object for",notProvidedVariables,asyncapiYAMLorJSON,initialFormat)})}if(notProvidedExamplesInEnum.size){throw new ParserError({type:validationError,title:"Check your server variables. The example does not match the enum list",parsedJSON:parsedJSON,validationErrors:groupValidationErrors("servers","server variable provides an example that does not match the enum list",notProvidedExamplesInEnum,asyncapiYAMLorJSON,initialFormat)})}return true}function setNotValidExamples(variables,srvrName,notProvidedExamplesInEnum){const variablesMap=new Map(Object.entries(variables));variablesMap.forEach((variable,variableName)=>{if(variable.enum&&variable.examples){const wrongExamples=variable.examples.filter(r=>!variable.enum.includes(r));if(wrongExamples.length){notProvidedExamplesInEnum.set(`${tilde(srvrName)}/variables/${tilde(variableName)}`,wrongExamples)}}})}function validateOperationId(parsedJSON,asyncapiYAMLorJSON,initialFormat,operations){const chnls=parsedJSON.channels;if(!chnls)return true;const chnlsMap=new Map(Object.entries(chnls));const duplicatedOperations=new Map;const allOperations=[];const addDuplicateToMap=(op,channelName,opName)=>{const operationId=op.operationId;if(!operationId)return;const operationPath=`${tilde(channelName)}/${opName}/operationId`;const isOperationIdDuplicated=allOperations.filter(v=>v[0]===operationId);if(!isOperationIdDuplicated.length)return allOperations.push([operationId,operationPath]);duplicatedOperations.set(operationPath,isOperationIdDuplicated[0][1])};chnlsMap.forEach((chnlObj,chnlName)=>{operations.forEach(opName=>{const op=chnlObj[String(opName)];if(op)addDuplicateToMap(op,chnlName,opName)})});if(duplicatedOperations.size){throw new ParserError({type:validationError,title:"operationId must be unique across all the operations.",parsedJSON:parsedJSON,validationErrors:groupValidationErrors("channels","is a duplicate of",duplicatedOperations,asyncapiYAMLorJSON,initialFormat)})}return true}function validateServerSecurity(parsedJSON,asyncapiYAMLorJSON,initialFormat,specialSecTypes){const srvs=parsedJSON.servers;if(!srvs)return true;const root="servers";const srvsMap=new Map(Object.entries(srvs));const missingSecSchema=new Map,invalidSecurityValues=new Map;srvsMap.forEach((server,serverName)=>{const serverSecInfo=server.security;if(!serverSecInfo)return true;serverSecInfo.forEach(secObj=>{Object.keys(secObj).forEach(secName=>{const schema=findSecuritySchema(secName,parsedJSON.components);const srvrSecurityPath=`${serverName}/security/${secName}`;if(!schema.length)return missingSecSchema.set(srvrSecurityPath);const schemaType=schema[1];if(!isSrvrSecProperArray(schemaType,specialSecTypes,secObj,secName))invalidSecurityValues.set(srvrSecurityPath,schemaType)})})});if(missingSecSchema.size){throw new ParserError({type:validationError,title:"Server security name must correspond to a security scheme which is declared in the security schemes under the components object.",parsedJSON:parsedJSON,validationErrors:groupValidationErrors(root,"doesn't have a corresponding security schema under the components object",missingSecSchema,asyncapiYAMLorJSON,initialFormat)})}if(invalidSecurityValues.size){throw new ParserError({type:validationError,title:"Server security value must be an empty array if corresponding security schema type is not oauth2 or openIdConnect.",parsedJSON:parsedJSON,validationErrors:groupValidationErrors(root,"security info must have an empty array because its corresponding security schema type is",invalidSecurityValues,asyncapiYAMLorJSON,initialFormat)})}return true}function findSecuritySchema(securityName,components){const secSchemes=components&&components.securitySchemes;const secSchemesMap=secSchemes?new Map(Object.entries(secSchemes)):new Map;const schemaInfo=[];for(const[schemaName,schema]of secSchemesMap.entries()){if(schemaName===securityName){schemaInfo.push(schemaName,schema.type);return schemaInfo}}return schemaInfo}function isSrvrSecProperArray(schemaType,specialSecTypes,secObj,secName){if(!specialSecTypes.includes(schemaType)){const securityObjValue=secObj[String(secName)];return!securityObjValue.length}return true}function validateChannels(parsedJSON,asyncapiYAMLorJSON,initialFormat){const chnls=parsedJSON.channels;if(!chnls)return true;const chnlsMap=new Map(Object.entries(chnls));const notProvidedParams=new Map;const invalidChannelName=new Map;const unknownServers=new Map;chnlsMap.forEach((val,key)=>{const variables=parseUrlVariables(key);const notProvidedChannelParams=notProvidedParams.get(tilde(key));const queryParameters=parseUrlQueryParameters(key);const unknownServerNames=getUnknownServers(parsedJSON,val);if(variables){setNotProvidedParams(variables,val,key,notProvidedChannelParams,notProvidedParams)}if(queryParameters){invalidChannelName.set(tilde(key),queryParameters)}if(unknownServerNames.length>0){unknownServers.set(tilde(key),unknownServerNames)}});const parameterValidationErrors=groupValidationErrors("channels","channel does not have a corresponding parameter object for",notProvidedParams,asyncapiYAMLorJSON,initialFormat);const nameValidationErrors=groupValidationErrors("channels","channel contains invalid name with url query parameters",invalidChannelName,asyncapiYAMLorJSON,initialFormat);const serverValidationErrors=groupValidationErrors("channels","channel contains servers that are not on the servers list in the root of the document",unknownServers,asyncapiYAMLorJSON,initialFormat);const allValidationErrors=parameterValidationErrors.concat(nameValidationErrors).concat(serverValidationErrors);if(notProvidedParams.size||invalidChannelName.size||unknownServers.size){throw new ParserError({type:validationError,title:"Channel validation failed",parsedJSON:parsedJSON,validationErrors:allValidationErrors})}return true}function validateTags(parsedJSON,asyncapiYAMLorJSON,initialFormat){const invalidRoot=validateRootTags(parsedJSON);const invalidChannels=validateAllChannelsTags(parsedJSON);const invalidOperationTraits=validateOperationTraitTags(parsedJSON);const invalidMessages=validateMessageTags(parsedJSON);const invalidMessageTraits=validateMessageTraitsTags(parsedJSON);const errorMessage="contains duplicate tag names";let invalidRootValidationErrors=[];let invalidChannelsValidationErrors=[];let invalidOperationTraitsValidationErrors=[];let invalidMessagesValidationErrors=[];let invalidMessageTraitsValidationErrors=[];if(invalidRoot.size){invalidRootValidationErrors=groupValidationErrors(null,errorMessage,invalidRoot,asyncapiYAMLorJSON,initialFormat)}if(invalidChannels.size){invalidChannelsValidationErrors=groupValidationErrors("channels",errorMessage,invalidChannels,asyncapiYAMLorJSON,initialFormat)}if(invalidOperationTraits.size){invalidOperationTraitsValidationErrors=groupValidationErrors("components",errorMessage,invalidOperationTraits,asyncapiYAMLorJSON,initialFormat)}if(invalidMessages.size){invalidMessagesValidationErrors=groupValidationErrors("components",errorMessage,invalidMessages,asyncapiYAMLorJSON,initialFormat)}if(invalidMessageTraits.size){invalidMessageTraitsValidationErrors=groupValidationErrors("components",errorMessage,invalidMessageTraits,asyncapiYAMLorJSON,initialFormat)}const allValidationErrors=invalidRootValidationErrors.concat(invalidChannelsValidationErrors).concat(invalidOperationTraitsValidationErrors).concat(invalidMessagesValidationErrors).concat(invalidMessageTraitsValidationErrors);if(allValidationErrors.length){throw new ParserError({type:validationError,title:"Tags validation failed",parsedJSON:parsedJSON,validationErrors:allValidationErrors})}return true}function validateRootTags(parsedJSON){const invalidRoot=new Map;const duplicateNames=parsedJSON.tags&&getDuplicateTagNames(parsedJSON.tags);if(duplicateNames&&duplicateNames.length){invalidRoot.set("tags",duplicateNames.toString())}return invalidRoot}function validateOperationTraitTags(parsedJSON){const invalidOperationTraits=new Map;if(parsedJSON&&parsedJSON.components&&parsedJSON.components.operationTraits){Object.keys(parsedJSON.components.operationTraits).forEach(operationTrait=>{const duplicateNames=getDuplicateTagNames(parsedJSON.components.operationTraits[operationTrait].tags);if(duplicateNames&&duplicateNames.length){const operationTraitsPath=`operationTraits/${operationTrait}/tags`;invalidOperationTraits.set(operationTraitsPath,duplicateNames.toString())}})}return invalidOperationTraits}function validateAllChannelsTags(parsedJSON){const chnls=parsedJSON.channels;if(!chnls)return true;const chnlsMap=new Map(Object.entries(chnls));const invalidChannels=new Map;chnlsMap.forEach((channel,channelName)=>validateChannelTags(invalidChannels,channel,channelName));return invalidChannels}function validateChannelTags(invalidChannels,channel,channelName){if(channel.publish){validateOperationTags(invalidChannels,channel.publish,`${tilde(channelName)}/publish`)}if(channel.subscribe){validateOperationTags(invalidChannels,channel.subscribe,`${tilde(channelName)}/subscribe`)}}function validateOperationTags(invalidChannels,operation,operationPath){if(!operation)return;tryAddInvalidEntries(invalidChannels,`${operationPath}/tags`,operation.tags);if(operation.message){if(operation.message.oneOf){operation.message.oneOf.forEach((message,idx)=>{tryAddInvalidEntries(invalidChannels,`${operationPath}/message/oneOf/${idx}/tags`,message.tags)})}else{tryAddInvalidEntries(invalidChannels,`${operationPath}/message/tags`,operation.message.tags)}}}function tryAddInvalidEntries(invalidChannels,key,tags){const duplicateNames=tags&&getDuplicateTagNames(tags);if(duplicateNames&&duplicateNames.length){invalidChannels.set(key,duplicateNames.toString())}}function validateMessageTraitsTags(parsedJSON){const invalidMessageTraits=new Map;if(parsedJSON&&parsedJSON.components&&parsedJSON.components.messageTraits){Object.keys(parsedJSON.components.messageTraits).forEach(messageTrait=>{const duplicateNames=getDuplicateTagNames(parsedJSON.components.messageTraits[messageTrait].tags);if(duplicateNames&&duplicateNames.length){const messageTraitsPath=`messageTraits/${messageTrait}/tags`;invalidMessageTraits.set(messageTraitsPath,duplicateNames.toString())}})}return invalidMessageTraits}function validateMessageTags(parsedJSON){const invalidMessages=new Map;if(parsedJSON&&parsedJSON.components&&parsedJSON.components.messages){Object.keys(parsedJSON.components.messages).forEach(message=>{const duplicateNames=getDuplicateTagNames(parsedJSON.components.messages[message].tags);if(duplicateNames&&duplicateNames.length){const messagePath=`messages/${message}/tags`;invalidMessages.set(messagePath,duplicateNames.toString())}})}return invalidMessages}function getDuplicateTagNames(tags){if(!tags)return null;const tagNames=tags.map(item=>item.name);return tagNames.reduce((acc,item,idx,arr)=>{if(arr.indexOf(item)!==idx&&acc.indexOf(item)<0){acc.push(item)}return acc},[])}module.exports={validateServerVariables:validateServerVariables,validateOperationId:validateOperationId,validateServerSecurity:validateServerSecurity,validateChannels:validateChannels,validateTags:validateTags}},{"./errors/parser-error":6,"./models/operation":31,"./utils":42}],6:[function(require,module,exports){const ERROR_URL_PREFIX="https://github.com/asyncapi/parser-js/";const buildError=(from,to)=>{to.type=from.type.startsWith(ERROR_URL_PREFIX)?from.type:`${ERROR_URL_PREFIX}${from.type}`;to.title=from.title;if(from.detail)to.detail=from.detail;if(from.validationErrors)to.validationErrors=from.validationErrors;if(from.parsedJSON)to.parsedJSON=from.parsedJSON;if(from.location)to.location=from.location;if(from.refs)to.refs=from.refs;return to};class ParserError extends Error{constructor(def){super();buildError(def,this);this.message=def.title}toJS(){return buildError(this,{})}}module.exports=ParserError},{}],7:[function(require,module,exports){const parser=require("./parser");const defaultAsyncAPISchemaParser=require("./asyncapiSchemaFormatParser");parser.registerSchemaParser(defaultAsyncAPISchemaParser);module.exports=parser},{"./asyncapiSchemaFormatParser":2,"./parser":41}],8:[function(require,module,exports){const SchemaIteratorCallbackType=Object.freeze({NEW_SCHEMA:"NEW_SCHEMA",END_SCHEMA:"END_SCHEMA"});const SchemaTypesToIterate=Object.freeze({parameters:"parameters",payloads:"payloads",headers:"headers",components:"components",objects:"objects",arrays:"arrays",oneOfs:"oneOfs",allOfs:"allOfs",anyOfs:"anyOfs",nots:"nots",propertyNames:"propertyNames",patternProperties:"patternProperties",contains:"contains",ifs:"ifs",thenes:"thenes",elses:"elses",dependencies:"dependencies",definitions:"definitions"});function traverseSchema(schema,propOrIndex,options){if(!schema)return;const{callback,schemaTypesToIterate,seenSchemas}=options;const jsonSchema=schema.json();if(seenSchemas.has(jsonSchema))return;seenSchemas.add(jsonSchema);let types=schema.type()||[];if(!Array.isArray(types)){types=[types]}if(!schemaTypesToIterate.includes(SchemaTypesToIterate.objects)&&types.includes("object"))return;if(!schemaTypesToIterate.includes(SchemaTypesToIterate.arrays)&&types.includes("array"))return;if(callback(schema,propOrIndex,SchemaIteratorCallbackType.NEW_SCHEMA)===false)return;if(schemaTypesToIterate.includes(SchemaTypesToIterate.objects)&&types.includes("object")){recursiveSchemaObject(schema,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.arrays)&&types.includes("array")){recursiveSchemaArray(schema,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.oneOfs)){(schema.oneOf()||[]).forEach((combineSchema,idx)=>{traverseSchema(combineSchema,idx,options)})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.anyOfs)){(schema.anyOf()||[]).forEach((combineSchema,idx)=>{traverseSchema(combineSchema,idx,options)})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.allOfs)){(schema.allOf()||[]).forEach((combineSchema,idx)=>{traverseSchema(combineSchema,idx,options)})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.nots)&&schema.not()){traverseSchema(schema.not(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.ifs)&&schema.if()){traverseSchema(schema.if(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.thenes)&&schema.then()){traverseSchema(schema.then(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.elses)&&schema.else()){traverseSchema(schema.else(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.dependencies)){Object.entries(schema.dependencies()||{}).forEach(([depName,dep])=>{if(dep&&!Array.isArray(dep)){traverseSchema(dep,depName,options)}})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.definitions)){Object.entries(schema.definitions()||{}).forEach(([defName,def])=>{traverseSchema(def,defName,options)})}callback(schema,propOrIndex,SchemaIteratorCallbackType.END_SCHEMA);seenSchemas.delete(jsonSchema)}function recursiveSchemaObject(schema,options){Object.entries(schema.properties()||{}).forEach(([propertyName,property])=>{traverseSchema(property,propertyName,options)});const additionalProperties=schema.additionalProperties();if(typeof additionalProperties==="object"){traverseSchema(additionalProperties,null,options)}const schemaTypesToIterate=options.schemaTypesToIterate;if(schemaTypesToIterate.includes(SchemaTypesToIterate.propertyNames)&&schema.propertyNames()){traverseSchema(schema.propertyNames(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.patternProperties)){Object.entries(schema.patternProperties()||{}).forEach(([propertyName,property])=>{traverseSchema(property,propertyName,options)})}}function recursiveSchemaArray(schema,options){const items=schema.items();if(items){if(Array.isArray(items)){items.forEach((item,idx)=>{traverseSchema(item,idx,options)})}else{traverseSchema(items,null,options)}}const additionalItems=schema.additionalItems();if(typeof additionalItems==="object"){traverseSchema(additionalItems,null,options)}if(options.schemaTypesToIterate.includes(SchemaTypesToIterate.contains)&&schema.contains()){traverseSchema(schema.contains(),null,options)}}function traverseAsyncApiDocument(doc,callback,schemaTypesToIterate){if(!schemaTypesToIterate){schemaTypesToIterate=Object.values(SchemaTypesToIterate)}const options={callback:callback,schemaTypesToIterate:schemaTypesToIterate,seenSchemas:new Set};if(doc.hasChannels()){Object.values(doc.channels()).forEach(channel=>{traverseChannel(channel,options)})}if(schemaTypesToIterate.includes(SchemaTypesToIterate.components)&&doc.hasComponents()){const components=doc.components();Object.values(components.messages()||{}).forEach(message=>{traverseMessage(message,options)});Object.values(components.schemas()||{}).forEach(schema=>{traverseSchema(schema,null,options)});if(schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)){Object.values(components.parameters()||{}).forEach(parameter=>{traverseSchema(parameter.schema(),null,options)})}Object.values(components.messageTraits()||{}).forEach(messageTrait=>{traverseMessageTrait(messageTrait,options)})}}function traverseChannel(channel,options){if(!channel)return;const{schemaTypesToIterate}=options;if(schemaTypesToIterate.includes(SchemaTypesToIterate.parameters)){Object.values(channel.parameters()||{}).forEach(parameter=>{traverseSchema(parameter.schema(),null,options)})}if(channel.hasPublish()){channel.publish().messages().forEach(message=>{traverseMessage(message,options)})}if(channel.hasSubscribe()){channel.subscribe().messages().forEach(message=>{traverseMessage(message,options)})}}function traverseMessage(message,options){if(!message)return;const{schemaTypesToIterate}=options;if(schemaTypesToIterate.includes(SchemaTypesToIterate.headers)){traverseSchema(message.headers(),null,options)}if(schemaTypesToIterate.includes(SchemaTypesToIterate.payloads)){traverseSchema(message.payload(),null,options)}}function traverseMessageTrait(messageTrait,options){if(!messageTrait)return;const{schemaTypesToIterate}=options;if(schemaTypesToIterate.includes(SchemaTypesToIterate.headers)){traverseSchema(messageTrait.headers(),null,options)}}module.exports={SchemaIteratorCallbackType:SchemaIteratorCallbackType,SchemaTypesToIterate:SchemaTypesToIterate,traverseAsyncApiDocument:traverseAsyncApiDocument}},{}],9:[function(require,module,exports){module.exports=(txt,reviver,context=20)=>{try{return JSON.parse(txt,reviver)}catch(e){handleJsonNotString(txt);const syntaxErr=e.message.match(/^Unexpected token.*position\s+(\d+)/i);const errIdxBrokenJson=e.message.match(/^Unexpected end of JSON.*/i)?txt.length-1:null;const errIdx=syntaxErr?+syntaxErr[1]:errIdxBrokenJson;handleErrIdxNotNull(e,txt,errIdx,context);e.offset=errIdx;const lines=txt.substr(0,errIdx).split("\n");e.startLine=lines.length;e.startColumn=lines[lines.length-1].length;throw e}};function handleJsonNotString(txt){if(typeof txt!=="string"){const isEmptyArray=Array.isArray(txt)&&txt.length===0;const errorMessage=`Cannot parse ${isEmptyArray?"an empty array":String(txt)}`;throw new TypeError(errorMessage)}}function handleErrIdxNotNull(e,txt,errIdx,context){if(errIdx!==null){const start=errIdx<=context?0:errIdx-context;const end=errIdx+context>=txt.length?txt.length:errIdx+context;e.message+=` while parsing near '${start===0?"":"..."}${txt.slice(start,end)}${end===txt.length?"":"..."}'`}else{e.message+=` while parsing '${txt.slice(0,context*2)}'`}}},{}],10:[function(require,module,exports){const{getMapValueByKey}=require("../models/utils");const MixinBindings={hasBindings(){return!!(this._json.bindings&&Object.keys(this._json.bindings).length)},bindings(){return this.hasBindings()?this._json.bindings:{}},bindingProtocols(){return Object.keys(this.bindings())},hasBinding(name){return this.hasBindings()&&!!this._json.bindings[String(name)]},binding(name){return getMapValueByKey(this._json.bindings,name)}};module.exports=MixinBindings},{"../models/utils":40}],11:[function(require,module,exports){const{getMapValueByKey}=require("../models/utils");const MixinDescription={hasDescription(){return!!this._json.description},description(){return getMapValueByKey(this._json,"description")}};module.exports=MixinDescription},{"../models/utils":40}],12:[function(require,module,exports){const{getMapValueOfType}=require("../models/utils");const ExternalDocs=require("../models/external-docs");const MixinExternalDocs={hasExternalDocs(){return!!(this._json.externalDocs&&Object.keys(this._json.externalDocs).length)},externalDocs(){return getMapValueOfType(this._json,"externalDocs",ExternalDocs)}};module.exports=MixinExternalDocs},{"../models/external-docs":22,"../models/utils":40}],13:[function(require,module,exports){const MixinSpecificationExtensions={hasExtensions(){return!!this.extensionKeys().length},extensions(){const result={};Object.entries(this._json).forEach(([key,value])=>{if(/^x-[\w\d\.\-\_]+$/.test(key)){result[String(key)]=value}});return result},extensionKeys(){return Object.keys(this.extensions())},extKeys(){return this.extensionKeys()},hasExtension(key){if(!key.startsWith("x-")){return false}return!!this._json[String(key)]},extension(key){if(!key.startsWith("x-")){return null}return this._json[String(key)]},hasExt(key){return this.hasExtension(key)},ext(key){return this.extension(key)}};module.exports=MixinSpecificationExtensions},{}],14:[function(require,module,exports){const Tag=require("../models/tag");const MixinTags={hasTags(){return!!(Array.isArray(this._json.tags)&&this._json.tags.length)},tags(){return this.hasTags()?this._json.tags.map(t=>new Tag(t)):[]},tagNames(){return this.hasTags()?this._json.tags.map(t=>t.name):[]},hasTag(name){return this.hasTags()&&this._json.tags.some(t=>t.name===name)},tag(name){const tg=this.hasTags()&&this._json.tags.find(t=>t.name===name);return tg?new Tag(tg):null}};module.exports=MixinTags},{"../models/tag":39}],15:[function(require,module,exports){const{createMapOfType,getMapValueOfType,mix}=require("./utils");const Base=require("./base");const Info=require("./info");const Server=require("./server");const Channel=require("./channel");const Components=require("./components");const MixinExternalDocs=require("../mixins/external-docs");const MixinTags=require("../mixins/tags");const MixinSpecificationExtensions=require("../mixins/specification-extensions");const{xParserSpecParsed,xParserSpecStringified,xParserCircle}=require("../constants");const{assignNameToAnonymousMessages,assignNameToComponentMessages,assignUidToComponentSchemas,assignUidToParameterSchemas,assignIdToAnonymousSchemas,assignUidToComponentParameterSchemas}=require("../anonymousNaming");const{traverseAsyncApiDocument}=require("../iterators");class AsyncAPIDocument extends Base{constructor(...args){super(...args);if(this.ext(xParserSpecParsed)===true){return}assignNameToComponentMessages(this);assignNameToAnonymousMessages(this);assignUidToComponentSchemas(this);assignUidToComponentParameterSchemas(this);assignUidToParameterSchemas(this);assignIdToAnonymousSchemas(this);this.json()[String(xParserSpecParsed)]=true}version(){return this._json.asyncapi}info(){return new Info(this._json.info)}id(){return this._json.id}hasServers(){return!!this._json.servers}servers(){return createMapOfType(this._json.servers,Server)}serverNames(){if(!this._json.servers)return[];return Object.keys(this._json.servers)}server(name){return getMapValueOfType(this._json.servers,name,Server)}hasDefaultContentType(){return!!this._json.defaultContentType}defaultContentType(){return this._json.defaultContentType||null}hasChannels(){return!!this._json.channels}channels(){return createMapOfType(this._json.channels,Channel,this)}channelNames(){if(!this._json.channels)return[];return Object.keys(this._json.channels)}channel(name){return getMapValueOfType(this._json.channels,name,Channel,this)}hasComponents(){return!!this._json.components}components(){if(!this._json.components)return null;return new Components(this._json.components)}hasMessages(){return!!this.allMessages().size}allMessages(){const messages=new Map;if(this.hasChannels()){this.channelNames().forEach(channelName=>{const channel=this.channel(channelName);if(channel.hasPublish()){channel.publish().messages().forEach(m=>{messages.set(m.uid(),m)})}if(channel.hasSubscribe()){channel.subscribe().messages().forEach(m=>{messages.set(m.uid(),m)})}})}if(this.hasComponents()){Object.values(this.components().messages()).forEach(m=>{messages.set(m.uid(),m)})}return messages}allSchemas(){const schemas=new Map;const allSchemasCallback=schema=>{if(schema.uid()){schemas.set(schema.uid(),schema)}};traverseAsyncApiDocument(this,allSchemasCallback);return schemas}hasCircular(){return!!this._json[String(xParserCircle)]}traverseSchemas(callback,schemaTypesToIterate){traverseAsyncApiDocument(this,callback,schemaTypesToIterate)}static stringify(doc,space){const rawDoc=doc.json();const copiedDoc={...rawDoc};copiedDoc[String(xParserSpecStringified)]=true;return JSON.stringify(copiedDoc,refReplacer(),space)}static parse(doc){let parsedJSON=doc;if(typeof doc==="string"){parsedJSON=JSON.parse(doc)}else if(typeof doc==="object"){parsedJSON={...parsedJSON}}if(typeof parsedJSON!=="object"||!parsedJSON[String(xParserSpecParsed)]){throw new Error("Cannot parse invalid AsyncAPI document")}if(!parsedJSON[String(xParserSpecStringified)]){return new AsyncAPIDocument(parsedJSON)}delete parsedJSON[String(xParserSpecStringified)];const objToPath=new Map;const pathToObj=new Map;traverseStringifiedDoc(parsedJSON,undefined,parsedJSON,objToPath,pathToObj);return new AsyncAPIDocument(parsedJSON)}}function refReplacer(){const modelPaths=new Map;const paths=new Map;let init=null;return function(field,value){const pathPart=modelPaths.get(this)+(Array.isArray(this)?`[${field}]`:`.${field}`);const isComplex=value===Object(value);if(isComplex){modelPaths.set(value,pathPart)}const savedPath=paths.get(value)||"";if(!savedPath&&isComplex){const valuePath=pathPart.replace(/undefined\.\.?/,"");paths.set(value,valuePath)}const prefixPath=savedPath[0]==="["?"$":"$.";let val=savedPath?`$ref:${prefixPath}${savedPath}`:value;if(init===null){init=value}else if(val===init){val="$ref:$"}return val}}function traverseStringifiedDoc(parent,field,root,objToPath,pathToObj){let objOrPath=parent;let path="$ref:$";if(field!==undefined){objOrPath=parent[String(field)];const concatenatedPath=field?`.${field}`:"";path=objToPath.get(parent)+(Array.isArray(parent)?`[${field}]`:concatenatedPath)}objToPath.set(objOrPath,path);pathToObj.set(path,objOrPath);const ref=pathToObj.get(objOrPath);if(ref){parent[String(field)]=ref}if(objOrPath==="$ref:$"||ref==="$ref:$"){parent[String(field)]=root}if(objOrPath===Object(objOrPath)){for(const f in objOrPath){traverseStringifiedDoc(objOrPath,f,root,objToPath,pathToObj)}}}module.exports=mix(AsyncAPIDocument,MixinTags,MixinExternalDocs,MixinSpecificationExtensions)},{"../anonymousNaming":1,"../constants":4,"../iterators":8,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"../mixins/tags":14,"./base":16,"./channel":18,"./components":19,"./info":23,"./server":37,"./utils":40}],16:[function(require,module,exports){const ParserError=require("../errors/parser-error");class Base{constructor(json){if(json===undefined||json===null)throw new ParserError(`Invalid JSON to instantiate the ${this.constructor.name} object.`);this._json=json}json(key){if(key===undefined)return this._json;if(!this._json)return;return this._json[String(key)]}}module.exports=Base},{"../errors/parser-error":6}],17:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const Schema=require("./schema");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class ChannelParameter extends Base{location(){return this._json.location}schema(){if(!this._json.schema)return null;return new Schema(this._json.schema)}}module.exports=mix(ChannelParameter,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./schema":33,"./utils":40}],18:[function(require,module,exports){const{createMapOfType,getMapValueOfType,mix}=require("./utils");const Base=require("./base");const ChannelParameter=require("./channel-parameter");const PublishOperation=require("./publish-operation");const SubscribeOperation=require("./subscribe-operation");const MixinDescription=require("../mixins/description");const MixinBindings=require("../mixins/bindings");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Channel extends Base{parameters(){return createMapOfType(this._json.parameters,ChannelParameter)}parameter(name){return getMapValueOfType(this._json.parameters,name,ChannelParameter)}hasParameters(){return!!this._json.parameters}hasServers(){return!!this._json.servers}servers(){if(!this._json.servers)return[];return this._json.servers}server(index){if(!this._json.servers)return null;if(typeof index!=="number")return null;if(index>this._json.servers.length-1)return null;return this._json.servers[+index]}publish(){if(!this._json.publish)return null;return new PublishOperation(this._json.publish)}subscribe(){if(!this._json.subscribe)return null;return new SubscribeOperation(this._json.subscribe)}hasPublish(){return!!this._json.publish}hasSubscribe(){return!!this._json.subscribe}}module.exports=mix(Channel,MixinDescription,MixinBindings,MixinSpecificationExtensions)},{"../mixins/bindings":10,"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./channel-parameter":17,"./publish-operation":32,"./subscribe-operation":38,"./utils":40}],19:[function(require,module,exports){const{createMapOfType,getMapValueOfType,mix}=require("./utils");const Base=require("./base");const Channel=require("./channel");const Message=require("./message");const Schema=require("./schema");const SecurityScheme=require("./security-scheme");const Server=require("./server");const ChannelParameter=require("./channel-parameter");const CorrelationId=require("./correlation-id");const OperationTrait=require("./operation-trait");const MessageTrait=require("./message-trait");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Components extends Base{channels(){return createMapOfType(this._json.channels,Channel)}hasChannels(){return!!this._json.channels}channel(name){return getMapValueOfType(this._json.channels,name,Channel)}messages(){return createMapOfType(this._json.messages,Message)}hasMessages(){return!!this._json.messages}message(name){return getMapValueOfType(this._json.messages,name,Message)}schemas(){return createMapOfType(this._json.schemas,Schema)}hasSchemas(){return!!this._json.schemas}schema(name){return getMapValueOfType(this._json.schemas,name,Schema)}securitySchemes(){return createMapOfType(this._json.securitySchemes,SecurityScheme)}hasSecuritySchemes(){return!!this._json.securitySchemes}securityScheme(name){return getMapValueOfType(this._json.securitySchemes,name,SecurityScheme)}servers(){return createMapOfType(this._json.servers,Server)}hasServers(){return!!this._json.servers}server(name){return getMapValueOfType(this._json.servers,name,Server)}parameters(){return createMapOfType(this._json.parameters,ChannelParameter)}hasParameters(){return!!this._json.parameters}parameter(name){return getMapValueOfType(this._json.parameters,name,ChannelParameter)}correlationIds(){return createMapOfType(this._json.correlationIds,CorrelationId)}hasCorrelationIds(){return!!this._json.correlationIds}correlationId(name){return getMapValueOfType(this._json.correlationIds,name,CorrelationId)}operationTraits(){return createMapOfType(this._json.operationTraits,OperationTrait)}hasOperationTraits(){return!!this._json.operationTraits}operationTrait(name){return getMapValueOfType(this._json.operationTraits,name,OperationTrait)}messageTraits(){return createMapOfType(this._json.messageTraits,MessageTrait)}hasMessageTraits(){return!!this._json.messageTraits}messageTrait(name){return getMapValueOfType(this._json.messageTraits,name,MessageTrait)}}module.exports=mix(Components,MixinSpecificationExtensions)},{"../mixins/specification-extensions":13,"./base":16,"./channel":18,"./channel-parameter":17,"./correlation-id":21,"./message":27,"./message-trait":25,"./operation-trait":29,"./schema":33,"./security-scheme":34,"./server":37,"./utils":40}],20:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Contact extends Base{name(){return this._json.name}url(){return this._json.url}email(){return this._json.email}}module.exports=mix(Contact,MixinSpecificationExtensions)},{"../mixins/specification-extensions":13,"./base":16,"./utils":40}],21:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class CorrelationId extends Base{location(){return this._json.location}}module.exports=mix(CorrelationId,MixinSpecificationExtensions,MixinDescription)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],22:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class ExternalDocs extends Base{url(){return this._json.url}}module.exports=mix(ExternalDocs,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],23:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const License=require("./license");const Contact=require("./contact");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Info extends Base{title(){return this._json.title}version(){return this._json.version}termsOfService(){return this._json.termsOfService}license(){if(!this._json.license)return null;return new License(this._json.license)}contact(){if(!this._json.contact)return null;return new Contact(this._json.contact)}}module.exports=mix(Info,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./contact":20,"./license":24,"./utils":40}],24:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class License extends Base{name(){return this._json.name}url(){return this._json.url}}module.exports=mix(License,MixinSpecificationExtensions)},{"../mixins/specification-extensions":13,"./base":16,"./utils":40}],25:[function(require,module,exports){const MessageTraitable=require("./message-traitable");class MessageTrait extends MessageTraitable{}module.exports=MessageTrait},{"./message-traitable":26}],26:[function(require,module,exports){const{getMapValueOfType,mix}=require("./utils");const Base=require("./base");const Schema=require("./schema");const CorrelationId=require("./correlation-id");const MixinDescription=require("../mixins/description");const MixinExternalDocs=require("../mixins/external-docs");const MixinTags=require("../mixins/tags");const MixinBindings=require("../mixins/bindings");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class MessageTraitable extends Base{headers(){if(!this._json.headers)return null;return new Schema(this._json.headers)}header(name){if(!this._json.headers)return null;return getMapValueOfType(this._json.headers.properties,name,Schema)}correlationId(){if(!this._json.correlationId)return null;return new CorrelationId(this._json.correlationId)}schemaFormat(){return this._json.schemaFormat}contentType(){return this._json.contentType}name(){return this._json.name}title(){return this._json.title}summary(){return this._json.summary}examples(){return this._json.examples}}module.exports=mix(MessageTraitable,MixinDescription,MixinTags,MixinExternalDocs,MixinBindings,MixinSpecificationExtensions)},{"../mixins/bindings":10,"../mixins/description":11,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"../mixins/tags":14,"./base":16,"./correlation-id":21,"./schema":33,"./utils":40}],27:[function(require,module,exports){(function(Buffer){const MessageTrait=require("./message-trait");const MessageTraitable=require("./message-traitable");const Schema=require("./schema");class Message extends MessageTraitable{uid(){return this.name()||this.ext("x-parser-message-name")||Buffer.from(JSON.stringify(this._json)).toString("base64")}payload(){if(!this._json.payload)return null;return new Schema(this._json.payload)}traits(){const traits=this._json["x-parser-original-traits"]||this._json.traits;if(!traits)return[];return traits.map(t=>new MessageTrait(t))}hasTraits(){return!!this._json["x-parser-original-traits"]||!!this._json.traits}originalPayload(){return this._json["x-parser-original-payload"]||this.payload()}originalSchemaFormat(){return this._json["x-parser-original-schema-format"]||this.schemaFormat()}}module.exports=Message}).call(this,require("buffer").Buffer)},{"./message-trait":25,"./message-traitable":26,"./schema":33,buffer:128}],28:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class OAuthFlow extends Base{authorizationUrl(){return this._json.authorizationUrl}tokenUrl(){return this._json.tokenUrl}refreshUrl(){return this._json.refreshUrl}scopes(){return this._json.scopes}}module.exports=mix(OAuthFlow,MixinSpecificationExtensions)},{"../mixins/specification-extensions":13,"./base":16,"./utils":40}],29:[function(require,module,exports){const OperationTraitable=require("./operation-traitable");class OperationTrait extends OperationTraitable{}module.exports=OperationTrait},{"./operation-traitable":30}],30:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinTags=require("../mixins/tags");const MixinExternalDocs=require("../mixins/external-docs");const MixinBindings=require("../mixins/bindings");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class OperationTraitable extends Base{id(){return this._json.operationId}summary(){return this._json.summary}}module.exports=mix(OperationTraitable,MixinDescription,MixinTags,MixinExternalDocs,MixinBindings,MixinSpecificationExtensions)},{"../mixins/bindings":10,"../mixins/description":11,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"../mixins/tags":14,"./base":16,"./utils":40}],31:[function(require,module,exports){const OperationTraitable=require("./operation-traitable");const Message=require("./message");const OperationTrait=require("./operation-trait");class Operation extends OperationTraitable{hasMultipleMessages(){if(this._json.message&&this._json.message.oneOf&&this._json.message.oneOf.length>1)return true;if(!this._json.message)return false;return false}traits(){const traits=this._json["x-parser-original-traits"]||this._json.traits;if(!traits)return[];return traits.map(t=>new OperationTrait(t))}hasTraits(){return!!this._json["x-parser-original-traits"]||!!this._json.traits}messages(){if(!this._json.message)return[];if(this._json.message.oneOf)return this._json.message.oneOf.map(m=>new Message(m));return[new Message(this._json.message)]}message(index){if(!this._json.message)return null;if(!this._json.message.oneOf)return new Message(this._json.message);if(typeof index!=="number")return null;if(index>this._json.message.oneOf.length-1)return null;return new Message(this._json.message.oneOf[+index])}}module.exports=Operation},{"./message":27,"./operation-trait":29,"./operation-traitable":30}],32:[function(require,module,exports){const Operation=require("./operation");class PublishOperation extends Operation{isPublish(){return true}isSubscribe(){return false}kind(){return"publish"}}module.exports=PublishOperation},{"./operation":31}],33:[function(require,module,exports){const{createMapOfType,getMapValueOfType,mix}=require("./utils");const Base=require("./base");const{xParserCircle,xParserCircleProps}=require("../constants");const MixinDescription=require("../mixins/description");const MixinExternalDocs=require("../mixins/external-docs");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Schema extends Base{constructor(json,options){super(json);this.options=options||{}}uid(){return this.$id()||this.ext("x-parser-schema-id")}$id(){return this._json.$id}multipleOf(){return this._json.multipleOf}maximum(){return this._json.maximum}exclusiveMaximum(){return this._json.exclusiveMaximum}minimum(){return this._json.minimum}exclusiveMinimum(){return this._json.exclusiveMinimum}maxLength(){return this._json.maxLength}minLength(){return this._json.minLength}pattern(){return this._json.pattern}maxItems(){return this._json.maxItems}minItems(){return this._json.minItems}uniqueItems(){return!!this._json.uniqueItems}maxProperties(){return this._json.maxProperties}minProperties(){return this._json.minProperties}required(){return this._json.required}enum(){return this._json.enum}type(){return this._json.type}allOf(){if(!this._json.allOf)return null;return this._json.allOf.map(s=>new Schema(s,{parent:this}))}oneOf(){if(!this._json.oneOf)return null;return this._json.oneOf.map(s=>new Schema(s,{parent:this}))}anyOf(){if(!this._json.anyOf)return null;return this._json.anyOf.map(s=>new Schema(s,{parent:this}))}not(){if(!this._json.not)return null;return new Schema(this._json.not,{parent:this})}items(){if(!this._json.items)return null;if(Array.isArray(this._json.items)){return this._json.items.map(s=>new Schema(s,{parent:this}))}return new Schema(this._json.items,{parent:this})}properties(){return createMapOfType(this._json.properties,Schema,{parent:this})}property(name){return getMapValueOfType(this._json.properties,name,Schema,{parent:this})}additionalProperties(){const ap=this._json.additionalProperties;if(ap===undefined||ap===null)return;if(typeof ap==="boolean")return ap;return new Schema(ap,{parent:this})}additionalItems(){const ai=this._json.additionalItems;if(ai===undefined||ai===null)return;return new Schema(ai,{parent:this})}patternProperties(){return createMapOfType(this._json.patternProperties,Schema,{parent:this})}const(){return this._json.const}contains(){if(!this._json.contains)return null;return new Schema(this._json.contains,{parent:this})}dependencies(){if(!this._json.dependencies)return null;const result={};Object.entries(this._json.dependencies).forEach(([key,value])=>{result[String(key)]=!Array.isArray(value)?new Schema(value,{parent:this}):value});return result}propertyNames(){if(!this._json.propertyNames)return null;return new Schema(this._json.propertyNames,{parent:this})}if(){if(!this._json.if)return null;return new Schema(this._json.if,{parent:this})}then(){if(!this._json.then)return null;return new Schema(this._json.then,{parent:this})}else(){if(!this._json.else)return null;return new Schema(this._json.else,{parent:this})}format(){return this._json.format}contentEncoding(){return this._json.contentEncoding}contentMediaType(){return this._json.contentMediaType}definitions(){return createMapOfType(this._json.definitions,Schema,{parent:this})}title(){return this._json.title}default(){return this._json.default}deprecated(){return this._json.deprecated}discriminator(){return this._json.discriminator}readOnly(){return!!this._json.readOnly}writeOnly(){return!!this._json.writeOnly}examples(){return this._json.examples}isBooleanSchema(){return typeof this._json==="boolean"}isCircular(){if(!!this.ext(xParserCircle)){return true}let parent=this.options.parent;while(parent){if(parent._json===this._json)return true;parent=parent.options&&parent.options.parent}return false}circularSchema(){let parent=this.options.parent;while(parent){if(parent._json===this._json)return parent;parent=parent.options&&parent.options.parent}}hasCircularProps(){if(Array.isArray(this.ext(xParserCircleProps))){return this.ext(xParserCircleProps).length>0}return Object.entries(this.properties()||{}).map(([propertyName,property])=>{if(property.isCircular())return propertyName}).filter(Boolean).length>0}circularProps(){if(Array.isArray(this.ext(xParserCircleProps))){return this.ext(xParserCircleProps)}return Object.entries(this.properties()||{}).map(([propertyName,property])=>{if(property.isCircular())return propertyName}).filter(Boolean)}}module.exports=mix(Schema,MixinDescription,MixinExternalDocs,MixinSpecificationExtensions)},{"../constants":4,"../mixins/description":11,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],34:[function(require,module,exports){const{createMapOfType,mix}=require("./utils");const Base=require("./base");const OAuthFlow=require("./oauth-flow");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class SecurityScheme extends Base{type(){return this._json.type}name(){return this._json.name}in(){return this._json.in}scheme(){return this._json.scheme}bearerFormat(){return this._json.bearerFormat}openIdConnectUrl(){return this._json.openIdConnectUrl}flows(){return createMapOfType(this._json.flows,OAuthFlow)}}module.exports=mix(SecurityScheme,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./oauth-flow":28,"./utils":40}],35:[function(require,module,exports){const Base=require("./base");class ServerSecurityRequirement extends Base{}module.exports=ServerSecurityRequirement},{"./base":16}],36:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class ServerVariable extends Base{allowedValues(){return this._json.enum}allows(name){if(this._json.enum===undefined)return true;return this._json.enum.includes(name)}hasAllowedValues(){return this._json.enum!==undefined}defaultValue(){return this._json.default}hasDefaultValue(){return this._json.default!==undefined}examples(){return this._json.examples}}module.exports=mix(ServerVariable,MixinDescription,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],37:[function(require,module,exports){const{createMapOfType,getMapValueOfType,mix}=require("./utils");const Base=require("./base");const ServerVariable=require("./server-variable");const ServerSecurityRequirement=require("./server-security-requirement");const MixinDescription=require("../mixins/description");const MixinBindings=require("../mixins/bindings");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Server extends Base{url(){return this._json.url}protocol(){return this._json.protocol}protocolVersion(){return this._json.protocolVersion}variables(){return createMapOfType(this._json.variables,ServerVariable)}variable(name){return getMapValueOfType(this._json.variables,name,ServerVariable)}hasVariables(){return!!this._json.variables}security(){if(!this._json.security)return null;return this._json.security.map(sec=>new ServerSecurityRequirement(sec))}}module.exports=mix(Server,MixinDescription,MixinBindings,MixinSpecificationExtensions)},{"../mixins/bindings":10,"../mixins/description":11,"../mixins/specification-extensions":13,"./base":16,"./server-security-requirement":35,"./server-variable":36,"./utils":40}],38:[function(require,module,exports){const Operation=require("./operation");class SubscribeOperation extends Operation{isPublish(){return false}isSubscribe(){return true}kind(){return"subscribe"}}module.exports=SubscribeOperation},{"./operation":31}],39:[function(require,module,exports){const{mix}=require("./utils");const Base=require("./base");const MixinDescription=require("../mixins/description");const MixinExternalDocs=require("../mixins/external-docs");const MixinSpecificationExtensions=require("../mixins/specification-extensions");class Tag extends Base{name(){return this._json.name}}module.exports=mix(Tag,MixinDescription,MixinExternalDocs,MixinSpecificationExtensions)},{"../mixins/description":11,"../mixins/external-docs":12,"../mixins/specification-extensions":13,"./base":16,"./utils":40}],40:[function(require,module,exports){const utils=module.exports;const getMapValue=(obj,key,Type,options)=>{if(typeof key!=="string"||!obj)return null;const v=obj[String(key)];if(v===undefined)return null;return Type?new Type(v,options):v};utils.createMapOfType=(obj,Type,options)=>{const result={};if(!obj)return result;Object.entries(obj).forEach(([key,value])=>{result[String(key)]=new Type(value,options)});return result};utils.getMapValueOfType=(obj,key,Type,options)=>{return getMapValue(obj,key,Type,options)};utils.getMapValueByKey=(obj,key)=>{return getMapValue(obj,key)};utils.mix=(model,...mixins)=>{let duplicatedMethods=false;function checkDuplication(mixin){if(model===mixin)return true;duplicatedMethods=Object.keys(mixin).some(mixinMethod=>model.prototype.hasOwnProperty(mixinMethod));return duplicatedMethods}if(mixins.some(checkDuplication)){if(duplicatedMethods){throw new Error(`invalid mix function: model ${model.name} has at least one method that it is trying to replace by mixin`)}else{throw new Error(`invalid mix function: cannot use the model ${model.name} as a mixin`)}}mixins.forEach(mixin=>Object.assign(model.prototype,mixin));return model}},{}],41:[function(require,module,exports){(function(process,global){const path=require("path");const fetch=typeof window!=="undefined"?window["fetch"]:typeof global!=="undefined"?global["fetch"]:null;const Ajv=require("ajv");const asyncapi=require("@asyncapi/specs");const $RefParser=require("@apidevtools/json-schema-ref-parser");const mergePatch=require("tiny-merge-patch").apply;const ParserError=require("./errors/parser-error");const{validateChannels,validateTags,validateServerVariables,validateOperationId,validateServerSecurity}=require("./customValidators.js");const{toJS,findRefs,getLocationOf,improveAjvErrors,getDefaultSchemaFormat}=require("./utils");const AsyncAPIDocument=require("./models/asyncapi");const OPERATIONS=["publish","subscribe"];const SPECIAL_SECURITY_TYPES=["oauth2","openIdConnect"];const PARSERS={};const xParserCircle="x-parser-circular";const xParserMessageParsed="x-parser-message-parsed";const ajv=new Ajv({jsonPointers:true,allErrors:true,schemaId:"id",logger:false});ajv.addMetaSchema(require("ajv/lib/refs/json-schema-draft-04.json"));module.exports={parse:parse,parseFromUrl:parseFromUrl,registerSchemaParser:registerSchemaParser,ParserError:ParserError,AsyncAPIDocument:AsyncAPIDocument};async function parse(asyncapiYAMLorJSON,options={}){let parsedJSON;let initialFormat;options.path=options.path||`${process.cwd()}${path.sep}`;try{({initialFormat:initialFormat,parsedJSON:parsedJSON}=toJS(asyncapiYAMLorJSON));if(typeof parsedJSON!=="object"){throw new ParserError({type:"impossible-to-convert-to-json",title:"Could not convert AsyncAPI to JSON.",detail:"Most probably the AsyncAPI document contains invalid YAML or YAML features not supported in JSON."})}if(!parsedJSON.asyncapi){throw new ParserError({type:"missing-asyncapi-field",title:"The `asyncapi` field is missing.",parsedJSON:parsedJSON})}if(parsedJSON.asyncapi.startsWith("1.")||!asyncapi[parsedJSON.asyncapi]){throw new ParserError({type:"unsupported-version",title:`Version ${parsedJSON.asyncapi} is not supported.`,detail:"Please use latest version of the specification.",parsedJSON:parsedJSON,validationErrors:[getLocationOf("/asyncapi",asyncapiYAMLorJSON,initialFormat)]})}if(options.applyTraits===undefined)options.applyTraits=true;const refParser=new $RefParser;await dereference(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,{...options,dereference:{circular:"ignore"}});const validate=getValidator(parsedJSON.asyncapi);const valid=validate(parsedJSON);const errors=validate.errors&&[...validate.errors];if(!valid)throw new ParserError({type:"validation-errors",title:"There were errors validating the AsyncAPI document.",parsedJSON:parsedJSON,validationErrors:improveAjvErrors(errors,asyncapiYAMLorJSON,initialFormat)});await customDocumentOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options);if(refParser.$refs.circular)await handleCircularRefs(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,options)}catch(e){if(e instanceof ParserError)throw e;throw new ParserError({type:"unexpected-error",title:e.message,parsedJSON:parsedJSON})}return new AsyncAPIDocument(parsedJSON)}function parseFromUrl(url,fetchOptions,options){if(!fetchOptions)fetchOptions={};return new Promise((resolve,reject)=>{fetch(url,fetchOptions).then(res=>res.text()).then(doc=>parse(doc,options)).then(result=>resolve(result)).catch(e=>{if(e instanceof ParserError)return reject(e);return reject(new ParserError({type:"fetch-url-error",title:e.message}))})})}async function dereference(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,options){try{return await refParser.dereference(options.path,parsedJSON,{continueOnError:true,parse:options.parse,resolve:options.resolve,dereference:options.dereference})}catch(err){throw new ParserError({type:"dereference-error",title:err.errors[0].message,parsedJSON:parsedJSON,refs:findRefs(err.errors,initialFormat,asyncapiYAMLorJSON)})}}async function handleCircularRefs(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,options){await dereference(refParser,parsedJSON,initialFormat,asyncapiYAMLorJSON,{...options,dereference:{circular:true}});parsedJSON[String(xParserCircle)]=true}function getValidator(version){let validate=ajv.getSchema(version);if(!validate){ajv.addSchema(asyncapi[String(version)],version);validate=ajv.getSchema(version)}return validate}async function customDocumentOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options){validateServerVariables(parsedJSON,asyncapiYAMLorJSON,initialFormat);validateServerSecurity(parsedJSON,asyncapiYAMLorJSON,initialFormat,SPECIAL_SECURITY_TYPES);if(!parsedJSON.channels)return;validateTags(parsedJSON,asyncapiYAMLorJSON,initialFormat);validateChannels(parsedJSON,asyncapiYAMLorJSON,initialFormat);validateOperationId(parsedJSON,asyncapiYAMLorJSON,initialFormat,OPERATIONS);await customComponentsMsgOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options);await customChannelsOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options)}async function validateAndConvertMessage(msg,originalAsyncAPIDocument,fileFormat,parsedAsyncAPIDocument,pathToPayload){if(xParserMessageParsed in msg&&msg[String(xParserMessageParsed)]===true)return;const defaultSchemaFormat=getDefaultSchemaFormat(parsedAsyncAPIDocument.asyncapi);const schemaFormat=msg.schemaFormat||defaultSchemaFormat;await PARSERS[String(schemaFormat)]({schemaFormat:schemaFormat,message:msg,defaultSchemaFormat:defaultSchemaFormat,originalAsyncAPIDocument:originalAsyncAPIDocument,parsedAsyncAPIDocument:parsedAsyncAPIDocument,fileFormat:fileFormat,pathToPayload:pathToPayload});msg.schemaFormat=defaultSchemaFormat;msg[String(xParserMessageParsed)]=true}function registerSchemaParser(parserModule){if(typeof parserModule!=="object"||typeof parserModule.parse!=="function"||typeof parserModule.getMimeTypes!=="function")throw new ParserError({type:"impossible-to-register-parser",title:"parserModule must have parse() and getMimeTypes() functions."});parserModule.getMimeTypes().forEach(schemaFormat=>{PARSERS[String(schemaFormat)]=parserModule.parse})}function applyTraits(js){if(Array.isArray(js.traits)){for(const trait of js.traits){for(const key in trait){js[String(key)]=mergePatch(js[String(key)],trait[String(key)])}}js["x-parser-original-traits"]=js.traits;delete js.traits}}async function customChannelsOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options){const promisesArray=[];Object.entries(parsedJSON.channels).forEach(([channelName,channel])=>{promisesArray.push(...OPERATIONS.map(async opName=>{const op=channel[String(opName)];if(!op)return;const messages=op.message?op.message.oneOf||[op.message]:[];if(options.applyTraits){applyTraits(op);messages.forEach(m=>applyTraits(m))}const pathToPayload=`/channels/${channelName}/${opName}/message/payload`;for(const m of messages){await validateAndConvertMessage(m,asyncapiYAMLorJSON,initialFormat,parsedJSON,pathToPayload)}}))});await Promise.all(promisesArray)}async function customComponentsMsgOperations(parsedJSON,asyncapiYAMLorJSON,initialFormat,options){if(!parsedJSON.components||!parsedJSON.components.messages)return;const promisesArray=[];Object.entries(parsedJSON.components.messages).forEach(([messageName,message])=>{if(options.applyTraits){applyTraits(message)}const pathToPayload=`/components/messages/${messageName}/payload`;promisesArray.push(validateAndConvertMessage(message,asyncapiYAMLorJSON,initialFormat,parsedJSON,pathToPayload))});await Promise.all(promisesArray)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./customValidators.js":5,"./errors/parser-error":6,"./models/asyncapi":15,"./utils":42,"@apidevtools/json-schema-ref-parser":45,"@asyncapi/specs":62,_process:172,ajv:82,"ajv/lib/refs/json-schema-draft-04.json":123,path:171,"tiny-merge-patch":197}],42:[function(require,module,exports){const YAML=require("js-yaml");const{yamlAST,loc}=require("@fmvilas/pseudo-yaml-ast");const jsonAST=require("json-to-ast");const jsonParseBetterErrors=require("../lib/json-parse");const ParserError=require("./errors/parser-error");const jsonPointerToArray=jsonPointer=>(jsonPointer||"/").split("/").splice(1);const utils=module.exports;const getAST=(asyncapiYAMLorJSON,initialFormat)=>{if(initialFormat==="yaml"){return yamlAST(asyncapiYAMLorJSON)}else if(initialFormat==="json"){return jsonAST(asyncapiYAMLorJSON)}};const findNode=(obj,location)=>{for(const key of location){obj=obj?obj[utils.untilde(key)]:null}return obj};const findNodeInAST=(ast,location)=>{let obj=ast;for(const key of location){if(!Array.isArray(obj.children))return;let childArray;const child=obj.children.find(c=>{if(!c)return;if(c.type==="Object")return childArray=c.children.find(a=>a.key.value===utils.untilde(key));return c.type==="Property"&&c.key&&c.key.value===utils.untilde(key)});if(!child)return;obj=childArray?childArray.value:child.value}return obj};const findLocationOf=(keys,ast,initialFormat)=>{if(initialFormat==="js")return{jsonPointer:`/${keys.join("/")}`};let node;if(initialFormat==="yaml"){node=findNode(ast,keys)}else if(initialFormat==="json"){node=findNodeInAST(ast,keys)}if(!node)return{jsonPointer:`/${keys.join("/")}`};let info;if(initialFormat==="yaml"){info=node[loc]}else if(initialFormat==="json"){info=node.loc}if(!info)return{jsonPointer:`/${keys.join("/")}`};return{jsonPointer:`/${keys.join("/")}`,startLine:info.start.line,startColumn:info.start.column+1,startOffset:info.start.offset,endLine:info.end?info.end.line:undefined,endColumn:info.end?info.end.column+1:undefined,endOffset:info.end?info.end.offset:undefined}};utils.tilde=str=>{return str.replace(/[~\/]{1}/g,m=>{switch(m){case"/":return"~1";case"~":return"~0"}return m})};utils.untilde=str=>{if(!str.includes("~"))return str;return str.replace(/~[01]/g,m=>{switch(m){case"~1":return"/";case"~0":return"~"}return m})};utils.toJS=asyncapiYAMLorJSON=>{if(!asyncapiYAMLorJSON){throw new ParserError({type:"null-or-falsey-document",title:"Document can't be null or falsey."})}if(asyncapiYAMLorJSON.constructor&&asyncapiYAMLorJSON.constructor.name==="Object"){return{initialFormat:"js",parsedJSON:asyncapiYAMLorJSON}}if(typeof asyncapiYAMLorJSON!=="string"){throw new ParserError({type:"invalid-document-type",title:"The AsyncAPI document has to be either a string or a JS object."})}if(asyncapiYAMLorJSON.trimLeft().startsWith("{")){try{return{initialFormat:"json",parsedJSON:jsonParseBetterErrors(asyncapiYAMLorJSON)}}catch(e){throw new ParserError({type:"invalid-json",title:"The provided JSON is not valid.",detail:e.message,location:{startOffset:e.offset,startLine:e.startLine,startColumn:e.startColumn}})}}else{try{return{initialFormat:"yaml",parsedJSON:YAML.safeLoad(asyncapiYAMLorJSON)}}catch(err){throw new ParserError({type:"invalid-yaml",title:"The provided YAML is not valid.",detail:err.message,location:{startOffset:err.mark.position,startLine:err.mark.line+1,startColumn:err.mark.column+1}})}}};utils.findRefs=(errors,initialFormat,asyncapiYAMLorJSON)=>{let refs=[];errors.map(({path})=>refs.push({location:[...path.map(utils.tilde),"$ref"]}));if(initialFormat==="js"){return refs.map(ref=>({jsonPointer:`/${ref.location.join("/")}`}))}if(initialFormat==="yaml"){const pseudoAST=yamlAST(asyncapiYAMLorJSON);refs=refs.map(ref=>findLocationOf(ref.location,pseudoAST,initialFormat))}else if(initialFormat==="json"){const ast=jsonAST(asyncapiYAMLorJSON);refs=refs.map(ref=>findLocationOf(ref.location,ast,initialFormat))}return refs};utils.getLocationOf=(jsonPointer,asyncapiYAMLorJSON,initialFormat)=>{const ast=getAST(asyncapiYAMLorJSON,initialFormat);if(!ast)return{jsonPointer:jsonPointer};return findLocationOf(jsonPointerToArray(jsonPointer),ast,initialFormat)};utils.improveAjvErrors=(errors,asyncapiYAMLorJSON,initialFormat)=>{const ast=getAST(asyncapiYAMLorJSON,initialFormat);return errors.map(error=>{const defaultLocation={jsonPointer:error.dataPath||"/"};const additionalProperty=error.params.additionalProperty;const jsonPointer=additionalProperty?`${error.dataPath}/${additionalProperty}`:error.dataPath;return{title:`${error.dataPath||"/"} ${error.message}`,location:ast?findLocationOf(jsonPointerToArray(jsonPointer),ast,initialFormat):defaultLocation}})};utils.parseUrlVariables=str=>{if(typeof str!=="string")return;return str.match(/{(.+?)}/g)};utils.parseUrlQueryParameters=str=>{if(typeof str!=="string")return;return str.match(/\?((.*=.*)(&?))/g)};utils.getMissingProps=(arr,obj)=>{arr=arr.map(val=>val.replace(/[{}]/g,""));if(!obj)return arr;return arr.filter(val=>{return!obj.hasOwnProperty(val)})};utils.groupValidationErrors=(root,errorMessage,errorElements,asyncapiYAMLorJSON,initialFormat)=>{const errors=[];errorElements.forEach((val,key)=>{if(typeof val==="string")val=utils.untilde(val);const jsonPointer=root?`/${root}/${key}`:`/${key}`;errors.push({title:val?`${utils.untilde(key)} ${errorMessage}: ${val}`:`${utils.untilde(key)} ${errorMessage}`,location:utils.getLocationOf(jsonPointer,asyncapiYAMLorJSON,initialFormat)})});return errors};utils.setNotProvidedParams=(variables,val,key,notProvidedChannelParams,notProvidedParams)=>{const missingChannelParams=utils.getMissingProps(variables,val.parameters);if(missingChannelParams.length){notProvidedParams.set(utils.tilde(key),notProvidedChannelParams?notProvidedChannelParams.concat(missingChannelParams):missingChannelParams)}};utils.getUnknownServers=(parsedJSON,channel)=>{if(!channel)return[];const channelServers=channel.servers;if(!channelServers||channelServers.length===0)return[];const servers=parsedJSON.servers;if(!servers)return channelServers;const serversMap=new Map(Object.entries(servers));return channelServers.filter(serverName=>{return!serversMap.has(serverName)})};utils.getDefaultSchemaFormat=asyncapiVersion=>{return`application/vnd.aai.asyncapi;version=${asyncapiVersion}`}},{"../lib/json-parse":9,"./errors/parser-error":6,"@fmvilas/pseudo-yaml-ast":72,"js-yaml":138,"json-to-ast":169}],43:[function(require,module,exports){"use strict";const $Ref=require("./ref");const Pointer=require("./pointer");const url=require("./util/url");module.exports=bundle;function bundle(parser,options){let inventory=[];crawl(parser,"schema",parser.$refs._root$Ref.path+"#","#",0,inventory,parser.$refs,options);remap(inventory)}function crawl(parent,key,path,pathFromRoot,indirections,inventory,$refs,options){let obj=key===null?parent:parent[key];if(obj&&typeof obj==="object"&&!ArrayBuffer.isView(obj)){if($Ref.isAllowed$Ref(obj)){inventory$Ref(parent,key,path,pathFromRoot,indirections,inventory,$refs,options)}else{let keys=Object.keys(obj).sort((a,b)=>{if(a==="definitions"){return-1}else if(b==="definitions"){return 1}else{return a.length-b.length}});for(let key of keys){let keyPath=Pointer.join(path,key);let keyPathFromRoot=Pointer.join(pathFromRoot,key);let value=obj[key];if($Ref.isAllowed$Ref(value)){inventory$Ref(obj,key,path,keyPathFromRoot,indirections,inventory,$refs,options)}else{crawl(obj,key,keyPath,keyPathFromRoot,indirections,inventory,$refs,options)}}}}}function inventory$Ref($refParent,$refKey,path,pathFromRoot,indirections,inventory,$refs,options){let $ref=$refKey===null?$refParent:$refParent[$refKey];let $refPath=url.resolve(path,$ref.$ref);let pointer=$refs._resolve($refPath,pathFromRoot,options);if(pointer===null){return}let depth=Pointer.parse(pathFromRoot).length;let file=url.stripHash(pointer.path);let hash=url.getHash(pointer.path);let external=file!==$refs._root$Ref.path;let extended=$Ref.isExtended$Ref($ref);indirections+=pointer.indirections;let existingEntry=findInInventory(inventory,$refParent,$refKey);if(existingEntry){if(depth{if(a.file!==b.file){return a.file0){throw new JSONParserErrorGroup(parser)}}}).call(this,{isBuffer:require("../../../is-buffer/index.js")})},{"../../../is-buffer/index.js":137,"./bundle":43,"./dereference":44,"./normalize-args":46,"./parse":48,"./refs":55,"./resolve-external":56,"./util/errors":59,"./util/url":61,"@jsdevtools/ono":75,"call-me-maybe":130}],46:[function(require,module,exports){"use strict";const Options=require("./options");module.exports=normalizeArgs;function normalizeArgs(args){let path,schema,options,callback;args=Array.prototype.slice.call(args);if(typeof args[args.length-1]==="function"){callback=args.pop()}if(typeof args[0]==="string"){path=args[0];if(typeof args[2]==="object"){schema=args[1];options=args[2]}else{schema=undefined;options=args[1]}}else{path="";schema=args[0];options=args[1]}if(!(options instanceof Options)){options=new Options(options)}return{path:path,schema:schema,options:options,callback:callback}}},{"./options":47}],47:[function(require,module,exports){"use strict";const jsonParser=require("./parsers/json");const yamlParser=require("./parsers/yaml");const textParser=require("./parsers/text");const binaryParser=require("./parsers/binary");const fileResolver=require("./resolvers/file");const httpResolver=require("./resolvers/http");module.exports=$RefParserOptions;function $RefParserOptions(options){merge(this,$RefParserOptions.defaults);merge(this,options)}$RefParserOptions.defaults={parse:{json:jsonParser,yaml:yamlParser,text:textParser,binary:binaryParser},resolve:{file:fileResolver,http:httpResolver,external:true},continueOnError:false,dereference:{circular:true}};function merge(target,source){if(isMergeable(source)){let keys=Object.keys(source);for(let i=0;i{let resolvers=plugins.all(options.resolve);resolvers=plugins.filter(resolvers,"canRead",file);plugins.sort(resolvers);plugins.run(resolvers,"read",file,$refs).then(resolve,onError);function onError(err){if(!err&&options.continueOnError){reject(new UnmatchedResolverError(file.url))}else if(!err||!("error"in err)){reject(ono.syntax(`Unable to resolve $ref pointer "${file.url}"`))}else if(err.error instanceof ResolverError){reject(err.error)}else{reject(new ResolverError(err,file.url))}}})}function parseFile(file,options,$refs){return new Promise((resolve,reject)=>{let allParsers=plugins.all(options.parse);let filteredParsers=plugins.filter(allParsers,"canParse",file);let parsers=filteredParsers.length>0?filteredParsers:allParsers;plugins.sort(parsers);plugins.run(parsers,"parse",file,$refs).then(onParsed,onError);function onParsed(parser){if(!parser.plugin.allowEmpty&&isEmpty(parser.result)){reject(ono.syntax(`Error parsing "${file.url}" as ${parser.plugin.name}. \nParsed value is empty`))}else{resolve(parser)}}function onError(err){if(!err&&options.continueOnError){reject(new UnmatchedParserError(file.url))}else if(!err||!("error"in err)){reject(ono.syntax(`Unable to parse ${file.url}`))}else if(err.error instanceof ParserError){reject(err.error)}else{reject(new ParserError(err.error.message,file.url))}}})}function isEmpty(value){return value===undefined||typeof value==="object"&&Object.keys(value).length===0||typeof value==="string"&&value.trim().length===0||Buffer.isBuffer(value)&&value.length===0}}).call(this,{isBuffer:require("../../../is-buffer/index.js")})},{"../../../is-buffer/index.js":137,"./util/errors":59,"./util/plugins":60,"./util/url":61,"@jsdevtools/ono":75}],49:[function(require,module,exports){(function(Buffer){"use strict";let BINARY_REGEXP=/\.(jpeg|jpg|gif|png|bmp|ico)$/i;module.exports={order:400,allowEmpty:true,canParse(file){return Buffer.isBuffer(file.data)&&BINARY_REGEXP.test(file.url)},parse(file){if(Buffer.isBuffer(file.data)){return file.data}else{return Buffer.from(file.data)}}}}).call(this,require("buffer").Buffer)},{buffer:128}],50:[function(require,module,exports){(function(Buffer){"use strict";const{ParserError}=require("../util/errors");module.exports={order:100,allowEmpty:true,canParse:".json",async parse(file){let data=file.data;if(Buffer.isBuffer(data)){data=data.toString()}if(typeof data==="string"){if(data.trim().length===0){return}else{try{return JSON.parse(data)}catch(e){throw new ParserError(e.message,file.url)}}}else{return data}}}}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":137,"../util/errors":59}],51:[function(require,module,exports){(function(Buffer){"use strict";const{ParserError}=require("../util/errors");let TEXT_REGEXP=/\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;module.exports={order:300,allowEmpty:true,encoding:"utf8",canParse(file){return(typeof file.data==="string"||Buffer.isBuffer(file.data))&&TEXT_REGEXP.test(file.url)},parse(file){if(typeof file.data==="string"){return file.data}else if(Buffer.isBuffer(file.data)){return file.data.toString(this.encoding)}else{throw new ParserError("data is not text",file.url)}}}}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":137,"../util/errors":59}],52:[function(require,module,exports){(function(Buffer){"use strict";const{ParserError}=require("../util/errors");const yaml=require("js-yaml");module.exports={order:200,allowEmpty:true,canParse:[".yaml",".yml",".json"],async parse(file){let data=file.data;if(Buffer.isBuffer(data)){data=data.toString()}if(typeof data==="string"){try{return yaml.safeLoad(data)}catch(e){throw new ParserError(e.message,file.url)}}else{return data}}}}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":137,"../util/errors":59,"js-yaml":138}],53:[function(require,module,exports){"use strict";module.exports=Pointer;const $Ref=require("./ref");const url=require("./util/url");const{JSONParserError,InvalidPointerError,MissingPointerError,isHandledError}=require("./util/errors");const slashes=/\//g;const tildes=/~/g;const escapedSlash=/~1/g;const escapedTilde=/~0/g;function Pointer($ref,path,friendlyPath){this.$ref=$ref;this.path=path;this.originalPath=friendlyPath||path;this.value=undefined;this.circular=false;this.indirections=0}Pointer.prototype.resolve=function(obj,options,pathFromRoot){let tokens=Pointer.parse(this.path,this.originalPath);this.value=unwrapOrThrow(obj);for(let i=0;i0};$Ref.isExternal$Ref=function(value){return $Ref.is$Ref(value)&&value.$ref[0]!=="#"};$Ref.isAllowed$Ref=function(value,options){if($Ref.is$Ref(value)){if(value.$ref.substr(0,2)==="#/"||value.$ref==="#"){return true}else if(value.$ref[0]!=="#"&&(!options||options.resolve.external)){return true}}};$Ref.isExtended$Ref=function(value){return $Ref.is$Ref(value)&&Object.keys(value).length>1};$Ref.dereference=function($ref,resolvedValue){if(resolvedValue&&typeof resolvedValue==="object"&&$Ref.isExtended$Ref($ref)){let merged={};for(let key of Object.keys($ref)){if(key!=="$ref"){merged[key]=$ref[key]}}for(let key of Object.keys(resolvedValue)){if(!(key in merged)){merged[key]=resolvedValue[key]}}return merged}else{return resolvedValue}}},{"./pointer":53,"./util/errors":59,"./util/url":61}],55:[function(require,module,exports){"use strict";const{ono}=require("@jsdevtools/ono");const $Ref=require("./ref");const url=require("./util/url");module.exports=$Refs;function $Refs(){this.circular=false;this._$refs={};this._root$Ref=null}$Refs.prototype.paths=function(types){let paths=getPaths(this._$refs,arguments);return paths.map(path=>{return path.decoded})};$Refs.prototype.values=function(types){let $refs=this._$refs;let paths=getPaths($refs,arguments);return paths.reduce((obj,path)=>{obj[path.decoded]=$refs[path.encoded].value;return obj},{})};$Refs.prototype.toJSON=$Refs.prototype.values;$Refs.prototype.exists=function(path,options){try{this._resolve(path,"",options);return true}catch(e){return false}};$Refs.prototype.get=function(path,options){return this._resolve(path,"",options).value};$Refs.prototype.set=function(path,value){let absPath=url.resolve(this._root$Ref.path,path);let withoutHash=url.stripHash(absPath);let $ref=this._$refs[withoutHash];if(!$ref){throw ono(`Error resolving $ref pointer "${path}". \n"${withoutHash}" not found.`)}$ref.set(absPath,value)};$Refs.prototype._add=function(path){let withoutHash=url.stripHash(path);let $ref=new $Ref;$ref.path=withoutHash;$ref.$refs=this;this._$refs[withoutHash]=$ref;this._root$Ref=this._root$Ref||$ref;return $ref};$Refs.prototype._resolve=function(path,pathFromRoot,options){let absPath=url.resolve(this._root$Ref.path,path);let withoutHash=url.stripHash(absPath);let $ref=this._$refs[withoutHash];if(!$ref){throw ono(`Error resolving $ref pointer "${path}". \n"${withoutHash}" not found.`)}return $ref.resolve(absPath,options,path,pathFromRoot)};$Refs.prototype._get$Ref=function(path){path=url.resolve(this._root$Ref.path,path);let withoutHash=url.stripHash(path);return this._$refs[withoutHash]};function getPaths($refs,types){let paths=Object.keys($refs);types=Array.isArray(types[0])?types[0]:Array.prototype.slice.call(types);if(types.length>0&&types[0]){paths=paths.filter(key=>{return types.indexOf($refs[key].pathType)!==-1})}return paths.map(path=>{return{encoded:path,decoded:$refs[path].pathType==="file"?url.toFileSystemPath(path,true):path}})}},{"./ref":54,"./util/url":61,"@jsdevtools/ono":75}],56:[function(require,module,exports){"use strict";const $Ref=require("./ref");const Pointer=require("./pointer");const parse=require("./parse");const url=require("./util/url");const{isHandledError}=require("./util/errors");module.exports=resolveExternal;function resolveExternal(parser,options){if(!options.resolve.external){return Promise.resolve()}try{let promises=crawl(parser.schema,parser.$refs._root$Ref.path+"#",parser.$refs,options);return Promise.all(promises)}catch(e){return Promise.reject(e)}}function crawl(obj,path,$refs,options){let promises=[];if(obj&&typeof obj==="object"&&!ArrayBuffer.isView(obj)){if($Ref.isExternal$Ref(obj)){promises.push(resolve$Ref(obj,path,$refs,options))}else{for(let key of Object.keys(obj)){let keyPath=Pointer.join(path,key);let value=obj[key];if($Ref.isExternal$Ref(value)){promises.push(resolve$Ref(value,keyPath,$refs,options))}else{promises=promises.concat(crawl(value,keyPath,$refs,options))}}}}return promises}async function resolve$Ref($ref,path,$refs,options){let resolvedPath=url.resolve(path,$ref.$ref);let withoutHash=url.stripHash(resolvedPath);$ref=$refs._$refs[withoutHash];if($ref){return Promise.resolve($ref.value)}try{const result=await parse(resolvedPath,$refs,options);let promises=crawl(result,withoutHash+"#",$refs,options);return Promise.all(promises)}catch(err){if(!options.continueOnError||!isHandledError(err)){throw err}if($refs._$refs[withoutHash]){err.source=url.stripHash(path);err.path=url.safePointerToPath(url.getHash(path))}return[]}}},{"./parse":48,"./pointer":53,"./ref":54,"./util/errors":59,"./util/url":61}],57:[function(require,module,exports){"use strict";const fs=require("fs");const{ono}=require("@jsdevtools/ono");const url=require("../util/url");const{ResolverError}=require("../util/errors");module.exports={order:100,canRead(file){return url.isFileSystemPath(file.url)},read(file){return new Promise((resolve,reject)=>{let path;try{path=url.toFileSystemPath(file.url)}catch(err){reject(new ResolverError(ono.uri(err,`Malformed URI: ${file.url}`),file.url))}try{fs.readFile(path,(err,data)=>{if(err){reject(new ResolverError(ono(err,`Error opening file "${path}"`),path))}else{resolve(data)}})}catch(err){reject(new ResolverError(ono(err,`Error opening file "${path}"`),path))}})}}},{"../util/errors":59,"../util/url":61,"@jsdevtools/ono":75,fs:126}],58:[function(require,module,exports){(function(process,Buffer){"use strict";const http=require("http");const https=require("https");const{ono}=require("@jsdevtools/ono");const url=require("../util/url");const{ResolverError}=require("../util/errors");module.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:false,canRead(file){return url.isHttp(file.url)},read(file){let u=url.parse(file.url);if(process.browser&&!u.protocol){u.protocol=url.parse(location.href).protocol}return download(u,this)}};function download(u,httpOptions,redirects){return new Promise((resolve,reject)=>{u=url.parse(u);redirects=redirects||[];redirects.push(u.href);get(u,httpOptions).then(res=>{if(res.statusCode>=400){throw ono({status:res.statusCode},`HTTP ERROR ${res.statusCode}`)}else if(res.statusCode>=300){if(redirects.length>httpOptions.redirects){reject(new ResolverError(ono({status:res.statusCode},`Error downloading ${redirects[0]}. \nToo many redirects: \n ${redirects.join(" \n ")}`)))}else if(!res.headers.location){throw ono({status:res.statusCode},`HTTP ${res.statusCode} redirect with no location header`)}else{let redirectTo=url.resolve(u,res.headers.location);download(redirectTo,httpOptions,redirects).then(resolve,reject)}}else{resolve(res.body||Buffer.alloc(0))}}).catch(err=>{reject(new ResolverError(ono(err,`Error downloading ${u.href}`),u.href))})})}function get(u,httpOptions){return new Promise((resolve,reject)=>{let protocol=u.protocol==="https:"?https:http;let req=protocol.get({hostname:u.hostname,port:u.port,path:u.path,auth:u.auth,protocol:u.protocol,headers:httpOptions.headers||{},withCredentials:httpOptions.withCredentials});if(typeof req.setTimeout==="function"){req.setTimeout(httpOptions.timeout)}req.on("timeout",()=>{req.abort()});req.on("error",reject);req.once("response",res=>{res.body=Buffer.alloc(0);res.on("data",data=>{res.body=Buffer.concat([res.body,Buffer.from(data)])});res.on("error",reject);res.on("end",()=>{resolve(res)})})})}}).call(this,require("_process"),require("buffer").Buffer)},{"../util/errors":59,"../util/url":61,"@jsdevtools/ono":75,_process:172,buffer:128,http:177,https:134}],59:[function(require,module,exports){"use strict";const{Ono}=require("@jsdevtools/ono");const{stripHash,toFileSystemPath}=require("./url");const JSONParserError=exports.JSONParserError=class JSONParserError extends Error{constructor(message,source){super();this.code="EUNKNOWN";this.message=message;this.source=source;this.path=null;Ono.extend(this)}};setErrorName(JSONParserError);const JSONParserErrorGroup=exports.JSONParserErrorGroup=class JSONParserErrorGroup extends Error{constructor(parser){super();this.files=parser;this.message=`${this.errors.length} error${this.errors.length>1?"s":""} occurred while reading '${toFileSystemPath(parser.$refs._root$Ref.path)}'`;Ono.extend(this)}static getParserErrors(parser){const errors=[];for(const $ref of Object.values(parser.$refs._$refs)){if($ref.errors){errors.push(...$ref.errors)}}return errors}get errors(){return JSONParserErrorGroup.getParserErrors(this.files)}};setErrorName(JSONParserErrorGroup);const ParserError=exports.ParserError=class ParserError extends JSONParserError{constructor(message,source){super(`Error parsing ${source}: ${message}`,source);this.code="EPARSER"}};setErrorName(ParserError);const UnmatchedParserError=exports.UnmatchedParserError=class UnmatchedParserError extends JSONParserError{constructor(source){super(`Could not find parser for "${source}"`,source);this.code="EUNMATCHEDPARSER"}};setErrorName(UnmatchedParserError);const ResolverError=exports.ResolverError=class ResolverError extends JSONParserError{constructor(ex,source){super(ex.message||`Error reading file "${source}"`,source);this.code="ERESOLVER";if("code"in ex){this.ioErrorCode=String(ex.code)}}};setErrorName(ResolverError);const UnmatchedResolverError=exports.UnmatchedResolverError=class UnmatchedResolverError extends JSONParserError{constructor(source){super(`Could not find resolver for "${source}"`,source);this.code="EUNMATCHEDRESOLVER"}};setErrorName(UnmatchedResolverError);const MissingPointerError=exports.MissingPointerError=class MissingPointerError extends JSONParserError{constructor(token,path){super(`Token "${token}" does not exist.`,stripHash(path));this.code="EMISSINGPOINTER"}};setErrorName(MissingPointerError);const InvalidPointerError=exports.InvalidPointerError=class InvalidPointerError extends JSONParserError{constructor(pointer,path){super(`Invalid $ref pointer "${pointer}". Pointers must begin with "#/"`,stripHash(path));this.code="EINVALIDPOINTER"}};setErrorName(InvalidPointerError);function setErrorName(err){Object.defineProperty(err.prototype,"name",{value:err.name,enumerable:true})}exports.isHandledError=function(err){return err instanceof JSONParserError||err instanceof JSONParserErrorGroup};exports.normalizeError=function(err){if(err.path===null){err.path=[]}return err}},{"./url":61,"@jsdevtools/ono":75}],60:[function(require,module,exports){"use strict";exports.all=function(plugins){return Object.keys(plugins).filter(key=>{return typeof plugins[key]==="object"}).map(key=>{plugins[key].name=key;return plugins[key]})};exports.filter=function(plugins,method,file){return plugins.filter(plugin=>{return!!getResult(plugin,method,file)})};exports.sort=function(plugins){for(let plugin of plugins){plugin.order=plugin.order||Number.MAX_SAFE_INTEGER}return plugins.sort((a,b)=>{return a.order-b.order})};exports.run=function(plugins,method,file,$refs){let plugin,lastError,index=0;return new Promise((resolve,reject)=>{runNextPlugin();function runNextPlugin(){plugin=plugins[index++];if(!plugin){return reject(lastError)}try{let result=getResult(plugin,method,file,callback,$refs);if(result&&typeof result.then==="function"){result.then(onSuccess,onError)}else if(result!==undefined){onSuccess(result)}else if(index===plugins.length){throw new Error("No promise has been returned or callback has been called.")}}catch(e){onError(e)}}function callback(err,result){if(err){onError(err)}else{onSuccess(result)}}function onSuccess(result){resolve({plugin:plugin,result:result})}function onError(error){lastError={plugin:plugin,error:error};runNextPlugin()}})};function getResult(obj,prop,file,callback,$refs){let value=obj[prop];if(typeof value==="function"){return value.apply(obj,[file,callback,$refs])}if(!callback){if(value instanceof RegExp){return value.test(file.url)}else if(typeof value==="string"){return value===file.extension}else if(Array.isArray(value)){return value.indexOf(file.extension)!==-1}}return value}},{}],61:[function(require,module,exports){(function(process){"use strict";let isWindows=/^win/.test(process.platform),forwardSlashPattern=/\//g,protocolPattern=/^(\w{2,}):\/\//i,url=module.exports,jsonPointerSlash=/~1/g,jsonPointerTilde=/~0/g;let urlEncodePatterns=[/\?/g,"%3F",/\#/g,"%23"];let urlDecodePatterns=[/\%23/g,"#",/\%24/g,"$",/\%26/g,"&",/\%2C/g,",",/\%40/g,"@"];exports.parse=require("url").parse;exports.resolve=require("url").resolve;exports.cwd=function cwd(){if(process.browser){return location.href}let path=process.cwd();let lastChar=path.slice(-1);if(lastChar==="/"||lastChar==="\\"){return path}else{return path+"/"}};exports.getProtocol=function getProtocol(path){let match=protocolPattern.exec(path);if(match){return match[1].toLowerCase()}};exports.getExtension=function getExtension(path){let lastDot=path.lastIndexOf(".");if(lastDot>=0){return path.substr(lastDot).toLowerCase()}return""};exports.getHash=function getHash(path){let hashIndex=path.indexOf("#");if(hashIndex>=0){return path.substr(hashIndex)}return"#"};exports.stripHash=function stripHash(path){let hashIndex=path.indexOf("#");if(hashIndex>=0){path=path.substr(0,hashIndex)}return path};exports.isHttp=function isHttp(path){let protocol=url.getProtocol(path);if(protocol==="http"||protocol==="https"){return true}else if(protocol===undefined){return process.browser}else{return false}};exports.isFileSystemPath=function isFileSystemPath(path){if(process.browser){return false}let protocol=url.getProtocol(path);return protocol===undefined||protocol==="file"};exports.fromFileSystemPath=function fromFileSystemPath(path){if(isWindows){path=path.replace(/\\/g,"/")}path=encodeURI(path);for(let i=0;i{return decodeURIComponent(value).replace(jsonPointerSlash,"/").replace(jsonPointerTilde,"~")})}}).call(this,require("_process"))},{_process:172,url:199}],62:[function(require,module,exports){module.exports={"1.0.0":require("./schemas/1.0.0.json"),"1.1.0":require("./schemas/1.1.0.json"),"1.2.0":require("./schemas/1.2.0.json"),"2.0.0-rc1":require("./schemas/2.0.0-rc1.json"),"2.0.0-rc2":require("./schemas/2.0.0-rc2.json"),"2.0.0":require("./schemas/2.0.0.json"),"2.1.0":require("./schemas/2.1.0.json"),"2.2.0":require("./schemas/2.2.0.json"),"2.3.0":require("./schemas/2.3.0.json")}},{"./schemas/1.0.0.json":63,"./schemas/1.1.0.json":64,"./schemas/1.2.0.json":65,"./schemas/2.0.0-rc1.json":66,"./schemas/2.0.0-rc2.json":67,"./schemas/2.0.0.json":68,"./schemas/2.1.0.json":69,"./schemas/2.2.0.json":70,"./schemas/2.3.0.json":71}],63:[function(require,module,exports){module.exports={title:"AsyncAPI 1.0 schema.",id:"http://asyncapi.hitchhq.com/v1/schema.json#",$schema:"http://json-schema.org/draft-04/schema#",type:"object",required:["asyncapi","info","topics"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{asyncapi:{type:"string",enum:["1.0.0"],description:"The AsyncAPI specification version of this document."},info:{$ref:"#/definitions/info"},baseTopic:{type:"string",pattern:"^[^/.]",description:"The base topic to the API. Example: 'hitch'.",default:""},servers:{type:"array",items:{$ref:"#/definitions/server"},uniqueItems:true},topics:{$ref:"#/definitions/topics"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{type:"string",format:"uri"}}},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","scheme"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{url:{type:"string"},description:{type:"string"},scheme:{type:"string",description:"The transfer protocol.",enum:["kafka","kafka-secure","amqp","amqps","mqtt","mqtts","secure-mqtt","ws","wss","stomp","stomps"]},schemeVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"}}},topics:{type:"object",description:"Relative paths to the individual topics. They must be relative to the 'baseTopic'.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"},"^[^.]":{$ref:"#/definitions/topicItem"}},additionalProperties:false},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{}},additionalProperties:false},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}}},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},topicItem:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,properties:{$ref:{type:"string"},publish:{$ref:"#/definitions/message"},subscribe:{$ref:"#/definitions/message"},deprecated:{type:"boolean",default:false}}},message:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},headers:{$ref:"#/definitions/schema"},payload:{$ref:"#/definitions/schema"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},example:{}}},vendorExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-":{}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"}}}},{}],64:[function(require,module,exports){module.exports={title:"AsyncAPI 1.1.0 schema.",id:"http://asyncapi.hitchhq.com/v1/schema.json#",$schema:"http://json-schema.org/draft-04/schema#",type:"object",required:["asyncapi","info","topics"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{asyncapi:{type:"string",enum:["1.0.0","1.1.0"],description:"The AsyncAPI specification version of this document."},info:{$ref:"#/definitions/info"},baseTopic:{type:"string",pattern:"^[^/.]",description:"The base topic to the API. Example: 'hitch'.",default:""},servers:{type:"array",items:{$ref:"#/definitions/server"},uniqueItems:true},topics:{$ref:"#/definitions/topics"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{type:"string",format:"uri"}}},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","scheme"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{url:{type:"string"},description:{type:"string"},scheme:{type:"string",description:"The transfer protocol.",enum:["kafka","kafka-secure","amqp","amqps","mqtt","mqtts","secure-mqtt","ws","wss","stomp","stomps","jms"]},schemeVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"}}},topics:{type:"object",description:"Relative paths to the individual topics. They must be relative to the 'baseTopic'.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"},"^[^.]":{$ref:"#/definitions/topicItem"}},additionalProperties:false},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{}},additionalProperties:false},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}}},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},topicItem:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,properties:{$ref:{type:"string"},parameters:{type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/parameter"}},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false}}},parameter:{additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},schema:{$ref:"#/definitions/schema"}}},operation:{oneOf:[{$ref:"#/definitions/message"},{type:"object",required:["oneOf"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/message"}}}}]},message:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},headers:{$ref:"#/definitions/schema"},payload:{$ref:"#/definitions/schema"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},example:{}}},vendorExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-":{}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"}}}},{}],65:[function(require,module,exports){module.exports={title:"AsyncAPI 1.2.0 schema.",id:"http://asyncapi.hitchhq.com/v1/schema.json#",$schema:"http://json-schema.org/draft-04/schema#",type:"object",required:["asyncapi","info"],oneOf:[{required:["topics"]},{required:["stream"]},{required:["events"]}],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{asyncapi:{type:"string",enum:["1.0.0","1.1.0","1.2.0"],description:"The AsyncAPI specification version of this document."},info:{$ref:"#/definitions/info"},baseTopic:{type:"string",pattern:"^[^/.]",description:"The base topic to the API. Example: 'hitch'.",default:""},servers:{type:"array",items:{$ref:"#/definitions/server"},uniqueItems:true},topics:{$ref:"#/definitions/topics"},stream:{$ref:"#/definitions/stream",description:"The list of messages a consumer can read or write from/to a streaming API."},events:{$ref:"#/definitions/events",description:"The list of messages an events API sends and/or receives."},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{type:"string",format:"uri"}}},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","scheme"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{url:{type:"string"},description:{type:"string"},scheme:{type:"string",description:"The transfer protocol.",enum:["kafka","kafka-secure","amqp","amqps","mqtt","mqtts","secure-mqtt","ws","wss","stomp","stomps","jms","http","https"]},schemeVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"}}},topics:{type:"object",description:"Relative paths to the individual topics. They must be relative to the 'baseTopic'.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"},"^[^.]":{$ref:"#/definitions/topicItem"}},additionalProperties:false},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable topic parameters."},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{}},additionalProperties:false},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}}},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},topicItem:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,properties:{$ref:{type:"string"},parameters:{type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/parameter"}},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false}}},parameter:{additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},schema:{$ref:"#/definitions/schema"},$ref:{type:"string"}}},operation:{oneOf:[{$ref:"#/definitions/message"},{type:"object",required:["oneOf"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/message"}}}}]},stream:{title:"Stream Object",type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,properties:{framing:{title:"Stream Framing Object",type:"object",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,oneOf:[{additionalProperties:false,properties:{type:{type:"string",enum:["chunked"]},delimiter:{type:"string",enum:["\\r\\n","\\n"],default:"\\r\\n"}}},{additionalProperties:false,properties:{type:{type:"string",enum:["sse"]},delimiter:{type:"string",enum:["\\n\\n"],default:"\\n\\n"}}}]},read:{title:"Stream Read Object",type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/message"}},write:{title:"Stream Write Object",type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/message"}}}},events:{title:"Events Object",type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},minProperties:1,anyOf:[{required:["receive"]},{required:["send"]}],properties:{receive:{title:"Events Receive Object",type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/message"}},send:{title:"Events Send Object",type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/message"}}}},message:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},headers:{$ref:"#/definitions/schema"},payload:{$ref:"#/definitions/schema"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},example:{}}},vendorExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-":{}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"}}}},{}],66:[function(require,module,exports){module.exports={title:"AsyncAPI 2.0.0-rc1 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","id","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.0.0-rc1"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri-reference"},info:{$ref:"#/definitions/info"},servers:{type:"array",items:{$ref:"#/definitions/server"},uniqueItems:true},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},baseChannel:{type:"string","x-format":"uri-path"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},traits:{$ref:"#/definitions/traits"}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},deprecated:{type:"boolean",default:false},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{},examples:{type:"array",items:{}}},additionalProperties:false},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}}},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},minProperties:1,properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"array",uniqueItems:true,minItems:1,items:{$ref:"#/definitions/parameter"}},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},protocolInfo:{type:"object",additionalProperties:{type:"object"}}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},schema:{$ref:"#/definitions/schema"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},protocolInfo:{type:"object",additionalProperties:{type:"object"}},message:{oneOf:[{$ref:"#/definitions/message"},{type:"object",required:["oneOf"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/message"}}}}]}}},message:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]}},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},protocolInfo:{type:"object",additionalProperties:{type:"object"}},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(/\\w+)+"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},traits:{type:"object",additionalProperties:{anyOf:[{$ref:"#/definitions/operationTrait"},{$ref:"#/definitions/messageTrait"}]}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},protocolInfo:{type:"object",additionalProperties:{type:"object"}}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]}},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},protocolInfo:{type:"object",additionalProperties:{type:"object"}}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false,minProperties:1}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],67:[function(require,module,exports){module.exports={title:"AsyncAPI 2.0.0-rc2 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.0.0-rc2"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",minProperties:1,additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{type:"object",patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{$ref:"#/definitions/schema"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:2,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},minProperties:1,properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{$ref:"#/definitions/schema"},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false,minProperties:1}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],68:[function(require,module,exports){module.exports={title:"AsyncAPI 2.0.0 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.0.0"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,properties:{headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],69:[function(require,module,exports){module.exports={title:"AsyncAPI 2.1.0 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.1.0"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,anyOf:[{required:["payload"]},{required:["headers"]}],properties:{name:{type:"string",description:"Machine readable name of the message example."},summary:{type:"string",description:"A brief summary of the message example."},headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{},ibmmq:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,anyOf:[{required:["payload"]},{required:["headers"]}],properties:{name:{type:"string",description:"Machine readable name of the message example."},summary:{type:"string",description:"A brief summary of the message example."},headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"},{$ref:"#/definitions/SaslSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslSecurityScheme:{oneOf:[{$ref:"#/definitions/SaslPlainSecurityScheme"},{$ref:"#/definitions/SaslScramSecurityScheme"},{$ref:"#/definitions/SaslGssapiSecurityScheme"}]},SaslPlainSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["plain"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslScramSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["scramSha256","scramSha512"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslGssapiSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["gssapi"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],70:[function(require,module,exports){module.exports={title:"AsyncAPI 2.2.0 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.2.0"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",required:["url","protocol"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemas:{$ref:"#/definitions/schemas"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},servers:{type:"array",description:"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.",items:{type:"string"},uniqueItems:true},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,anyOf:[{required:["payload"]},{required:["headers"]}],properties:{name:{type:"string",description:"Machine readable name of the message example."},summary:{type:"string",description:"A brief summary of the message example."},headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},anypointmq:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{},ibmmq:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/schema"}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"},{$ref:"#/definitions/SaslSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslSecurityScheme:{oneOf:[{$ref:"#/definitions/SaslPlainSecurityScheme"},{$ref:"#/definitions/SaslScramSecurityScheme"},{$ref:"#/definitions/SaslGssapiSecurityScheme"}]},SaslPlainSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["plain"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslScramSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["scramSha256","scramSha512"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslGssapiSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["gssapi"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],71:[function(require,module,exports){module.exports={title:"AsyncAPI 2.3.0 schema.",$schema:"http://json-schema.org/draft-07/schema#",type:"object",required:["asyncapi","info","channels"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{asyncapi:{type:"string",enum:["2.3.0"],description:"The AsyncAPI specification version of this document."},id:{type:"string",description:"A unique id representing the application.",format:"uri"},info:{$ref:"#/definitions/info"},servers:{$ref:"#/definitions/servers"},defaultContentType:{type:"string"},channels:{$ref:"#/definitions/channels"},components:{$ref:"#/definitions/components"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{Reference:{type:"object",required:["$ref"],properties:{$ref:{$ref:"#/definitions/ReferenceObject"}}},ReferenceObject:{type:"string",format:"uri-reference"},info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title. CommonMark is allowed."},termsOfService:{type:"string",description:"A URL to the Terms of Service for the API. MUST be in the format of a URL.",format:"uri"},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},server:{type:"object",description:"An object representing a Server.",anyOf:[{required:["url","protocol"]},{required:["$ref"]}],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},url:{type:"string"},description:{type:"string"},protocol:{type:"string",description:"The transfer protocol."},protocolVersion:{type:"string"},variables:{$ref:"#/definitions/serverVariables"},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},bindings:{$ref:"#/definitions/bindingsObject"}}},servers:{type:"object",additionalProperties:{$ref:"#/definitions/server"}},serverVariables:{type:"object",additionalProperties:{$ref:"#/definitions/serverVariable"}},serverVariable:{type:"object",description:"An object representing a Server Variable for server URL template substitution.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{enum:{type:"array",items:{type:"string"},uniqueItems:true},default:{type:"string"},description:{type:"string"},examples:{type:"array",items:{type:"string"}}}},channels:{type:"object",propertyNames:{type:"string",format:"uri-template",minLength:1},additionalProperties:{$ref:"#/definitions/channelItem"}},components:{type:"object",description:"An object to hold a set of reusable objects for different aspects of the AsyncAPI Specification.",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemas:{$ref:"#/definitions/schemas"},servers:{$ref:"#/definitions/servers"},channels:{$ref:"#/definitions/channels"},messages:{$ref:"#/definitions/messages"},securitySchemes:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},parameters:{$ref:"#/definitions/parameters"},correlationIds:{type:"object",patternProperties:{"^[\\w\\d\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]}}},operationTraits:{type:"object",additionalProperties:{$ref:"#/definitions/operationTrait"}},messageTraits:{type:"object",additionalProperties:{$ref:"#/definitions/messageTrait"}},serverBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},channelBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},operationBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}},messageBindings:{type:"object",additionalProperties:{$ref:"#/definitions/bindingsObject"}}}},schemas:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"JSON objects describing schemas the API uses."},messages:{type:"object",additionalProperties:{$ref:"#/definitions/message"},description:"JSON objects describing the messages being consumed and produced by the API."},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"JSON objects describing re-usable channel parameters."},schema:{allOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},oneOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},anyOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},not:{$ref:"#/definitions/schema"},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},propertyNames:{$ref:"#/definitions/schema"},contains:{$ref:"#/definitions/schema"},discriminator:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false}}}]},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},channelItem:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{$ref:{$ref:"#/definitions/ReferenceObject"},parameters:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"}},description:{type:"string",description:"A description of the channel."},servers:{type:"array",description:"The names of the servers on which this channel is available. If absent or empty then this channel must be available on all servers.",items:{type:"string"},uniqueItems:true},publish:{$ref:"#/definitions/operation"},subscribe:{$ref:"#/definitions/operation"},deprecated:{type:"boolean",default:false},bindings:{$ref:"#/definitions/bindingsObject"}}},parameter:{additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed."},schema:{$ref:"#/definitions/schema"},location:{type:"string",description:"A runtime expression that specifies the location of the parameter value",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"},$ref:{$ref:"#/definitions/ReferenceObject"}}},operation:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/operationTrait"}]},{type:"object",additionalItems:true}]}]}},summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"},message:{$ref:"#/definitions/message"}}},message:{oneOf:[{$ref:"#/definitions/Reference"},{oneOf:[{type:"object",required:["oneOf"],additionalProperties:false,properties:{oneOf:{type:"array",items:{$ref:"#/definitions/message"}}}},{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},payload:{},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object",additionalProperties:false,anyOf:[{required:["payload"]},{required:["headers"]}],properties:{name:{type:"string",description:"Machine readable name of the message example."},summary:{type:"string",description:"A brief summary of the message example."},headers:{type:"object"},payload:{}}}},bindings:{$ref:"#/definitions/bindingsObject"},traits:{type:"array",items:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"},{type:"array",items:[{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/messageTrait"}]},{type:"object",additionalItems:true}]}]}}}}]}]},bindingsObject:{type:"object",additionalProperties:true,properties:{http:{},ws:{},amqp:{},amqp1:{},mqtt:{},mqtt5:{},kafka:{},anypointmq:{},nats:{},jms:{},sns:{},sqs:{},stomp:{},redis:{},ibmmq:{},solace:{}}},correlationId:{type:"object",required:["location"],additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{description:{type:"string",description:"A optional description of the correlation ID. GitHub Flavored Markdown is allowed."},location:{type:"string",description:"A runtime expression that specifies the location of the correlation ID",pattern:"^\\$message\\.(header|payload)#(\\/(([^\\/~])|(~[01]))*)*"}}},specificationExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},operationTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{summary:{type:"string"},description:{type:"string"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string"},bindings:{$ref:"#/definitions/bindingsObject"}}},messageTrait:{type:"object",additionalProperties:false,patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},properties:{schemaFormat:{type:"string"},contentType:{type:"string"},headers:{allOf:[{$ref:"#/definitions/schema"},{properties:{type:{const:"object"}}}]},correlationId:{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/correlationId"}]},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the message."},name:{type:"string",description:"Name of the message."},title:{type:"string",description:"A human-friendly title for the message."},description:{type:"string",description:"A longer description of the message. CommonMark is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},deprecated:{type:"boolean",default:false},examples:{type:"array",items:{type:"object"}},bindings:{$ref:"#/definitions/bindingsObject"}}},SecurityScheme:{oneOf:[{$ref:"#/definitions/userPassword"},{$ref:"#/definitions/apiKey"},{$ref:"#/definitions/X509"},{$ref:"#/definitions/symmetricEncryption"},{$ref:"#/definitions/asymmetricEncryption"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/oauth2Flows"},{$ref:"#/definitions/openIdConnect"},{$ref:"#/definitions/SaslSecurityScheme"}]},userPassword:{type:"object",required:["type"],properties:{type:{type:"string",enum:["userPassword"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},apiKey:{type:"object",required:["type","in"],properties:{type:{type:"string",enum:["apiKey"]},in:{type:"string",enum:["user","password"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},X509:{type:"object",required:["type"],properties:{type:{type:"string",enum:["X509"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},symmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["symmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},asymmetricEncryption:{type:"object",required:["type"],properties:{type:{type:"string",enum:["asymmetricEncryption"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},HTTPSecurityScheme:{oneOf:[{$ref:"#/definitions/NonBearerHTTPSecurityScheme"},{$ref:"#/definitions/BearerHTTPSecurityScheme"},{$ref:"#/definitions/APIKeyHTTPSecurityScheme"}]},NonBearerHTTPSecurityScheme:{not:{type:"object",properties:{scheme:{type:"string",enum:["bearer"]}}},type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},BearerHTTPSecurityScheme:{type:"object",required:["type","scheme"],properties:{scheme:{type:"string",enum:["bearer"]},bearerFormat:{type:"string"},type:{type:"string",enum:["http"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},APIKeyHTTPSecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["httpApiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslSecurityScheme:{oneOf:[{$ref:"#/definitions/SaslPlainSecurityScheme"},{$ref:"#/definitions/SaslScramSecurityScheme"},{$ref:"#/definitions/SaslGssapiSecurityScheme"}]},SaslPlainSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["plain"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslScramSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["scramSha256","scramSha512"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SaslGssapiSecurityScheme:{type:"object",required:["type"],properties:{type:{type:"string",enum:["gssapi"]},description:{type:"string"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Flows:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},description:{type:"string"},flows:{type:"object",properties:{implicit:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","scopes"]},{not:{required:["tokenUrl"]}}]},password:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},clientCredentials:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["tokenUrl","scopes"]},{not:{required:["authorizationUrl"]}}]},authorizationCode:{allOf:[{$ref:"#/definitions/oauth2Flow"},{required:["authorizationUrl","tokenUrl","scopes"]}]}},additionalProperties:false}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}}},oauth2Flow:{type:"object",properties:{authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},refreshUrl:{type:"string",format:"uri"},scopes:{$ref:"#/definitions/oauth2Scopes"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},openIdConnect:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},description:{type:"string"},openIdConnectUrl:{type:"string",format:"uri"}},patternProperties:{"^x-[\\w\\d\\.\\x2d_]+$":{$ref:"#/definitions/specificationExtension"}},additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}}}}},{}],72:[function(require,module,exports){const{load,Kind}=require("yaml-ast-parser");const loc=Symbol("pseudo-yaml-ast-loc");const hasOwnProp=(obj,key)=>obj&&typeof obj==="object"&&Object.prototype.hasOwnProperty.call(obj,key);const isUndefined=v=>v===undefined;const isNull=v=>v===null;const isPrimitive=v=>Number.isNaN(v)||isNull(v)||isUndefined(v)||typeof v==="symbol";const isPrimitiveNode=node=>isPrimitive(node.value)||!hasOwnProp(node,"value");const isBetween=(start,pos,end)=>pos<=end&&pos>=start;const getLoc=(input,{start:start=0,end:end=0})=>{const lines=input.split(/\n/);const loc={start:{},end:{}};let sum=0;for(const i of lines.keys()){const line=lines[i];const ls=sum;const le=sum+line.length;if(isUndefined(loc.start.line)&&isBetween(ls,start,le)){loc.start.line=i+1;loc.start.column=start-ls;loc.start.offset=start}if(isUndefined(loc.end.line)&&isBetween(ls,end,le)){loc.end.line=i+1;loc.end.column=end-ls;loc.end.offset=end}sum=le+1}return loc};const visitors={MAP:(node={},input="",ctx={})=>Object.assign(walk(node.mappings,input),{[loc]:getLoc(input,{start:node.startPosition,end:node.endPosition})}),MAPPING:(node={},input="",ctx={})=>{const value=walk([node.value],input);if(!isPrimitive(value)){value[loc]=getLoc(input,{start:node.startPosition,end:node.endPosition})}return Object.assign(ctx,{[node.key.value]:value})},SCALAR:(node={},input="")=>{if(isPrimitiveNode(node)){return node.value}const _loc=getLoc(input,{start:node.startPosition,end:node.endPosition});const wrappable=Constructor=>()=>{const v=new Constructor(node.value);v[loc]=_loc;return v};const object=()=>{node.value[loc]=_loc;return node.value};const types={boolean:wrappable(Boolean),number:wrappable(Number),string:wrappable(String),function:object,object:object};return types[typeof node.value]()},SEQ:(node={},input="")=>{const items=walk(node.items,input,[]);items[loc]=getLoc(input,{start:node.startPosition,end:node.endPosition});return items}};const walk=(nodes=[],input,ctx={})=>{const onNode=(node,ctx,fallback)=>{let visitor;if(node)visitor=visitors[Kind[node.kind]];return visitor?visitor(node,input,ctx):fallback};const walkObj=()=>nodes.reduce((sum,node)=>{return onNode(node,sum,sum)},ctx);const walkArr=()=>nodes.map(node=>onNode(node,ctx,null),ctx).filter(Boolean);return Array.isArray(ctx)?walkArr():walkObj()};module.exports.loc=loc;module.exports.yamlAST=input=>walk([load(input)],input)},{"yaml-ast-parser":209}],73:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Ono=void 0;const extend_error_1=require("./extend-error");const normalize_1=require("./normalize");const to_json_1=require("./to-json");const constructor=Ono;exports.Ono=constructor;function Ono(ErrorConstructor,options){options=normalize_1.normalizeOptions(options);function ono(...args){let{originalError,props,message}=normalize_1.normalizeArgs(args,options);let newError=new ErrorConstructor(message);return extend_error_1.extendError(newError,originalError,props)}ono[Symbol.species]=ErrorConstructor;return ono}Ono.toJSON=function toJSON(error){return to_json_1.toJSON.call(error)};Ono.extend=function extend(error,originalError,props){if(props||originalError instanceof Error){return extend_error_1.extendError(error,originalError,props)}else if(originalError){return extend_error_1.extendError(error,undefined,originalError)}else{return extend_error_1.extendError(error)}}},{"./extend-error":74,"./normalize":77,"./to-json":80}],74:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.extendError=void 0;const isomorphic_node_1=require("./isomorphic.node");const stack_1=require("./stack");const to_json_1=require("./to-json");const protectedProps=["name","message","stack"];function extendError(error,originalError,props){let onoError=error;extendStack(onoError,originalError);if(originalError&&typeof originalError==="object"){mergeErrors(onoError,originalError)}onoError.toJSON=to_json_1.toJSON;if(isomorphic_node_1.addInspectMethod){isomorphic_node_1.addInspectMethod(onoError)}if(props&&typeof props==="object"){Object.assign(onoError,props)}return onoError}exports.extendError=extendError;function extendStack(newError,originalError){let stackProp=Object.getOwnPropertyDescriptor(newError,"stack");if(stack_1.isLazyStack(stackProp)){stack_1.lazyJoinStacks(stackProp,newError,originalError)}else if(stack_1.isWritableStack(stackProp)){newError.stack=stack_1.joinStacks(newError,originalError)}}function mergeErrors(newError,originalError){let keys=to_json_1.getDeepKeys(originalError,protectedProps);let _newError=newError;let _originalError=originalError;for(let key of keys){if(_newError[key]===undefined){try{_newError[key]=_originalError[key]}catch(e){}}}}},{"./isomorphic.node":76,"./stack":79,"./to-json":80}],75:[function(require,module,exports){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;Object.defineProperty(o,k2,{enumerable:true,get:function(){return m[k]}})}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!exports.hasOwnProperty(p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});exports.ono=void 0;const singleton_1=require("./singleton");Object.defineProperty(exports,"ono",{enumerable:true,get:function(){return singleton_1.ono}});var constructor_1=require("./constructor");Object.defineProperty(exports,"Ono",{enumerable:true,get:function(){return constructor_1.Ono}});__exportStar(require("./types"),exports);exports.default=singleton_1.ono;if(typeof module==="object"&&typeof module.exports==="object"){module.exports=Object.assign(module.exports.default,module.exports)}},{"./constructor":73,"./singleton":78,"./types":81}],76:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.addInspectMethod=exports.format=void 0;exports.format=false;exports.addInspectMethod=false},{}],77:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.normalizeArgs=exports.normalizeOptions=void 0;const isomorphic_node_1=require("./isomorphic.node");function normalizeOptions(options){options=options||{};return{concatMessages:options.concatMessages===undefined?true:Boolean(options.concatMessages),format:options.format===undefined?isomorphic_node_1.format:typeof options.format==="function"?options.format:false}}exports.normalizeOptions=normalizeOptions;function normalizeArgs(args,options){let originalError;let props;let formatArgs;let message="";if(typeof args[0]==="string"){formatArgs=args}else if(typeof args[1]==="string"){if(args[0]instanceof Error){originalError=args[0]}else{props=args[0]}formatArgs=args.slice(1)}else{originalError=args[0];props=args[1];formatArgs=args.slice(2)}if(formatArgs.length>0){if(options.format){message=options.format.apply(undefined,formatArgs)}else{message=formatArgs.join(" ")}}if(options.concatMessages&&originalError&&originalError.message){message+=(message?" \n":"")+originalError.message}return{originalError:originalError,props:props,message:message}}exports.normalizeArgs=normalizeArgs},{"./isomorphic.node":76}],78:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ono=void 0;const constructor_1=require("./constructor");const singleton=ono;exports.ono=singleton;ono.error=new constructor_1.Ono(Error);ono.eval=new constructor_1.Ono(EvalError);ono.range=new constructor_1.Ono(RangeError);ono.reference=new constructor_1.Ono(ReferenceError);ono.syntax=new constructor_1.Ono(SyntaxError);ono.type=new constructor_1.Ono(TypeError);ono.uri=new constructor_1.Ono(URIError);const onoMap=ono;function ono(...args){let originalError=args[0];if(typeof originalError==="object"&&typeof originalError.name==="string"){for(let typedOno of Object.values(onoMap)){if(typeof typedOno==="function"&&typedOno.name==="ono"){let species=typedOno[Symbol.species];if(species&&species!==Error&&(originalError instanceof species||originalError.name===species.name)){return typedOno.apply(undefined,args)}}}}return ono.error.apply(undefined,args)}},{"./constructor":73}],79:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.lazyJoinStacks=exports.joinStacks=exports.isWritableStack=exports.isLazyStack=void 0;const newline=/\r?\n/;const onoCall=/\bono[ @]/;function isLazyStack(stackProp){return Boolean(stackProp&&stackProp.configurable&&typeof stackProp.get==="function")}exports.isLazyStack=isLazyStack;function isWritableStack(stackProp){return Boolean(!stackProp||stackProp.writable||typeof stackProp.set==="function")}exports.isWritableStack=isWritableStack;function joinStacks(newError,originalError){let newStack=popStack(newError.stack);let originalStack=originalError?originalError.stack:undefined;if(newStack&&originalStack){return newStack+"\n\n"+originalStack}else{return newStack||originalStack}}exports.joinStacks=joinStacks;function lazyJoinStacks(lazyStack,newError,originalError){if(originalError){Object.defineProperty(newError,"stack",{get:()=>{let newStack=lazyStack.get.apply(newError);return joinStacks({stack:newStack},originalError)},enumerable:false,configurable:true})}else{lazyPopStack(newError,lazyStack)}}exports.lazyJoinStacks=lazyJoinStacks;function popStack(stack){if(stack){let lines=stack.split(newline);let onoStart;for(let i=0;i0){return lines.join("\n")}}return stack}function lazyPopStack(error,lazyStack){Object.defineProperty(error,"stack",{get:()=>popStack(lazyStack.get.apply(error)),enumerable:false,configurable:true})}},{}],80:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getDeepKeys=exports.toJSON=void 0;const nonJsonTypes=["function","symbol","undefined"];const protectedProps=["constructor","prototype","__proto__"];const objectPrototype=Object.getPrototypeOf({});function toJSON(){let pojo={};let error=this;for(let key of getDeepKeys(error)){if(typeof key==="string"){let value=error[key];let type=typeof value;if(!nonJsonTypes.includes(type)){pojo[key]=value}}}return pojo}exports.toJSON=toJSON;function getDeepKeys(obj,omit=[]){let keys=[];while(obj&&obj!==objectPrototype){keys=keys.concat(Object.getOwnPropertyNames(obj),Object.getOwnPropertySymbols(obj));obj=Object.getPrototypeOf(obj)}let uniqueKeys=new Set(keys);for(let key of omit.concat(protectedProps)){uniqueKeys.delete(key)}return uniqueKeys}exports.getDeepKeys=getDeepKeys},{}],81:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});const util_1=require("util")},{util:204}],82:[function(require,module,exports){"use strict";var compileSchema=require("./compile"),resolve=require("./compile/resolve"),Cache=require("./cache"),SchemaObject=require("./compile/schema_obj"),stableStringify=require("fast-json-stable-stringify"),formats=require("./compile/formats"),rules=require("./compile/rules"),$dataMetaSchema=require("./data"),util=require("./compile/util");module.exports=Ajv;Ajv.prototype.validate=validate;Ajv.prototype.compile=compile;Ajv.prototype.addSchema=addSchema;Ajv.prototype.addMetaSchema=addMetaSchema;Ajv.prototype.validateSchema=validateSchema;Ajv.prototype.getSchema=getSchema;Ajv.prototype.removeSchema=removeSchema;Ajv.prototype.addFormat=addFormat;Ajv.prototype.errorsText=errorsText;Ajv.prototype._addSchema=_addSchema;Ajv.prototype._compile=_compile;Ajv.prototype.compileAsync=require("./compile/async");var customKeyword=require("./keyword");Ajv.prototype.addKeyword=customKeyword.add;Ajv.prototype.getKeyword=customKeyword.get;Ajv.prototype.removeKeyword=customKeyword.remove;Ajv.prototype.validateKeyword=customKeyword.validate;var errorClasses=require("./compile/error_classes");Ajv.ValidationError=errorClasses.Validation;Ajv.MissingRefError=errorClasses.MissingRef;Ajv.$dataMetaSchema=$dataMetaSchema;var META_SCHEMA_ID="http://json-schema.org/draft-07/schema";var META_IGNORE_OPTIONS=["removeAdditional","useDefaults","coerceTypes","strictDefaults"];var META_SUPPORT_DATA=["/properties"];function Ajv(opts){if(!(this instanceof Ajv))return new Ajv(opts);opts=this._opts=util.copy(opts)||{};setLogger(this);this._schemas={};this._refs={};this._fragments={};this._formats=formats(opts.format);this._cache=opts.cache||new Cache;this._loadingSchemas={};this._compilations=[];this.RULES=rules();this._getId=chooseGetId(opts);opts.loopRequired=opts.loopRequired||Infinity;if(opts.errorDataPath=="property")opts._errorDataPathProperty=true;if(opts.serialize===undefined)opts.serialize=stableStringify;this._metaOpts=getMetaSchemaOptions(this);if(opts.formats)addInitialFormats(this);if(opts.keywords)addInitialKeywords(this);addDefaultMetaSchema(this);if(typeof opts.meta=="object")this.addMetaSchema(opts.meta);if(opts.nullable)this.addKeyword("nullable",{metaSchema:{type:"boolean"}});addInitialSchemas(this)}function validate(schemaKeyRef,data){var v;if(typeof schemaKeyRef=="string"){v=this.getSchema(schemaKeyRef);if(!v)throw new Error('no schema with key or ref "'+schemaKeyRef+'"')}else{var schemaObj=this._addSchema(schemaKeyRef);v=schemaObj.validate||this._compile(schemaObj)}var valid=v(data);if(v.$async!==true)this.errors=v.errors;return valid}function compile(schema,_meta){var schemaObj=this._addSchema(schema,undefined,_meta);return schemaObj.validate||this._compile(schemaObj)}function addSchema(schema,key,_skipValidation,_meta){if(Array.isArray(schema)){for(var i=0;i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;var URL=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i;var UUID=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;var JSON_POINTER=/^(?:\/(?:[^~/]|~0|~1)*)*$/;var JSON_POINTER_URI_FRAGMENT=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;var RELATIVE_JSON_POINTER=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;module.exports=formats;function formats(mode){mode=mode=="full"?"full":"fast";return util.copy(formats[mode])}formats.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":URITEMPLATE,url:URL,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:HOSTNAME,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:regex,uuid:UUID,"json-pointer":JSON_POINTER,"json-pointer-uri-fragment":JSON_POINTER_URI_FRAGMENT,"relative-json-pointer":RELATIVE_JSON_POINTER};formats.full={date:date,time:time,"date-time":date_time,uri:uri,"uri-reference":URIREF,"uri-template":URITEMPLATE,url:URL,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:HOSTNAME,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:regex,uuid:UUID,"json-pointer":JSON_POINTER,"json-pointer-uri-fragment":JSON_POINTER_URI_FRAGMENT,"relative-json-pointer":RELATIVE_JSON_POINTER};function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function date(str){var matches=str.match(DATE);if(!matches)return false;var year=+matches[1];var month=+matches[2];var day=+matches[3];return month>=1&&month<=12&&day>=1&&day<=(month==2&&isLeapYear(year)?29:DAYS[month])}function time(str,full){var matches=str.match(TIME);if(!matches)return false;var hour=matches[1];var minute=matches[2];var second=matches[3];var timeZone=matches[5];return(hour<=23&&minute<=59&&second<=59||hour==23&&minute==59&&second==60)&&(!full||timeZone)}var DATE_TIME_SEPARATOR=/t|\s/i;function date_time(str){var dateTime=str.split(DATE_TIME_SEPARATOR);return dateTime.length==2&&date(dateTime[0])&&time(dateTime[1],true)}var NOT_URI_FRAGMENT=/\/|:/;function uri(str){return NOT_URI_FRAGMENT.test(str)&&URI.test(str)}var Z_ANCHOR=/[^\\]\\Z/;function regex(str){if(Z_ANCHOR.test(str))return false;try{new RegExp(str);return true}catch(e){return false}}},{"./util":92}],87:[function(require,module,exports){"use strict";var resolve=require("./resolve"),util=require("./util"),errorClasses=require("./error_classes"),stableStringify=require("fast-json-stable-stringify");var validateGenerator=require("../dotjs/validate");var ucs2length=util.ucs2length;var equal=require("fast-deep-equal");var ValidationError=errorClasses.Validation;module.exports=compile;function compile(schema,root,localRefs,baseId){var self=this,opts=this._opts,refVal=[undefined],refs={},patterns=[],patternsHash={},defaults=[],defaultsHash={},customRules=[];root=root||{schema:schema,refVal:refVal,refs:refs};var c=checkCompiling.call(this,schema,root,baseId);var compilation=this._compilations[c.index];if(c.compiling)return compilation.callValidate=callValidate;var formats=this._formats;var RULES=this.RULES;try{var v=localCompile(schema,root,localRefs,baseId);compilation.validate=v;var cv=compilation.callValidate;if(cv){cv.schema=v.schema;cv.errors=null;cv.refs=v.refs;cv.refVal=v.refVal;cv.root=v.root;cv.$async=v.$async;if(opts.sourceCode)cv.source=v.source}return v}finally{endCompiling.call(this,schema,root,baseId)}function callValidate(){var validate=compilation.validate;var result=validate.apply(this,arguments);callValidate.errors=validate.errors;return result}function localCompile(_schema,_root,localRefs,baseId){var isRoot=!_root||_root&&_root.schema==_schema;if(_root.schema!=root.schema)return compile.call(self,_schema,_root,localRefs,baseId);var $async=_schema.$async===true;var sourceCode=validateGenerator({isTop:true,schema:_schema,isRoot:isRoot,baseId:baseId,root:_root,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:errorClasses.MissingRef,RULES:RULES,validate:validateGenerator,util:util,resolve:resolve,resolveRef:resolveRef,usePattern:usePattern,useDefault:useDefault,useCustomRule:useCustomRule,opts:opts,formats:formats,logger:self.logger,self:self});sourceCode=vars(refVal,refValCode)+vars(patterns,patternCode)+vars(defaults,defaultCode)+vars(customRules,customRuleCode)+sourceCode;if(opts.processCode)sourceCode=opts.processCode(sourceCode,_schema);var validate;try{var makeValidate=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",sourceCode);validate=makeValidate(self,RULES,formats,root,refVal,defaults,customRules,equal,ucs2length,ValidationError);refVal[0]=validate}catch(e){self.logger.error("Error compiling schema, function code:",sourceCode);throw e}validate.schema=_schema;validate.errors=null;validate.refs=refs;validate.refVal=refVal;validate.root=isRoot?validate:_root;if($async)validate.$async=true;if(opts.sourceCode===true){validate.source={code:sourceCode,patterns:patterns,defaults:defaults}}return validate}function resolveRef(baseId,ref,isRoot){ref=resolve.url(baseId,ref);var refIndex=refs[ref];var _refVal,refCode;if(refIndex!==undefined){_refVal=refVal[refIndex];refCode="refVal["+refIndex+"]";return resolvedRef(_refVal,refCode)}if(!isRoot&&root.refs){var rootRefId=root.refs[ref];if(rootRefId!==undefined){_refVal=root.refVal[rootRefId];refCode=addLocalRef(ref,_refVal);return resolvedRef(_refVal,refCode)}}refCode=addLocalRef(ref);var v=resolve.call(self,localCompile,root,ref);if(v===undefined){var localSchema=localRefs&&localRefs[ref];if(localSchema){v=resolve.inlineRef(localSchema,opts.inlineRefs)?localSchema:compile.call(self,localSchema,root,localRefs,baseId)}}if(v===undefined){removeLocalRef(ref)}else{replaceLocalRef(ref,v);return resolvedRef(v,refCode)}}function addLocalRef(ref,v){var refId=refVal.length;refVal[refId]=v;refs[ref]=refId;return"refVal"+refId}function removeLocalRef(ref){delete refs[ref]}function replaceLocalRef(ref,v){var refId=refs[ref];refVal[refId]=v}function resolvedRef(refVal,code){return typeof refVal=="object"||typeof refVal=="boolean"?{code:code,schema:refVal,inline:true}:{code:code,$async:refVal&&!!refVal.$async}}function usePattern(regexStr){var index=patternsHash[regexStr];if(index===undefined){index=patternsHash[regexStr]=patterns.length;patterns[index]=regexStr}return"pattern"+index}function useDefault(value){switch(typeof value){case"boolean":case"number":return""+value;case"string":return util.toQuotedString(value);case"object":if(value===null)return"null";var valueStr=stableStringify(value);var index=defaultsHash[valueStr];if(index===undefined){index=defaultsHash[valueStr]=defaults.length;defaults[index]=value}return"default"+index}}function useCustomRule(rule,schema,parentSchema,it){if(self._opts.validateSchema!==false){var deps=rule.definition.dependencies;if(deps&&!deps.every(function(keyword){return Object.prototype.hasOwnProperty.call(parentSchema,keyword)}))throw new Error("parent schema must have all required keywords: "+deps.join(","));var validateSchema=rule.definition.validateSchema;if(validateSchema){var valid=validateSchema(schema);if(!valid){var message="keyword schema is invalid: "+self.errorsText(validateSchema.errors);if(self._opts.validateSchema=="log")self.logger.error(message);else throw new Error(message)}}}var compile=rule.definition.compile,inline=rule.definition.inline,macro=rule.definition.macro;var validate;if(compile){validate=compile.call(self,schema,parentSchema,it)}else if(macro){validate=macro.call(self,schema,parentSchema,it);if(opts.validateSchema!==false)self.validateSchema(validate,true)}else if(inline){validate=inline.call(self,it,rule.keyword,schema,parentSchema)}else{validate=rule.definition.validate;if(!validate)return}if(validate===undefined)throw new Error('custom keyword "'+rule.keyword+'"failed to compile');var index=customRules.length;customRules[index]=validate;return{code:"customRule"+index,validate:validate}}}function checkCompiling(schema,root,baseId){var index=compIndex.call(this,schema,root,baseId);if(index>=0)return{index:index,compiling:true};index=this._compilations.length;this._compilations[index]={schema:schema,root:root,baseId:baseId};return{index:index,compiling:false}}function endCompiling(schema,root,baseId){var i=compIndex.call(this,schema,root,baseId);if(i>=0)this._compilations.splice(i,1)}function compIndex(schema,root,baseId){for(var i=0;i=55296&&value<=56319&&pos=lvl)throw new Error("Cannot access property/index "+up+" levels up, current level is "+lvl);return paths[lvl-up]}if(up>lvl)throw new Error("Cannot access data "+up+" levels up, current level is "+lvl);data="data"+(lvl-up||"");if(!jsonPointer)return data}var expr=data;var segments=jsonPointer.split("/");for(var i=0;i",$notOp=$isMax?">":"<",$errorKeyword=undefined;if(!($isData||typeof $schema=="number"||$schema===undefined)){throw new Error($keyword+" must be number")}if(!($isDataExcl||$schemaExcl===undefined||typeof $schemaExcl=="number"||typeof $schemaExcl=="boolean")){throw new Error($exclusiveKeyword+" must be number or boolean")}if($isDataExcl){var $schemaValueExcl=it.util.getData($schemaExcl.$data,$dataLvl,it.dataPathArr),$exclusive="exclusive"+$lvl,$exclType="exclType"+$lvl,$exclIsNumber="exclIsNumber"+$lvl,$opExpr="op"+$lvl,$opStr="' + "+$opExpr+" + '";out+=" var schemaExcl"+$lvl+" = "+$schemaValueExcl+"; ";$schemaValueExcl="schemaExcl"+$lvl;out+=" var "+$exclusive+"; var "+$exclType+" = typeof "+$schemaValueExcl+"; if ("+$exclType+" != 'boolean' && "+$exclType+" != 'undefined' && "+$exclType+" != 'number') { ";var $errorKeyword=$exclusiveKeyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: '"+$exclusiveKeyword+" should be boolean' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } else if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" "+$exclType+" == 'number' ? ( ("+$exclusive+" = "+$schemaValue+" === undefined || "+$schemaValueExcl+" "+$op+"= "+$schemaValue+") ? "+$data+" "+$notOp+"= "+$schemaValueExcl+" : "+$data+" "+$notOp+" "+$schemaValue+" ) : ( ("+$exclusive+" = "+$schemaValueExcl+" === true) ? "+$data+" "+$notOp+"= "+$schemaValue+" : "+$data+" "+$notOp+" "+$schemaValue+" ) || "+$data+" !== "+$data+") { var op"+$lvl+" = "+$exclusive+" ? '"+$op+"' : '"+$op+"='; ";if($schema===undefined){$errorKeyword=$exclusiveKeyword;$errSchemaPath=it.errSchemaPath+"/"+$exclusiveKeyword;$schemaValue=$schemaValueExcl;$isData=$isDataExcl}}else{var $exclIsNumber=typeof $schemaExcl=="number",$opStr=$op;if($exclIsNumber&&$isData){var $opExpr="'"+$opStr+"'";out+=" if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" ( "+$schemaValue+" === undefined || "+$schemaExcl+" "+$op+"= "+$schemaValue+" ? "+$data+" "+$notOp+"= "+$schemaExcl+" : "+$data+" "+$notOp+" "+$schemaValue+" ) || "+$data+" !== "+$data+") { "}else{if($exclIsNumber&&$schema===undefined){$exclusive=true;$errorKeyword=$exclusiveKeyword;$errSchemaPath=it.errSchemaPath+"/"+$exclusiveKeyword;$schemaValue=$schemaExcl;$notOp+="="}else{if($exclIsNumber)$schemaValue=Math[$isMax?"min":"max"]($schemaExcl,$schema);if($schemaExcl===($exclIsNumber?$schemaValue:true)){$exclusive=true;$errorKeyword=$exclusiveKeyword;$errSchemaPath=it.errSchemaPath+"/"+$exclusiveKeyword;$notOp+="="}else{$exclusive=false;$opStr+="="}}var $opExpr="'"+$opStr+"'";out+=" if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" "+$data+" "+$notOp+" "+$schemaValue+" || "+$data+" !== "+$data+") { "}}$errorKeyword=$errorKeyword||$keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_limit")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { comparison: "+$opExpr+", limit: "+$schemaValue+", exclusive: "+$exclusive+" } ";if(it.opts.messages!==false){out+=" , message: 'should be "+$opStr+" ";if($isData){out+="' + "+$schemaValue}else{out+=""+$schemaValue+"'"}}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } ";if($breakOnError){out+=" else { "}return out}},{}],96:[function(require,module,exports){"use strict";module.exports=function generate__limitItems(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}if(!($isData||typeof $schema=="number")){throw new Error($keyword+" must be number")}var $op=$keyword=="maxItems"?">":"<";out+="if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" "+$data+".length "+$op+" "+$schemaValue+") { ";var $errorKeyword=$keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_limitItems")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { limit: "+$schemaValue+" } ";if(it.opts.messages!==false){out+=" , message: 'should NOT have ";if($keyword=="maxItems"){out+="more"}else{out+="fewer"}out+=" than ";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+$schema}out+=" items' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],97:[function(require,module,exports){"use strict";module.exports=function generate__limitLength(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}if(!($isData||typeof $schema=="number")){throw new Error($keyword+" must be number")}var $op=$keyword=="maxLength"?">":"<";out+="if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}if(it.opts.unicode===false){out+=" "+$data+".length "}else{out+=" ucs2length("+$data+") "}out+=" "+$op+" "+$schemaValue+") { ";var $errorKeyword=$keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_limitLength")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { limit: "+$schemaValue+" } ";if(it.opts.messages!==false){out+=" , message: 'should NOT be ";if($keyword=="maxLength"){out+="longer"}else{out+="shorter"}out+=" than ";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+$schema}out+=" characters' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],98:[function(require,module,exports){"use strict";module.exports=function generate__limitProperties(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}if(!($isData||typeof $schema=="number")){throw new Error($keyword+" must be number")}var $op=$keyword=="maxProperties"?">":"<";out+="if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'number') || "}out+=" Object.keys("+$data+").length "+$op+" "+$schemaValue+") { ";var $errorKeyword=$keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"_limitProperties")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { limit: "+$schemaValue+" } ";if(it.opts.messages!==false){out+=" , message: 'should NOT have ";if($keyword=="maxProperties"){out+="more"}else{out+="fewer"}out+=" than ";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+$schema}out+=" properties' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],99:[function(require,module,exports){"use strict";module.exports=function generate_allOf(it,$keyword,$ruleType){var out=" ";var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $currentBaseId=$it.baseId,$allSchemasEmpty=true;var arr1=$schema;if(arr1){var $sch,$i=-1,l1=arr1.length-1;while($i0:it.util.schemaHasRules($sch,it.RULES.all)){$allSchemasEmpty=false;$it.schema=$sch;$it.schemaPath=$schemaPath+"["+$i+"]";$it.errSchemaPath=$errSchemaPath+"/"+$i;out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}}if($breakOnError){if($allSchemasEmpty){out+=" if (true) { "}else{out+=" "+$closingBraces.slice(0,-1)+" "}}return out}},{}],100:[function(require,module,exports){"use strict";module.exports=function generate_anyOf(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $noEmptySchema=$schema.every(function($sch){return it.opts.strictKeywords?typeof $sch=="object"&&Object.keys($sch).length>0:it.util.schemaHasRules($sch,it.RULES.all)});if($noEmptySchema){var $currentBaseId=$it.baseId;out+=" var "+$errs+" = errors; var "+$valid+" = false; ";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;var arr1=$schema;if(arr1){var $sch,$i=-1,l1=arr1.length-1;while($i0:it.util.schemaHasRules($schema,it.RULES.all);out+="var "+$errs+" = errors;var "+$valid+";";if($nonEmptySchema){var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;out+=" var "+$nextValid+" = false; for (var "+$idx+" = 0; "+$idx+" < "+$data+".length; "+$idx+"++) { ";$it.errorPath=it.util.getPathExpr(it.errorPath,$idx,it.opts.jsonPointers,true);var $passData=$data+"["+$idx+"]";$it.dataPathArr[$dataNxt]=$idx;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}out+=" if ("+$nextValid+") break; } ";it.compositeRule=$it.compositeRule=$wasComposite;out+=" "+$closingBraces+" if (!"+$nextValid+") {"}else{out+=" if ("+$data+".length == 0) {"}var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"contains"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: 'should contain a valid item' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } else { ";if($nonEmptySchema){out+=" errors = "+$errs+"; if (vErrors !== null) { if ("+$errs+") vErrors.length = "+$errs+"; else vErrors = null; } "}if(it.opts.allErrors){out+=" } "}return out}},{}],104:[function(require,module,exports){"use strict";module.exports=function generate_custom(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $rule=this,$definition="definition"+$lvl,$rDef=$rule.definition,$closingBraces="";var $compile,$inline,$macro,$ruleValidate,$validateCode;if($isData&&$rDef.$data){$validateCode="keywordValidate"+$lvl;var $validateSchema=$rDef.validateSchema;out+=" var "+$definition+" = RULES.custom['"+$keyword+"'].definition; var "+$validateCode+" = "+$definition+".validate;"}else{$ruleValidate=it.useCustomRule($rule,$schema,it.schema,it);if(!$ruleValidate)return;$schemaValue="validate.schema"+$schemaPath;$validateCode=$ruleValidate.code;$compile=$rDef.compile;$inline=$rDef.inline;$macro=$rDef.macro}var $ruleErrs=$validateCode+".errors",$i="i"+$lvl,$ruleErr="ruleErr"+$lvl,$asyncKeyword=$rDef.async;if($asyncKeyword&&!it.async)throw new Error("async keyword in sync schema");if(!($inline||$macro)){out+=""+$ruleErrs+" = null;"}out+="var "+$errs+" = errors;var "+$valid+";";if($isData&&$rDef.$data){$closingBraces+="}";out+=" if ("+$schemaValue+" === undefined) { "+$valid+" = true; } else { ";if($validateSchema){$closingBraces+="}";out+=" "+$valid+" = "+$definition+".validateSchema("+$schemaValue+"); if ("+$valid+") { "}}if($inline){if($rDef.statements){out+=" "+$ruleValidate.validate+" "}else{out+=" "+$valid+" = "+$ruleValidate.validate+"; "}}else if($macro){var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;$it.schema=$ruleValidate.validate;$it.schemaPath="";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;var $code=it.validate($it).replace(/validate\.schema/g,$validateCode);it.compositeRule=$it.compositeRule=$wasComposite;out+=" "+$code}else{var $$outStack=$$outStack||[];$$outStack.push(out);out="";out+=" "+$validateCode+".call( ";if(it.opts.passContext){out+="this"}else{out+="self"}if($compile||$rDef.schema===false){out+=" , "+$data+" "}else{out+=" , "+$schemaValue+" , "+$data+" , validate.schema"+it.schemaPath+" "}out+=" , (dataPath || '')";if(it.errorPath!='""'){out+=" + "+it.errorPath}var $parentData=$dataLvl?"data"+($dataLvl-1||""):"parentData",$parentDataProperty=$dataLvl?it.dataPathArr[$dataLvl]:"parentDataProperty";out+=" , "+$parentData+" , "+$parentDataProperty+" , rootData ) ";var def_callRuleValidate=out;out=$$outStack.pop();if($rDef.errors===false){out+=" "+$valid+" = ";if($asyncKeyword){out+="await "}out+=""+def_callRuleValidate+"; "}else{if($asyncKeyword){$ruleErrs="customErrors"+$lvl;out+=" var "+$ruleErrs+" = null; try { "+$valid+" = await "+def_callRuleValidate+"; } catch (e) { "+$valid+" = false; if (e instanceof ValidationError) "+$ruleErrs+" = e.errors; else throw e; } "}else{out+=" "+$ruleErrs+" = null; "+$valid+" = "+def_callRuleValidate+"; "}}}if($rDef.modifying){out+=" if ("+$parentData+") "+$data+" = "+$parentData+"["+$parentDataProperty+"];"}out+=""+$closingBraces;if($rDef.valid){if($breakOnError){out+=" if (true) { "}}else{out+=" if ( ";if($rDef.valid===undefined){out+=" !";if($macro){out+=""+$nextValid}else{out+=""+$valid}}else{out+=" "+!$rDef.valid+" "}out+=") { ";$errorKeyword=$rule.keyword;var $$outStack=$$outStack||[];$$outStack.push(out);out="";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"custom")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { keyword: '"+$rule.keyword+"' } ";if(it.opts.messages!==false){out+=" , message: 'should pass \""+$rule.keyword+"\" keyword validation' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}var def_customError=out;out=$$outStack.pop();if($inline){if($rDef.errors){if($rDef.errors!="full"){out+=" for (var "+$i+"="+$errs+"; "+$i+"0:it.util.schemaHasRules($sch,it.RULES.all)){out+=" "+$nextValid+" = true; if ( "+$data+it.util.getProperty($property)+" !== undefined ";if($ownProperties){out+=" && Object.prototype.hasOwnProperty.call("+$data+", '"+it.util.escapeQuotes($property)+"') "}out+=") { ";$it.schema=$sch;$it.schemaPath=$schemaPath+it.util.getProperty($property);$it.errSchemaPath=$errSchemaPath+"/"+it.util.escapeFragment($property);out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;out+=" } ";if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}if($breakOnError){out+=" "+$closingBraces+" if ("+$errs+" == errors) {"}return out}},{}],106:[function(require,module,exports){"use strict";module.exports=function generate_enum(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $i="i"+$lvl,$vSchema="schema"+$lvl;if(!$isData){out+=" var "+$vSchema+" = validate.schema"+$schemaPath+";"}out+="var "+$valid+";";if($isData){out+=" if (schema"+$lvl+" === undefined) "+$valid+" = true; else if (!Array.isArray(schema"+$lvl+")) "+$valid+" = false; else {"}out+=""+$valid+" = false;for (var "+$i+"=0; "+$i+"<"+$vSchema+".length; "+$i+"++) if (equal("+$data+", "+$vSchema+"["+$i+"])) { "+$valid+" = true; break; }";if($isData){out+=" } "}out+=" if (!"+$valid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"enum"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { allowedValues: schema"+$lvl+" } ";if(it.opts.messages!==false){out+=" , message: 'should be equal to one of the allowed values' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" }";if($breakOnError){out+=" else { "}return out}},{}],107:[function(require,module,exports){"use strict";module.exports=function generate_format(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");if(it.opts.format===false){if($breakOnError){out+=" if (true) { "}return out}var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $unknownFormats=it.opts.unknownFormats,$allowUnknown=Array.isArray($unknownFormats);if($isData){var $format="format"+$lvl,$isObject="isObject"+$lvl,$formatType="formatType"+$lvl;out+=" var "+$format+" = formats["+$schemaValue+"]; var "+$isObject+" = typeof "+$format+" == 'object' && !("+$format+" instanceof RegExp) && "+$format+".validate; var "+$formatType+" = "+$isObject+" && "+$format+".type || 'string'; if ("+$isObject+") { ";if(it.async){out+=" var async"+$lvl+" = "+$format+".async; "}out+=" "+$format+" = "+$format+".validate; } if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'string') || "}out+=" (";if($unknownFormats!="ignore"){out+=" ("+$schemaValue+" && !"+$format+" ";if($allowUnknown){out+=" && self._opts.unknownFormats.indexOf("+$schemaValue+") == -1 "}out+=") || "}out+=" ("+$format+" && "+$formatType+" == '"+$ruleType+"' && !(typeof "+$format+" == 'function' ? ";if(it.async){out+=" (async"+$lvl+" ? await "+$format+"("+$data+") : "+$format+"("+$data+")) "}else{out+=" "+$format+"("+$data+") "}out+=" : "+$format+".test("+$data+"))))) {"}else{var $format=it.formats[$schema];if(!$format){if($unknownFormats=="ignore"){it.logger.warn('unknown format "'+$schema+'" ignored in schema at path "'+it.errSchemaPath+'"');if($breakOnError){out+=" if (true) { "}return out}else if($allowUnknown&&$unknownFormats.indexOf($schema)>=0){if($breakOnError){out+=" if (true) { "}return out}else{throw new Error('unknown format "'+$schema+'" is used in schema at path "'+it.errSchemaPath+'"')}}var $isObject=typeof $format=="object"&&!($format instanceof RegExp)&&$format.validate;var $formatType=$isObject&&$format.type||"string";if($isObject){var $async=$format.async===true;$format=$format.validate}if($formatType!=$ruleType){if($breakOnError){out+=" if (true) { "}return out}if($async){if(!it.async)throw new Error("async format in sync schema");var $formatRef="formats"+it.util.getProperty($schema)+".validate";out+=" if (!(await "+$formatRef+"("+$data+"))) { "}else{out+=" if (! ";var $formatRef="formats"+it.util.getProperty($schema);if($isObject)$formatRef+=".validate";if(typeof $format=="function"){out+=" "+$formatRef+"("+$data+") "}else{out+=" "+$formatRef+".test("+$data+") "}out+=") { "}}var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"format"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { format: ";if($isData){out+=""+$schemaValue}else{out+=""+it.util.toQuotedString($schema)}out+=" } ";if(it.opts.messages!==false){out+=" , message: 'should match format \"";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+it.util.escapeQuotes($schema)}out+="\"' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+it.util.toQuotedString($schema)}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } ";if($breakOnError){out+=" else { "}return out}},{}],108:[function(require,module,exports){"use strict";module.exports=function generate_if(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $it=it.util.copy(it);$it.level++;var $nextValid="valid"+$it.level;var $thenSch=it.schema["then"],$elseSch=it.schema["else"],$thenPresent=$thenSch!==undefined&&(it.opts.strictKeywords?typeof $thenSch=="object"&&Object.keys($thenSch).length>0:it.util.schemaHasRules($thenSch,it.RULES.all)),$elsePresent=$elseSch!==undefined&&(it.opts.strictKeywords?typeof $elseSch=="object"&&Object.keys($elseSch).length>0:it.util.schemaHasRules($elseSch,it.RULES.all)),$currentBaseId=$it.baseId;if($thenPresent||$elsePresent){var $ifClause;$it.createErrors=false;$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;out+=" var "+$errs+" = errors; var "+$valid+" = true; ";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;$it.createErrors=true;out+=" errors = "+$errs+"; if (vErrors !== null) { if ("+$errs+") vErrors.length = "+$errs+"; else vErrors = null; } ";it.compositeRule=$it.compositeRule=$wasComposite;if($thenPresent){out+=" if ("+$nextValid+") { ";$it.schema=it.schema["then"];$it.schemaPath=it.schemaPath+".then";$it.errSchemaPath=it.errSchemaPath+"/then";out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;out+=" "+$valid+" = "+$nextValid+"; ";if($thenPresent&&$elsePresent){$ifClause="ifClause"+$lvl;out+=" var "+$ifClause+" = 'then'; "}else{$ifClause="'then'"}out+=" } ";if($elsePresent){out+=" else { "}}else{out+=" if (!"+$nextValid+") { "}if($elsePresent){$it.schema=it.schema["else"];$it.schemaPath=it.schemaPath+".else";$it.errSchemaPath=it.errSchemaPath+"/else";out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId;out+=" "+$valid+" = "+$nextValid+"; ";if($thenPresent&&$elsePresent){$ifClause="ifClause"+$lvl;out+=" var "+$ifClause+" = 'else'; "}else{$ifClause="'else'"}out+=" } "}out+=" if (!"+$valid+") { var err = ";if(it.createErrors!==false){out+=" { keyword: '"+"if"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { failingKeyword: "+$ifClause+" } ";if(it.opts.messages!==false){out+=" , message: 'should match \"' + "+$ifClause+" + '\" schema' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}out+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(vErrors); "}else{out+=" validate.errors = vErrors; return false; "}}out+=" } ";if($breakOnError){out+=" else { "}}else{if($breakOnError){out+=" if (true) { "}}return out}},{}],109:[function(require,module,exports){"use strict";module.exports={$ref:require("./ref"),allOf:require("./allOf"),anyOf:require("./anyOf"),$comment:require("./comment"),const:require("./const"),contains:require("./contains"),dependencies:require("./dependencies"),enum:require("./enum"),format:require("./format"),if:require("./if"),items:require("./items"),maximum:require("./_limit"),minimum:require("./_limit"),maxItems:require("./_limitItems"),minItems:require("./_limitItems"),maxLength:require("./_limitLength"),minLength:require("./_limitLength"),maxProperties:require("./_limitProperties"),minProperties:require("./_limitProperties"),multipleOf:require("./multipleOf"),not:require("./not"),oneOf:require("./oneOf"),pattern:require("./pattern"),properties:require("./properties"),propertyNames:require("./propertyNames"),required:require("./required"),uniqueItems:require("./uniqueItems"),validate:require("./validate")}},{"./_limit":95,"./_limitItems":96,"./_limitLength":97,"./_limitProperties":98,"./allOf":99,"./anyOf":100,"./comment":101,"./const":102,"./contains":103,"./dependencies":105,"./enum":106,"./format":107,"./if":108,"./items":110,"./multipleOf":111,"./not":112,"./oneOf":113,"./pattern":114,"./properties":115,"./propertyNames":116,"./ref":117,"./required":118,"./uniqueItems":119,"./validate":120}],110:[function(require,module,exports){"use strict";module.exports=function generate_items(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $idx="i"+$lvl,$dataNxt=$it.dataLevel=it.dataLevel+1,$nextData="data"+$dataNxt,$currentBaseId=it.baseId;out+="var "+$errs+" = errors;var "+$valid+";";if(Array.isArray($schema)){var $additionalItems=it.schema.additionalItems;if($additionalItems===false){out+=" "+$valid+" = "+$data+".length <= "+$schema.length+"; ";var $currErrSchemaPath=$errSchemaPath;$errSchemaPath=it.errSchemaPath+"/additionalItems";out+=" if (!"+$valid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"additionalItems"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { limit: "+$schema.length+" } ";if(it.opts.messages!==false){out+=" , message: 'should NOT have more than "+$schema.length+" items' "}if(it.opts.verbose){out+=" , schema: false , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } ";$errSchemaPath=$currErrSchemaPath;if($breakOnError){$closingBraces+="}";out+=" else { "}}var arr1=$schema;if(arr1){var $sch,$i=-1,l1=arr1.length-1;while($i0:it.util.schemaHasRules($sch,it.RULES.all)){out+=" "+$nextValid+" = true; if ("+$data+".length > "+$i+") { ";var $passData=$data+"["+$i+"]";$it.schema=$sch;$it.schemaPath=$schemaPath+"["+$i+"]";$it.errSchemaPath=$errSchemaPath+"/"+$i;$it.errorPath=it.util.getPathExpr(it.errorPath,$i,it.opts.jsonPointers,true);$it.dataPathArr[$dataNxt]=$i;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}out+=" } ";if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}}if(typeof $additionalItems=="object"&&(it.opts.strictKeywords?typeof $additionalItems=="object"&&Object.keys($additionalItems).length>0:it.util.schemaHasRules($additionalItems,it.RULES.all))){$it.schema=$additionalItems;$it.schemaPath=it.schemaPath+".additionalItems";$it.errSchemaPath=it.errSchemaPath+"/additionalItems";out+=" "+$nextValid+" = true; if ("+$data+".length > "+$schema.length+") { for (var "+$idx+" = "+$schema.length+"; "+$idx+" < "+$data+".length; "+$idx+"++) { ";$it.errorPath=it.util.getPathExpr(it.errorPath,$idx,it.opts.jsonPointers,true);var $passData=$data+"["+$idx+"]";$it.dataPathArr[$dataNxt]=$idx;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}if($breakOnError){out+=" if (!"+$nextValid+") break; "}out+=" } } ";if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}else if(it.opts.strictKeywords?typeof $schema=="object"&&Object.keys($schema).length>0:it.util.schemaHasRules($schema,it.RULES.all)){$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;out+=" for (var "+$idx+" = "+0+"; "+$idx+" < "+$data+".length; "+$idx+"++) { ";$it.errorPath=it.util.getPathExpr(it.errorPath,$idx,it.opts.jsonPointers,true);var $passData=$data+"["+$idx+"]";$it.dataPathArr[$dataNxt]=$idx;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}if($breakOnError){out+=" if (!"+$nextValid+") break; "}out+=" }"}if($breakOnError){out+=" "+$closingBraces+" if ("+$errs+" == errors) {"}return out}},{}],111:[function(require,module,exports){"use strict";module.exports=function generate_multipleOf(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}if(!($isData||typeof $schema=="number")){throw new Error($keyword+" must be number")}out+="var division"+$lvl+";if (";if($isData){out+=" "+$schemaValue+" !== undefined && ( typeof "+$schemaValue+" != 'number' || "}out+=" (division"+$lvl+" = "+$data+" / "+$schemaValue+", ";if(it.opts.multipleOfPrecision){out+=" Math.abs(Math.round(division"+$lvl+") - division"+$lvl+") > 1e-"+it.opts.multipleOfPrecision+" "}else{out+=" division"+$lvl+" !== parseInt(division"+$lvl+") "}out+=" ) ";if($isData){out+=" ) "}out+=" ) { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"multipleOf"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { multipleOf: "+$schemaValue+" } ";if(it.opts.messages!==false){out+=" , message: 'should be multiple of ";if($isData){out+="' + "+$schemaValue}else{out+=""+$schemaValue+"'"}}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],112:[function(require,module,exports){"use strict";module.exports=function generate_not(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $errs="errs__"+$lvl;var $it=it.util.copy(it);$it.level++;var $nextValid="valid"+$it.level;if(it.opts.strictKeywords?typeof $schema=="object"&&Object.keys($schema).length>0:it.util.schemaHasRules($schema,it.RULES.all)){$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;out+=" var "+$errs+" = errors; ";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;$it.createErrors=false;var $allErrorsOption;if($it.opts.allErrors){$allErrorsOption=$it.opts.allErrors;$it.opts.allErrors=false}out+=" "+it.validate($it)+" ";$it.createErrors=true;if($allErrorsOption)$it.opts.allErrors=$allErrorsOption;it.compositeRule=$it.compositeRule=$wasComposite;out+=" if ("+$nextValid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"not"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: 'should NOT be valid' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } else { errors = "+$errs+"; if (vErrors !== null) { if ("+$errs+") vErrors.length = "+$errs+"; else vErrors = null; } ";if(it.opts.allErrors){out+=" } "}}else{out+=" var err = ";if(it.createErrors!==false){out+=" { keyword: '"+"not"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: 'should NOT be valid' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}out+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if($breakOnError){out+=" if (false) { "}}return out}},{}],113:[function(require,module,exports){"use strict";module.exports=function generate_oneOf(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $currentBaseId=$it.baseId,$prevValid="prevValid"+$lvl,$passingSchemas="passingSchemas"+$lvl;out+="var "+$errs+" = errors , "+$prevValid+" = false , "+$valid+" = false , "+$passingSchemas+" = null; ";var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;var arr1=$schema;if(arr1){var $sch,$i=-1,l1=arr1.length-1;while($i0:it.util.schemaHasRules($sch,it.RULES.all)){$it.schema=$sch;$it.schemaPath=$schemaPath+"["+$i+"]";$it.errSchemaPath=$errSchemaPath+"/"+$i;out+=" "+it.validate($it)+" ";$it.baseId=$currentBaseId}else{out+=" var "+$nextValid+" = true; "}if($i){out+=" if ("+$nextValid+" && "+$prevValid+") { "+$valid+" = false; "+$passingSchemas+" = ["+$passingSchemas+", "+$i+"]; } else { ";$closingBraces+="}"}out+=" if ("+$nextValid+") { "+$valid+" = "+$prevValid+" = true; "+$passingSchemas+" = "+$i+"; }"}}it.compositeRule=$it.compositeRule=$wasComposite;out+=""+$closingBraces+"if (!"+$valid+") { var err = ";if(it.createErrors!==false){out+=" { keyword: '"+"oneOf"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { passingSchemas: "+$passingSchemas+" } ";if(it.opts.messages!==false){out+=" , message: 'should match exactly one schema in oneOf' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}out+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(vErrors); "}else{out+=" validate.errors = vErrors; return false; "}}out+="} else { errors = "+$errs+"; if (vErrors !== null) { if ("+$errs+") vErrors.length = "+$errs+"; else vErrors = null; }";if(it.opts.allErrors){out+=" } "}return out}},{}],114:[function(require,module,exports){"use strict";module.exports=function generate_pattern(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $isData=it.opts.$data&&$schema&&$schema.$data,$schemaValue;if($isData){out+=" var schema"+$lvl+" = "+it.util.getData($schema.$data,$dataLvl,it.dataPathArr)+"; ";$schemaValue="schema"+$lvl}else{$schemaValue=$schema}var $regexp=$isData?"(new RegExp("+$schemaValue+"))":it.usePattern($schema);out+="if ( ";if($isData){out+=" ("+$schemaValue+" !== undefined && typeof "+$schemaValue+" != 'string') || "}out+=" !"+$regexp+".test("+$data+") ) { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"pattern"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { pattern: ";if($isData){out+=""+$schemaValue}else{out+=""+it.util.toQuotedString($schema)}out+=" } ";if(it.opts.messages!==false){out+=" , message: 'should match pattern \"";if($isData){out+="' + "+$schemaValue+" + '"}else{out+=""+it.util.escapeQuotes($schema)}out+="\"' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+it.util.toQuotedString($schema)}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+="} ";if($breakOnError){out+=" else { "}return out}},{}],115:[function(require,module,exports){"use strict";module.exports=function generate_properties(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;var $key="key"+$lvl,$idx="idx"+$lvl,$dataNxt=$it.dataLevel=it.dataLevel+1,$nextData="data"+$dataNxt,$dataProperties="dataProperties"+$lvl;var $schemaKeys=Object.keys($schema||{}).filter(notProto),$pProperties=it.schema.patternProperties||{},$pPropertyKeys=Object.keys($pProperties).filter(notProto),$aProperties=it.schema.additionalProperties,$someProperties=$schemaKeys.length||$pPropertyKeys.length,$noAdditional=$aProperties===false,$additionalIsSchema=typeof $aProperties=="object"&&Object.keys($aProperties).length,$removeAdditional=it.opts.removeAdditional,$checkAdditional=$noAdditional||$additionalIsSchema||$removeAdditional,$ownProperties=it.opts.ownProperties,$currentBaseId=it.baseId;var $required=it.schema.required;if($required&&!(it.opts.$data&&$required.$data)&&$required.length8){out+=" || validate.schema"+$schemaPath+".hasOwnProperty("+$key+") "}else{var arr1=$schemaKeys;if(arr1){var $propertyKey,i1=-1,l1=arr1.length-1;while(i10:it.util.schemaHasRules($sch,it.RULES.all)){var $prop=it.util.getProperty($propertyKey),$passData=$data+$prop,$hasDefault=$useDefaults&&$sch.default!==undefined;$it.schema=$sch;$it.schemaPath=$schemaPath+$prop;$it.errSchemaPath=$errSchemaPath+"/"+it.util.escapeFragment($propertyKey);$it.errorPath=it.util.getPath(it.errorPath,$propertyKey,it.opts.jsonPointers);$it.dataPathArr[$dataNxt]=it.util.toQuotedString($propertyKey);var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){$code=it.util.varReplace($code,$nextData,$passData);var $useData=$passData}else{var $useData=$nextData;out+=" var "+$nextData+" = "+$passData+"; "}if($hasDefault){out+=" "+$code+" "}else{if($requiredHash&&$requiredHash[$propertyKey]){out+=" if ( "+$useData+" === undefined ";if($ownProperties){out+=" || ! Object.prototype.hasOwnProperty.call("+$data+", '"+it.util.escapeQuotes($propertyKey)+"') "}out+=") { "+$nextValid+" = false; ";var $currentErrorPath=it.errorPath,$currErrSchemaPath=$errSchemaPath,$missingProperty=it.util.escapeQuotes($propertyKey);if(it.opts._errorDataPathProperty){it.errorPath=it.util.getPath($currentErrorPath,$propertyKey,it.opts.jsonPointers)}$errSchemaPath=it.errSchemaPath+"/required";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"required"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { missingProperty: '"+$missingProperty+"' } ";if(it.opts.messages!==false){out+=" , message: '";if(it.opts._errorDataPathProperty){out+="is a required property"}else{out+="should have required property \\'"+$missingProperty+"\\'"}out+="' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}$errSchemaPath=$currErrSchemaPath;it.errorPath=$currentErrorPath;out+=" } else { "}else{if($breakOnError){out+=" if ( "+$useData+" === undefined ";if($ownProperties){out+=" || ! Object.prototype.hasOwnProperty.call("+$data+", '"+it.util.escapeQuotes($propertyKey)+"') "}out+=") { "+$nextValid+" = true; } else { "}else{out+=" if ("+$useData+" !== undefined ";if($ownProperties){out+=" && Object.prototype.hasOwnProperty.call("+$data+", '"+it.util.escapeQuotes($propertyKey)+"') "}out+=" ) { "}}out+=" "+$code+" } "}}if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}}if($pPropertyKeys.length){var arr4=$pPropertyKeys;if(arr4){var $pProperty,i4=-1,l4=arr4.length-1;while(i40:it.util.schemaHasRules($sch,it.RULES.all)){$it.schema=$sch;$it.schemaPath=it.schemaPath+".patternProperties"+it.util.getProperty($pProperty);$it.errSchemaPath=it.errSchemaPath+"/patternProperties/"+it.util.escapeFragment($pProperty);if($ownProperties){out+=" "+$dataProperties+" = "+$dataProperties+" || Object.keys("+$data+"); for (var "+$idx+"=0; "+$idx+"<"+$dataProperties+".length; "+$idx+"++) { var "+$key+" = "+$dataProperties+"["+$idx+"]; "}else{out+=" for (var "+$key+" in "+$data+") { "}out+=" if ("+it.usePattern($pProperty)+".test("+$key+")) { ";$it.errorPath=it.util.getPathExpr(it.errorPath,$key,it.opts.jsonPointers);var $passData=$data+"["+$key+"]";$it.dataPathArr[$dataNxt]=$key;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}if($breakOnError){out+=" if (!"+$nextValid+") break; "}out+=" } ";if($breakOnError){out+=" else "+$nextValid+" = true; "}out+=" } ";if($breakOnError){out+=" if ("+$nextValid+") { ";$closingBraces+="}"}}}}}if($breakOnError){out+=" "+$closingBraces+" if ("+$errs+" == errors) {"}return out}},{}],116:[function(require,module,exports){"use strict";module.exports=function generate_propertyNames(it,$keyword,$ruleType){var out=" ";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $data="data"+($dataLvl||"");var $errs="errs__"+$lvl;var $it=it.util.copy(it);var $closingBraces="";$it.level++;var $nextValid="valid"+$it.level;out+="var "+$errs+" = errors;";if(it.opts.strictKeywords?typeof $schema=="object"&&Object.keys($schema).length>0:it.util.schemaHasRules($schema,it.RULES.all)){$it.schema=$schema;$it.schemaPath=$schemaPath;$it.errSchemaPath=$errSchemaPath;var $key="key"+$lvl,$idx="idx"+$lvl,$i="i"+$lvl,$invalidName="' + "+$key+" + '",$dataNxt=$it.dataLevel=it.dataLevel+1,$nextData="data"+$dataNxt,$dataProperties="dataProperties"+$lvl,$ownProperties=it.opts.ownProperties,$currentBaseId=it.baseId;if($ownProperties){out+=" var "+$dataProperties+" = undefined; "}if($ownProperties){out+=" "+$dataProperties+" = "+$dataProperties+" || Object.keys("+$data+"); for (var "+$idx+"=0; "+$idx+"<"+$dataProperties+".length; "+$idx+"++) { var "+$key+" = "+$dataProperties+"["+$idx+"]; "}else{out+=" for (var "+$key+" in "+$data+") { "}out+=" var startErrs"+$lvl+" = errors; ";var $passData=$key;var $wasComposite=it.compositeRule;it.compositeRule=$it.compositeRule=true;var $code=it.validate($it);$it.baseId=$currentBaseId;if(it.util.varOccurences($code,$nextData)<2){out+=" "+it.util.varReplace($code,$nextData,$passData)+" "}else{out+=" var "+$nextData+" = "+$passData+"; "+$code+" "}it.compositeRule=$it.compositeRule=$wasComposite;out+=" if (!"+$nextValid+") { for (var "+$i+"=startErrs"+$lvl+"; "+$i+"0:it.util.schemaHasRules($propertySch,it.RULES.all)))){$required[$required.length]=$property}}}}else{var $required=$schema}}if($isData||$required.length){var $currentErrorPath=it.errorPath,$loopRequired=$isData||$required.length>=it.opts.loopRequired,$ownProperties=it.opts.ownProperties;if($breakOnError){out+=" var missing"+$lvl+"; ";if($loopRequired){if(!$isData){out+=" var "+$vSchema+" = validate.schema"+$schemaPath+"; "}var $i="i"+$lvl,$propertyPath="schema"+$lvl+"["+$i+"]",$missingProperty="' + "+$propertyPath+" + '";if(it.opts._errorDataPathProperty){it.errorPath=it.util.getPathExpr($currentErrorPath,$propertyPath,it.opts.jsonPointers)}out+=" var "+$valid+" = true; ";if($isData){out+=" if (schema"+$lvl+" === undefined) "+$valid+" = true; else if (!Array.isArray(schema"+$lvl+")) "+$valid+" = false; else {"}out+=" for (var "+$i+" = 0; "+$i+" < "+$vSchema+".length; "+$i+"++) { "+$valid+" = "+$data+"["+$vSchema+"["+$i+"]] !== undefined ";if($ownProperties){out+=" && Object.prototype.hasOwnProperty.call("+$data+", "+$vSchema+"["+$i+"]) "}out+="; if (!"+$valid+") break; } ";if($isData){out+=" } "}out+=" if (!"+$valid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"required"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { missingProperty: '"+$missingProperty+"' } ";if(it.opts.messages!==false){out+=" , message: '";if(it.opts._errorDataPathProperty){out+="is a required property"}else{out+="should have required property \\'"+$missingProperty+"\\'"}out+="' "}if(it.opts.verbose){out+=" , schema: validate.schema"+$schemaPath+" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } else { "}else{out+=" if ( ";var arr2=$required;if(arr2){var $propertyKey,$i=-1,l2=arr2.length-1;while($i 1) { ";var $itemType=it.schema.items&&it.schema.items.type,$typeIsArray=Array.isArray($itemType);if(!$itemType||$itemType=="object"||$itemType=="array"||$typeIsArray&&($itemType.indexOf("object")>=0||$itemType.indexOf("array")>=0)){out+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+$data+"[i], "+$data+"[j])) { "+$valid+" = false; break outer; } } } "}else{out+=" var itemIndices = {}, item; for (;i--;) { var item = "+$data+"[i]; ";var $method="checkDataType"+($typeIsArray?"s":"");out+=" if ("+it.util[$method]($itemType,"item",it.opts.strictNumbers,true)+") continue; ";if($typeIsArray){out+=" if (typeof item == 'string') item = '\"' + item; "}out+=" if (typeof itemIndices[item] == 'number') { "+$valid+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}out+=" } ";if($isData){out+=" } "}out+=" if (!"+$valid+") { ";var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+"uniqueItems"+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: { i: i, j: j } ";if(it.opts.messages!==false){out+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "}if(it.opts.verbose){out+=" , schema: ";if($isData){out+="validate.schema"+$schemaPath}else{out+=""+$schema}out+=" , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}out+=" } ";if($breakOnError){out+=" else { "}}else{if($breakOnError){out+=" if (true) { "}}return out}},{}],120:[function(require,module,exports){"use strict";module.exports=function generate_validate(it,$keyword,$ruleType){var out="";var $async=it.schema.$async===true,$refKeywords=it.util.schemaHasRulesExcept(it.schema,it.RULES.all,"$ref"),$id=it.self._getId(it.schema);if(it.opts.strictKeywords){var $unknownKwd=it.util.schemaUnknownRules(it.schema,it.RULES.keywords);if($unknownKwd){var $keywordsMsg="unknown keyword: "+$unknownKwd;if(it.opts.strictKeywords==="log")it.logger.warn($keywordsMsg);else throw new Error($keywordsMsg)}}if(it.isTop){out+=" var validate = ";if($async){it.async=true;out+="async "}out+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ";if($id&&(it.opts.sourceCode||it.opts.processCode)){out+=" "+("/*# sourceURL="+$id+" */")+" "}}if(typeof it.schema=="boolean"||!($refKeywords||it.schema.$ref)){var $keyword="false schema";var $lvl=it.level;var $dataLvl=it.dataLevel;var $schema=it.schema[$keyword];var $schemaPath=it.schemaPath+it.util.getProperty($keyword);var $errSchemaPath=it.errSchemaPath+"/"+$keyword;var $breakOnError=!it.opts.allErrors;var $errorKeyword;var $data="data"+($dataLvl||"");var $valid="valid"+$lvl;if(it.schema===false){if(it.isTop){$breakOnError=true}else{out+=" var "+$valid+" = false; "}var $$outStack=$$outStack||[];$$outStack.push(out);out="";if(it.createErrors!==false){out+=" { keyword: '"+($errorKeyword||"false schema")+"' , dataPath: (dataPath || '') + "+it.errorPath+" , schemaPath: "+it.util.toQuotedString($errSchemaPath)+" , params: {} ";if(it.opts.messages!==false){out+=" , message: 'boolean schema is false' "}if(it.opts.verbose){out+=" , schema: false , parentSchema: validate.schema"+it.schemaPath+" , data: "+$data+" "}out+=" } "}else{out+=" {} "}var __err=out;out=$$outStack.pop();if(!it.compositeRule&&$breakOnError){if(it.async){out+=" throw new ValidationError(["+__err+"]); "}else{out+=" validate.errors = ["+__err+"]; return false; "}}else{out+=" var err = "+__err+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}}else{if(it.isTop){if($async){out+=" return data; "}else{out+=" validate.errors = null; return true; "}}else{out+=" var "+$valid+" = true; "}}if(it.isTop){out+=" }; return validate; "}return out}if(it.isTop){var $top=it.isTop,$lvl=it.level=0,$dataLvl=it.dataLevel=0,$data="data";it.rootId=it.resolve.fullPath(it.self._getId(it.root.schema));it.baseId=it.baseId||it.rootId;delete it.isTop;it.dataPathArr=[undefined];if(it.schema.default!==undefined&&it.opts.useDefaults&&it.opts.strictDefaults){var $defaultMsg="default is ignored in the schema root";if(it.opts.strictDefaults==="log")it.logger.warn($defaultMsg);else throw new Error($defaultMsg)}out+=" var vErrors = null; ";out+=" var errors = 0; ";out+=" if (rootData === undefined) rootData = data; "}else{var $lvl=it.level,$dataLvl=it.dataLevel,$data="data"+($dataLvl||"");if($id)it.baseId=it.resolve.url(it.baseId,$id);if($async&&!it.async)throw new Error("async schema in sync schema");out+=" var errs_"+$lvl+" = errors;"}var $valid="valid"+$lvl,$breakOnError=!it.opts.allErrors,$closingBraces1="",$closingBraces2="";var $errorKeyword;var $typeSchema=it.schema.type,$typeIsArray=Array.isArray($typeSchema);if($typeSchema&&it.opts.nullable&&it.schema.nullable===true){if($typeIsArray){if($typeSchema.indexOf("null")==-1)$typeSchema=$typeSchema.concat("null")}else if($typeSchema!="null"){$typeSchema=[$typeSchema,"null"];$typeIsArray=true}}if($typeIsArray&&$typeSchema.length==1){$typeSchema=$typeSchema[0];$typeIsArray=false}if(it.schema.$ref&&$refKeywords){if(it.opts.extendRefs=="fail"){throw new Error('$ref: validation keywords used in schema at path "'+it.errSchemaPath+'" (see option extendRefs)')}else if(it.opts.extendRefs!==true){$refKeywords=false;it.logger.warn('$ref: keywords ignored in schema at path "'+it.errSchemaPath+'"')}}if(it.schema.$comment&&it.opts.$comment){out+=" "+it.RULES.all.$comment.code(it,"$comment")}if($typeSchema){if(it.opts.coerceTypes){var $coerceToTypes=it.util.coerceToTypes(it.opts.coerceTypes,$typeSchema)}var $rulesGroup=it.RULES.types[$typeSchema];if($coerceToTypes||$typeIsArray||$rulesGroup===true||$rulesGroup&&!$shouldUseGroup($rulesGroup)){var $schemaPath=it.schemaPath+".type",$errSchemaPath=it.errSchemaPath+"/type";var $schemaPath=it.schemaPath+".type",$errSchemaPath=it.errSchemaPath+"/type",$method=$typeIsArray?"checkDataTypes":"checkDataType";out+=" if ("+it.util[$method]($typeSchema,$data,it.opts.strictNumbers,true)+") { ";if($coerceToTypes){var $dataType="dataType"+$lvl,$coerced="coerced"+$lvl;out+=" var "+$dataType+" = typeof "+$data+"; ";if(it.opts.coerceTypes=="array"){out+=" if ("+$dataType+" == 'object' && Array.isArray("+$data+")) "+$dataType+" = 'array'; "}out+=" var "+$coerced+" = undefined; ";var $bracesCoercion="";var arr1=$coerceToTypes;if(arr1){var $type,$i=-1,l1=arr1.length-1;while($i0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],126:[function(require,module,exports){},{}],127:[function(require,module,exports){(function(global){(function(root){var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule=typeof module=="object"&&module&&!module.nodeType&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal){root=freeGlobal}var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw new RangeError(errors[type])}function map(array,fn){var length=array.length;var result=[];while(length--){result[length]=fn(array[length])}return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter=55296&&value<=56319&&counter65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digitfloor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j=n&¤tValuefloor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;jmaxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(qK_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;imax)str+=" ... ";return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this,require("buffer").Buffer)},{"base64-js":125,buffer:128,ieee754:135}],129:[function(require,module,exports){module.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{}],130:[function(require,module,exports){(function(process,global){"use strict";var next=global.process&&process.nextTick||global.setImmediate||function(f){setTimeout(f,0)};module.exports=function maybe(cb,promise){if(cb){promise.then(function(result){next(function(){cb(null,result)})},function(err){next(function(){cb(err)})});return undefined}else{return promise}}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{_process:172}],131:[function(require,module,exports){var objectCreate=Object.create||objectCreatePolyfill;var objectKeys=Object.keys||objectKeysPolyfill;var bind=Function.prototype.bind||functionBindPolyfill;function EventEmitter(){if(!this._events||!Object.prototype.hasOwnProperty.call(this,"_events")){this._events=objectCreate(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined}module.exports=EventEmitter;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;var hasDefineProperty;try{var o={};if(Object.defineProperty)Object.defineProperty(o,"x",{value:0});hasDefineProperty=o.x===0}catch(err){hasDefineProperty=false}if(hasDefineProperty){Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||arg!==arg)throw new TypeError('"defaultMaxListeners" must be a positive number');defaultMaxListeners=arg}})}else{EventEmitter.defaultMaxListeners=defaultMaxListeners}EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||isNaN(n))throw new TypeError('"n" argument must be a positive number');this._maxListeners=n;return this};function $getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return $getMaxListeners(this)};function emitNone(handler,isFn,self){if(isFn)handler.call(self);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i1)er=arguments[1];if(er instanceof Error){throw er}else{var err=new Error('Unhandled "error" event. ('+er+")");err.context=er;throw err}return false}handler=events[type];if(!handler)return false;var isFn=typeof handler==="function";len=arguments.length;switch(len){case 1:emitNone(handler,isFn,this);break;case 2:emitOne(handler,isFn,this,arguments[1]);break;case 3:emitTwo(handler,isFn,this,arguments[1],arguments[2]);break;case 4:emitThree(handler,isFn,this,arguments[1],arguments[2],arguments[3]);break;default:args=new Array(len-1);for(i=1;i0&&existing.length>m){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+' "'+String(type)+'" listeners '+"added. Use emitter.setMaxListeners() to "+"increase limit.");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;if(typeof console==="object"&&console.warn){console.warn("%s: %s",w.name,w.message)}}}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;switch(arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:var args=new Array(arguments.length);for(var i=0;i=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else spliceOne(list,position);if(list.length===1)events[type]=list[0];if(events.removeListener)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(!events)return this;if(!events.removeListener){if(arguments.length===0){this._events=objectCreate(null);this._eventsCount=0}else if(events[type]){if(--this._eventsCount===0)this._events=objectCreate(null);else delete events[type]}return this}if(arguments.length===0){var keys=objectKeys(events);var key;for(i=0;i=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(!events)return[];var evlistener=events[type];if(!evlistener)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function spliceOne(list,index){for(var i=index,k=i+1,n=list.length;k>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],136:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},{}],137:[function(require,module,exports){module.exports=function(obj){return obj!=null&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)};function isBuffer(obj){return!!obj.constructor&&typeof obj.constructor.isBuffer==="function"&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return typeof obj.readFloatLE==="function"&&typeof obj.slice==="function"&&isBuffer(obj.slice(0,0))}},{}],138:[function(require,module,exports){"use strict";var yaml=require("./lib/js-yaml.js");module.exports=yaml},{"./lib/js-yaml.js":139}],139:[function(require,module,exports){"use strict";var loader=require("./js-yaml/loader");var dumper=require("./js-yaml/dumper");function deprecated(name){return function(){throw new Error("Function "+name+" is deprecated and cannot be used.")}}module.exports.Type=require("./js-yaml/type");module.exports.Schema=require("./js-yaml/schema");module.exports.FAILSAFE_SCHEMA=require("./js-yaml/schema/failsafe");module.exports.JSON_SCHEMA=require("./js-yaml/schema/json");module.exports.CORE_SCHEMA=require("./js-yaml/schema/core");module.exports.DEFAULT_SAFE_SCHEMA=require("./js-yaml/schema/default_safe");module.exports.DEFAULT_FULL_SCHEMA=require("./js-yaml/schema/default_full");module.exports.load=loader.load;module.exports.loadAll=loader.loadAll;module.exports.safeLoad=loader.safeLoad;module.exports.safeLoadAll=loader.safeLoadAll;module.exports.dump=dumper.dump;module.exports.safeDump=dumper.safeDump;module.exports.YAMLException=require("./js-yaml/exception");module.exports.MINIMAL_SCHEMA=require("./js-yaml/schema/failsafe");module.exports.SAFE_SCHEMA=require("./js-yaml/schema/default_safe");module.exports.DEFAULT_SCHEMA=require("./js-yaml/schema/default_full");module.exports.scan=deprecated("scan");module.exports.parse=deprecated("parse");module.exports.compose=deprecated("compose");module.exports.addConstructor=deprecated("addConstructor")},{"./js-yaml/dumper":141,"./js-yaml/exception":142,"./js-yaml/loader":143,"./js-yaml/schema":145,"./js-yaml/schema/core":146,"./js-yaml/schema/default_full":147,"./js-yaml/schema/default_safe":148,"./js-yaml/schema/failsafe":149,"./js-yaml/schema/json":150,"./js-yaml/type":151}],140:[function(require,module,exports){"use strict";function isNothing(subject){return typeof subject==="undefined"||subject===null}function isObject(subject){return typeof subject==="object"&&subject!==null}function toArray(sequence){if(Array.isArray(sequence))return sequence;else if(isNothing(sequence))return[];return[sequence]}function extend(target,source){var index,length,key,sourceKeys;if(source){sourceKeys=Object.keys(source);for(index=0,length=sourceKeys.length;indexlineWidth&&string[previousLineBreak+1]!==" ";previousLineBreak=i}}else if(!isPrintable(char)){return STYLE_DOUBLE}plain=plain&&isPlainSafe(char)}hasFoldableLine=hasFoldableLine||shouldTrackWidth&&(i-previousLineBreak-1>lineWidth&&string[previousLineBreak+1]!==" ")}if(!hasLineBreak&&!hasFoldableLine){return plain&&!testAmbiguousType(string)?STYLE_PLAIN:STYLE_SINGLE}if(indentPerLevel>9&&needIndentIndicator(string)){return STYLE_DOUBLE}return hasFoldableLine?STYLE_FOLDED:STYLE_LITERAL}function writeScalar(state,string,level,iskey){state.dump=function(){if(string.length===0){return"''"}if(!state.noCompatMode&&DEPRECATED_BOOLEANS_SYNTAX.indexOf(string)!==-1){return"'"+string+"'"}var indent=state.indent*Math.max(1,level);var lineWidth=state.lineWidth===-1?-1:Math.max(Math.min(state.lineWidth,40),state.lineWidth-indent);var singleLineOnly=iskey||state.flowLevel>-1&&level>=state.flowLevel;function testAmbiguity(string){return testImplicitResolving(state,string)}switch(chooseScalarStyle(string,singleLineOnly,state.indent,lineWidth,testAmbiguity)){case STYLE_PLAIN:return string;case STYLE_SINGLE:return"'"+string.replace(/'/g,"''")+"'";case STYLE_LITERAL:return"|"+blockHeader(string,state.indent)+dropEndingNewline(indentString(string,indent));case STYLE_FOLDED:return">"+blockHeader(string,state.indent)+dropEndingNewline(indentString(foldString(string,lineWidth),indent));case STYLE_DOUBLE:return'"'+escapeString(string,lineWidth)+'"';default:throw new YAMLException("impossible error: invalid scalar style")}}()}function blockHeader(string,indentPerLevel){var indentIndicator=needIndentIndicator(string)?String(indentPerLevel):"";var clip=string[string.length-1]==="\n";var keep=clip&&(string[string.length-2]==="\n"||string==="\n");var chomp=keep?"+":clip?"":"-";return indentIndicator+chomp+"\n"}function dropEndingNewline(string){return string[string.length-1]==="\n"?string.slice(0,-1):string}function foldString(string,width){var lineRe=/(\n+)([^\n]*)/g;var result=function(){var nextLF=string.indexOf("\n");nextLF=nextLF!==-1?nextLF:string.length;lineRe.lastIndex=nextLF;return foldLine(string.slice(0,nextLF),width)}();var prevMoreIndented=string[0]==="\n"||string[0]===" ";var moreIndented;var match;while(match=lineRe.exec(string)){var prefix=match[1],line=match[2];moreIndented=line[0]===" ";result+=prefix+(!prevMoreIndented&&!moreIndented&&line!==""?"\n":"")+foldLine(line,width);prevMoreIndented=moreIndented}return result}function foldLine(line,width){if(line===""||line[0]===" ")return line;var breakRe=/ [^ ]/g;var match;var start=0,end,curr=0,next=0;var result="";while(match=breakRe.exec(line)){next=match.index;if(next-start>width){end=curr>start?curr:next;result+="\n"+line.slice(start,end);start=end+1}curr=next}result+="\n";if(line.length-start>width&&curr>start){result+=line.slice(start,curr)+"\n"+line.slice(curr+1)}else{result+=line.slice(start)}return result.slice(1)}function escapeString(string){var result="";var char,nextChar;var escapeSeq;for(var i=0;i=55296&&char<=56319){nextChar=string.charCodeAt(i+1);if(nextChar>=56320&&nextChar<=57343){result+=encodeHex((char-55296)*1024+nextChar-56320+65536);i++;continue}}escapeSeq=ESCAPE_SEQUENCES[char];result+=!escapeSeq&&isPrintable(char)?string[i]:escapeSeq||encodeHex(char)}return result}function writeFlowSequence(state,level,object){var _result="",_tag=state.tag,index,length;for(index=0,length=object.length;index1024)pairBuffer+="? ";pairBuffer+=state.dump+(state.condenseFlow?'"':"")+":"+(state.condenseFlow?"":" ");if(!writeNode(state,level,objectValue,false,false)){continue}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump="{"+_result+"}"}function writeBlockMapping(state,level,object,compact){var _result="",_tag=state.tag,objectKeyList=Object.keys(object),index,length,objectKey,objectValue,explicitPair,pairBuffer;if(state.sortKeys===true){objectKeyList.sort()}else if(typeof state.sortKeys==="function"){objectKeyList.sort(state.sortKeys)}else if(state.sortKeys){throw new YAMLException("sortKeys must be a boolean or a function")}for(index=0,length=objectKeyList.length;index1024;if(explicitPair){if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+="?"}else{pairBuffer+="? "}}pairBuffer+=state.dump;if(explicitPair){pairBuffer+=generateNextLine(state,level)}if(!writeNode(state,level+1,objectValue,true,explicitPair)){continue}if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+=":"}else{pairBuffer+=": "}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump=_result||"{}"}function detectType(state,object,explicit){var _result,typeList,index,length,type,style;typeList=explicit?state.explicitTypes:state.implicitTypes;for(index=0,length=typeList.length;index tag resolver accepts not "'+style+'" style')}state.dump=_result}return true}}return false}function writeNode(state,level,object,block,compact,iskey){state.tag=null;state.dump=object;if(!detectType(state,object,false)){detectType(state,object,true)}var type=_toString.call(state.dump);if(block){block=state.flowLevel<0||state.flowLevel>level}var objectOrArray=type==="[object Object]"||type==="[object Array]",duplicateIndex,duplicate;if(objectOrArray){duplicateIndex=state.duplicates.indexOf(object);duplicate=duplicateIndex!==-1}if(state.tag!==null&&state.tag!=="?"||duplicate||state.indent!==2&&level>0){compact=false}if(duplicate&&state.usedDuplicates[duplicateIndex]){state.dump="*ref_"+duplicateIndex}else{if(objectOrArray&&duplicate&&!state.usedDuplicates[duplicateIndex]){state.usedDuplicates[duplicateIndex]=true}if(type==="[object Object]"){if(block&&Object.keys(state.dump).length!==0){writeBlockMapping(state,level,state.dump,compact);if(duplicate){state.dump="&ref_"+duplicateIndex+state.dump}}else{writeFlowMapping(state,level,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if(type==="[object Array]"){var arrayLevel=state.noArrayIndent&&level>0?level-1:level;if(block&&state.dump.length!==0){writeBlockSequence(state,arrayLevel,state.dump,compact);if(duplicate){state.dump="&ref_"+duplicateIndex+state.dump}}else{writeFlowSequence(state,arrayLevel,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if(type==="[object String]"){if(state.tag!=="?"){writeScalar(state,state.dump,level,iskey)}}else{if(state.skipInvalid)return false;throw new YAMLException("unacceptable kind of an object to dump "+type)}if(state.tag!==null&&state.tag!=="?"){state.dump="!<"+state.tag+"> "+state.dump}}return true}function getDuplicateReferences(object,state){var objects=[],duplicatesIndexes=[],index,length;inspectNode(object,objects,duplicatesIndexes);for(index=0,length=duplicatesIndexes.length;index>10)+55296,(c-65536&1023)+56320)}var simpleEscapeCheck=new Array(256);var simpleEscapeMap=new Array(256);for(var i=0;i<256;i++){simpleEscapeCheck[i]=simpleEscapeSequence(i)?1:0;simpleEscapeMap[i]=simpleEscapeSequence(i)}function State(input,options){this.input=input;this.filename=options["filename"]||null;this.schema=options["schema"]||DEFAULT_FULL_SCHEMA;this.onWarning=options["onWarning"]||null;this.legacy=options["legacy"]||false;this.json=options["json"]||false;this.listener=options["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=input.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}function generateError(state,message){return new YAMLException(message,new Mark(state.filename,state.input,state.position,state.line,state.position-state.lineStart))}function throwError(state,message){throw generateError(state,message)}function throwWarning(state,message){if(state.onWarning){state.onWarning.call(null,generateError(state,message))}}var directiveHandlers={YAML:function handleYamlDirective(state,name,args){var match,major,minor;if(state.version!==null){throwError(state,"duplication of %YAML directive")}if(args.length!==1){throwError(state,"YAML directive accepts exactly one argument")}match=/^([0-9]+)\.([0-9]+)$/.exec(args[0]);if(match===null){throwError(state,"ill-formed argument of the YAML directive")}major=parseInt(match[1],10);minor=parseInt(match[2],10);if(major!==1){throwError(state,"unacceptable YAML version of the document")}state.version=args[0];state.checkLineBreaks=minor<2;if(minor!==1&&minor!==2){throwWarning(state,"unsupported YAML version of the document")}},TAG:function handleTagDirective(state,name,args){var handle,prefix;if(args.length!==2){throwError(state,"TAG directive accepts exactly two arguments")}handle=args[0];prefix=args[1];if(!PATTERN_TAG_HANDLE.test(handle)){throwError(state,"ill-formed tag handle (first argument) of the TAG directive")}if(_hasOwnProperty.call(state.tagMap,handle)){throwError(state,'there is a previously declared suffix for "'+handle+'" tag handle')}if(!PATTERN_TAG_URI.test(prefix)){throwError(state,"ill-formed tag prefix (second argument) of the TAG directive")}state.tagMap[handle]=prefix}};function captureSegment(state,start,end,checkJson){var _position,_length,_character,_result;if(start1){state.result+=common.repeat("\n",count-1)}}function readPlainScalar(state,nodeIndent,withinFlowCollection){var preceding,following,captureStart,captureEnd,hasPendingContent,_line,_lineStart,_lineIndent,_kind=state.kind,_result=state.result,ch;ch=state.input.charCodeAt(state.position);if(is_WS_OR_EOL(ch)||is_FLOW_INDICATOR(ch)||ch===35||ch===38||ch===42||ch===33||ch===124||ch===62||ch===39||ch===34||ch===37||ch===64||ch===96){return false}if(ch===63||ch===45){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){return false}}state.kind="scalar";state.result="";captureStart=captureEnd=state.position;hasPendingContent=false;while(ch!==0){if(ch===58){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){break}}else if(ch===35){preceding=state.input.charCodeAt(state.position-1);if(is_WS_OR_EOL(preceding)){break}}else if(state.position===state.lineStart&&testDocumentSeparator(state)||withinFlowCollection&&is_FLOW_INDICATOR(ch)){break}else if(is_EOL(ch)){_line=state.line;_lineStart=state.lineStart;_lineIndent=state.lineIndent;skipSeparationSpace(state,false,-1);if(state.lineIndent>=nodeIndent){hasPendingContent=true;ch=state.input.charCodeAt(state.position);continue}else{state.position=captureEnd;state.line=_line;state.lineStart=_lineStart;state.lineIndent=_lineIndent;break}}if(hasPendingContent){captureSegment(state,captureStart,captureEnd,false);writeFoldedLines(state,state.line-_line);captureStart=captureEnd=state.position;hasPendingContent=false}if(!is_WHITE_SPACE(ch)){captureEnd=state.position+1}ch=state.input.charCodeAt(++state.position)}captureSegment(state,captureStart,captureEnd,false);if(state.result){return true}state.kind=_kind;state.result=_result;return false}function readSingleQuotedScalar(state,nodeIndent){var ch,captureStart,captureEnd;ch=state.input.charCodeAt(state.position);if(ch!==39){return false}state.kind="scalar";state.result="";state.position++;captureStart=captureEnd=state.position;while((ch=state.input.charCodeAt(state.position))!==0){if(ch===39){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);if(ch===39){captureStart=state.position;state.position++;captureEnd=state.position}else{return true}}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a single quoted scalar")}else{state.position++;captureEnd=state.position}}throwError(state,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(state,nodeIndent){var captureStart,captureEnd,hexLength,hexResult,tmp,ch;ch=state.input.charCodeAt(state.position);if(ch!==34){return false}state.kind="scalar";state.result="";state.position++;captureStart=captureEnd=state.position;while((ch=state.input.charCodeAt(state.position))!==0){if(ch===34){captureSegment(state,captureStart,state.position,true);state.position++;return true}else if(ch===92){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);if(is_EOL(ch)){skipSeparationSpace(state,false,nodeIndent)}else if(ch<256&&simpleEscapeCheck[ch]){state.result+=simpleEscapeMap[ch];state.position++}else if((tmp=escapedHexLen(ch))>0){hexLength=tmp;hexResult=0;for(;hexLength>0;hexLength--){ch=state.input.charCodeAt(++state.position);if((tmp=fromHexCode(ch))>=0){hexResult=(hexResult<<4)+tmp}else{throwError(state,"expected hexadecimal character")}}state.result+=charFromCodepoint(hexResult);state.position++}else{throwError(state,"unknown escape sequence")}captureStart=captureEnd=state.position}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a double quoted scalar")}else{state.position++;captureEnd=state.position}}throwError(state,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(state,nodeIndent){var readNext=true,_line,_tag=state.tag,_result,_anchor=state.anchor,following,terminator,isPair,isExplicitPair,isMapping,overridableKeys={},keyNode,keyTag,valueNode,ch;ch=state.input.charCodeAt(state.position);if(ch===91){terminator=93;isMapping=false;_result=[]}else if(ch===123){terminator=125;isMapping=true;_result={}}else{return false}if(state.anchor!==null){state.anchorMap[state.anchor]=_result}ch=state.input.charCodeAt(++state.position);while(ch!==0){skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(ch===terminator){state.position++;state.tag=_tag;state.anchor=_anchor;state.kind=isMapping?"mapping":"sequence";state.result=_result;return true}else if(!readNext){throwError(state,"missed comma between flow collection entries")}keyTag=keyNode=valueNode=null;isPair=isExplicitPair=false;if(ch===63){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)){isPair=isExplicitPair=true;state.position++;skipSeparationSpace(state,true,nodeIndent)}}_line=state.line;composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);keyTag=state.tag;keyNode=state.result;skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if((isExplicitPair||state.line===_line)&&ch===58){isPair=true;ch=state.input.charCodeAt(++state.position);skipSeparationSpace(state,true,nodeIndent);composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);valueNode=state.result}if(isMapping){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,valueNode)}else if(isPair){_result.push(storeMappingPair(state,null,overridableKeys,keyTag,keyNode,valueNode))}else{_result.push(keyNode)}skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(ch===44){readNext=true;ch=state.input.charCodeAt(++state.position)}else{readNext=false}}throwError(state,"unexpected end of the stream within a flow collection")}function readBlockScalar(state,nodeIndent){var captureStart,folding,chomping=CHOMPING_CLIP,didReadContent=false,detectedIndent=false,textIndent=nodeIndent,emptyLines=0,atMoreIndented=false,tmp,ch;ch=state.input.charCodeAt(state.position);if(ch===124){folding=false}else if(ch===62){folding=true}else{return false}state.kind="scalar";state.result="";while(ch!==0){ch=state.input.charCodeAt(++state.position);if(ch===43||ch===45){if(CHOMPING_CLIP===chomping){chomping=ch===43?CHOMPING_KEEP:CHOMPING_STRIP}else{throwError(state,"repeat of a chomping mode identifier")}}else if((tmp=fromDecimalCode(ch))>=0){if(tmp===0){throwError(state,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!detectedIndent){textIndent=nodeIndent+tmp-1;detectedIndent=true}else{throwError(state,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(ch)){do{ch=state.input.charCodeAt(++state.position)}while(is_WHITE_SPACE(ch));if(ch===35){do{ch=state.input.charCodeAt(++state.position)}while(!is_EOL(ch)&&ch!==0)}}while(ch!==0){readLineBreak(state);state.lineIndent=0;ch=state.input.charCodeAt(state.position);while((!detectedIndent||state.lineIndenttextIndent){textIndent=state.lineIndent}if(is_EOL(ch)){emptyLines++;continue}if(state.lineIndentnodeIndent)&&ch!==0){throwError(state,"bad indentation of a sequence entry")}else if(state.lineIndentnodeIndent){if(composeNode(state,nodeIndent,CONTEXT_BLOCK_OUT,true,allowCompact)){if(atExplicitKey){keyNode=state.result}else{valueNode=state.result}}if(!atExplicitKey){storeMappingPair(state,_result,overridableKeys,keyTag,keyNode,valueNode,_line,_pos);keyTag=keyNode=valueNode=null}skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position)}if(state.lineIndent>nodeIndent&&ch!==0){throwError(state,"bad indentation of a mapping entry")}else if(state.lineIndentparentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndentparentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndent tag; it should be "'+type.kind+'", not "'+state.kind+'"')}if(!type.resolve(state.result)){throwError(state,"cannot resolve a node with !<"+state.tag+"> explicit tag")}else{state.result=type.construct(state.result);if(state.anchor!==null){state.anchorMap[state.anchor]=state.result}}}else{throwError(state,"unknown tag !<"+state.tag+">")}}if(state.listener!==null){state.listener("close",state)}return state.tag!==null||state.anchor!==null||hasContent}function readDocument(state){var documentStart=state.position,_position,directiveName,directiveArgs,hasDirectives=false,ch;state.version=null;state.checkLineBreaks=state.legacy;state.tagMap={};state.anchorMap={};while((ch=state.input.charCodeAt(state.position))!==0){skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position);if(state.lineIndent>0||ch!==37){break}hasDirectives=true;ch=state.input.charCodeAt(++state.position);_position=state.position;while(ch!==0&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveName=state.input.slice(_position,state.position);directiveArgs=[];if(directiveName.length<1){throwError(state,"directive name must not be less than one character in length")}while(ch!==0){while(is_WHITE_SPACE(ch)){ch=state.input.charCodeAt(++state.position)}if(ch===35){do{ch=state.input.charCodeAt(++state.position)}while(ch!==0&&!is_EOL(ch));break}if(is_EOL(ch))break;_position=state.position;while(ch!==0&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveArgs.push(state.input.slice(_position,state.position))}if(ch!==0)readLineBreak(state);if(_hasOwnProperty.call(directiveHandlers,directiveName)){directiveHandlers[directiveName](state,directiveName,directiveArgs)}else{throwWarning(state,'unknown document directive "'+directiveName+'"')}}skipSeparationSpace(state,true,-1);if(state.lineIndent===0&&state.input.charCodeAt(state.position)===45&&state.input.charCodeAt(state.position+1)===45&&state.input.charCodeAt(state.position+2)===45){state.position+=3;skipSeparationSpace(state,true,-1)}else if(hasDirectives){throwError(state,"directives end mark is expected")}composeNode(state,state.lineIndent-1,CONTEXT_BLOCK_OUT,false,true);skipSeparationSpace(state,true,-1);if(state.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart,state.position))){throwWarning(state,"non-ASCII line breaks are interpreted as content")}state.documents.push(state.result);if(state.position===state.lineStart&&testDocumentSeparator(state)){if(state.input.charCodeAt(state.position)===46){state.position+=3;skipSeparationSpace(state,true,-1)}return}if(state.position0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(start-1))===-1){start-=1;if(this.position-start>maxLength/2-1){head=" ... ";start+=5;break}}tail="";end=this.position;while(endmaxLength/2-1){tail=" ... ";end-=5;break}}snippet=this.buffer.slice(start,end);return common.repeat(" ",indent)+head+snippet+tail+"\n"+common.repeat(" ",indent+this.position-start+head.length)+"^"};Mark.prototype.toString=function toString(compact){var snippet,where="";if(this.name){where+='in "'+this.name+'" '}where+="at line "+(this.line+1)+", column "+(this.column+1);if(!compact){snippet=this.getSnippet();if(snippet){where+=":\n"+snippet}}return where};module.exports=Mark},{"./common":140}],145:[function(require,module,exports){"use strict";var common=require("./common");var YAMLException=require("./exception");var Type=require("./type");function compileList(schema,name,result){var exclude=[];schema.include.forEach(function(includedSchema){result=compileList(includedSchema,name,result)});schema[name].forEach(function(currentType){result.forEach(function(previousType,previousIndex){if(previousType.tag===currentType.tag&&previousType.kind===currentType.kind){exclude.push(previousIndex)}});result.push(currentType)});return result.filter(function(type,index){return exclude.indexOf(index)===-1})}function compileMap(){var result={scalar:{},sequence:{},mapping:{},fallback:{}},index,length;function collectType(type){result[type.kind][type.tag]=result["fallback"][type.tag]=type}for(index=0,length=arguments.length;index64)continue;if(code<0)return false;bitlen+=6}return bitlen%8===0}function constructYamlBinary(data){var idx,tailbits,input=data.replace(/[\r\n=]/g,""),max=input.length,map=BASE64_MAP,bits=0,result=[];for(idx=0;idx>16&255);result.push(bits>>8&255);result.push(bits&255)}bits=bits<<6|map.indexOf(input.charAt(idx))}tailbits=max%4*6;if(tailbits===0){result.push(bits>>16&255);result.push(bits>>8&255);result.push(bits&255)}else if(tailbits===18){result.push(bits>>10&255);result.push(bits>>2&255)}else if(tailbits===12){result.push(bits>>4&255)}if(NodeBuffer){return NodeBuffer.from?NodeBuffer.from(result):new NodeBuffer(result)}return result}function representYamlBinary(object){var result="",bits=0,idx,tail,max=object.length,map=BASE64_MAP;for(idx=0;idx>18&63];result+=map[bits>>12&63];result+=map[bits>>6&63];result+=map[bits&63]}bits=(bits<<8)+object[idx]}tail=max%3;if(tail===0){result+=map[bits>>18&63];result+=map[bits>>12&63];result+=map[bits>>6&63];result+=map[bits&63]}else if(tail===2){result+=map[bits>>10&63];result+=map[bits>>4&63];result+=map[bits<<2&63];result+=map[64]}else if(tail===1){result+=map[bits>>2&63];result+=map[bits<<4&63];result+=map[64];result+=map[64]}return result}function isBinary(object){return NodeBuffer&&NodeBuffer.isBuffer(object)}module.exports=new Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},{"../type":151}],153:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlBoolean(data){if(data===null)return false;var max=data.length;return max===4&&(data==="true"||data==="True"||data==="TRUE")||max===5&&(data==="false"||data==="False"||data==="FALSE")}function constructYamlBoolean(data){return data==="true"||data==="True"||data==="TRUE"}function isBoolean(object){return Object.prototype.toString.call(object)==="[object Boolean]"}module.exports=new Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(object){return object?"true":"false"},uppercase:function(object){return object?"TRUE":"FALSE"},camelcase:function(object){return object?"True":"False"}},defaultStyle:"lowercase"})},{"../type":151}],154:[function(require,module,exports){"use strict";var common=require("../common");var Type=require("../type");var YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(data){if(data===null)return false;if(!YAML_FLOAT_PATTERN.test(data)||data[data.length-1]==="_"){return false}return true}function constructYamlFloat(data){var value,sign,base,digits;value=data.replace(/_/g,"").toLowerCase();sign=value[0]==="-"?-1:1;digits=[];if("+-".indexOf(value[0])>=0){value=value.slice(1)}if(value===".inf"){return sign===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(value===".nan"){return NaN}else if(value.indexOf(":")>=0){value.split(":").forEach(function(v){digits.unshift(parseFloat(v,10))});value=0;base=1;digits.forEach(function(d){value+=d*base;base*=60});return sign*value}return sign*parseFloat(value,10)}var SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;function representYamlFloat(object,style){var res;if(isNaN(object)){switch(style){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===object){switch(style){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===object){switch(style){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(common.isNegativeZero(object)){return"-0.0"}res=object.toString(10);return SCIENTIFIC_WITHOUT_DOT.test(res)?res.replace("e",".e"):res}function isFloat(object){return Object.prototype.toString.call(object)==="[object Number]"&&(object%1!==0||common.isNegativeZero(object))}module.exports=new Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},{"../common":140,"../type":151}],155:[function(require,module,exports){"use strict";var common=require("../common");var Type=require("../type");function isHexCode(c){return 48<=c&&c<=57||65<=c&&c<=70||97<=c&&c<=102}function isOctCode(c){return 48<=c&&c<=55}function isDecCode(c){return 48<=c&&c<=57}function resolveYamlInteger(data){if(data===null)return false;var max=data.length,index=0,hasDigits=false,ch;if(!max)return false;ch=data[index];if(ch==="-"||ch==="+"){ch=data[++index]}if(ch==="0"){if(index+1===max)return true;ch=data[++index];if(ch==="b"){index++;for(;index=0?"0b"+obj.toString(2):"-0b"+obj.toString(2).slice(1)},octal:function(obj){return obj>=0?"0"+obj.toString(8):"-0"+obj.toString(8).slice(1)},decimal:function(obj){return obj.toString(10)},hexadecimal:function(obj){return obj>=0?"0x"+obj.toString(16).toUpperCase():"-0x"+obj.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":140,"../type":151}],156:[function(require,module,exports){"use strict";var esprima;try{var _require=require;esprima=_require("esprima")}catch(_){if(typeof window!=="undefined")esprima=window.esprima}var Type=require("../../type");function resolveJavascriptFunction(data){if(data===null)return false;try{var source="("+data+")",ast=esprima.parse(source,{range:true});if(ast.type!=="Program"||ast.body.length!==1||ast.body[0].type!=="ExpressionStatement"||ast.body[0].expression.type!=="ArrowFunctionExpression"&&ast.body[0].expression.type!=="FunctionExpression"){return false}return true}catch(err){return false}}function constructJavascriptFunction(data){var source="("+data+")",ast=esprima.parse(source,{range:true}),params=[],body;if(ast.type!=="Program"||ast.body.length!==1||ast.body[0].type!=="ExpressionStatement"||ast.body[0].expression.type!=="ArrowFunctionExpression"&&ast.body[0].expression.type!=="FunctionExpression"){throw new Error("Failed to resolve function")}ast.body[0].expression.params.forEach(function(param){params.push(param.name)});body=ast.body[0].expression.body.range;if(ast.body[0].expression.body.type==="BlockStatement"){return new Function(params,source.slice(body[0]+1,body[1]-1))}return new Function(params,"return "+source.slice(body[0],body[1]))}function representJavascriptFunction(object){return object.toString()}function isFunction(object){return Object.prototype.toString.call(object)==="[object Function]"}module.exports=new Type("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},{"../../type":151}],157:[function(require,module,exports){"use strict";var Type=require("../../type");function resolveJavascriptRegExp(data){if(data===null)return false;if(data.length===0)return false;var regexp=data,tail=/\/([gim]*)$/.exec(data),modifiers="";if(regexp[0]==="/"){if(tail)modifiers=tail[1];if(modifiers.length>3)return false;if(regexp[regexp.length-modifiers.length-1]!=="/")return false}return true}function constructJavascriptRegExp(data){var regexp=data,tail=/\/([gim]*)$/.exec(data),modifiers="";if(regexp[0]==="/"){if(tail)modifiers=tail[1];regexp=regexp.slice(1,regexp.length-modifiers.length-1)}return new RegExp(regexp,modifiers)}function representJavascriptRegExp(object){var result="/"+object.source+"/";if(object.global)result+="g";if(object.multiline)result+="m";if(object.ignoreCase)result+="i";return result}function isRegExp(object){return Object.prototype.toString.call(object)==="[object RegExp]"}module.exports=new Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},{"../../type":151}],158:[function(require,module,exports){"use strict";var Type=require("../../type");function resolveJavascriptUndefined(){return true}function constructJavascriptUndefined(){return undefined}function representJavascriptUndefined(){return""}function isUndefined(object){return typeof object==="undefined"}module.exports=new Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined})},{"../../type":151}],159:[function(require,module,exports){"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(data){return data!==null?data:{}}})},{"../type":151}],160:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlMerge(data){return data==="<<"||data===null}module.exports=new Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},{"../type":151}],161:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlNull(data){if(data===null)return true;var max=data.length;return max===1&&data==="~"||max===4&&(data==="null"||data==="Null"||data==="NULL")}function constructYamlNull(){return null}function isNull(object){return object===null}module.exports=new Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":151}],162:[function(require,module,exports){"use strict";var Type=require("../type");var _hasOwnProperty=Object.prototype.hasOwnProperty;var _toString=Object.prototype.toString;function resolveYamlOmap(data){if(data===null)return true;var objectKeys=[],index,length,pair,pairKey,pairHasKey,object=data;for(index=0,length=object.length;index=1){var hi=str.charCodeAt(idx-1);var low=code;if(55296<=hi&&hi<=56319){return(hi-55296)*1024+(low-56320)+65536}return low}return code}function shouldBreak(start,mid,end){var all=[start].concat(mid).concat([end]);var previous=all[all.length-2];var next=end;var eModifierIndex=all.lastIndexOf(E_Modifier);if(eModifierIndex>1&&all.slice(1,eModifierIndex).every(function(c){return c==Extend})&&[Extend,E_Base,E_Base_GAZ].indexOf(start)==-1){return Break}var rIIndex=all.lastIndexOf(Regional_Indicator);if(rIIndex>0&&all.slice(1,rIIndex).every(function(c){return c==Regional_Indicator})&&[Prepend,Regional_Indicator].indexOf(previous)==-1){if(all.filter(function(c){return c==Regional_Indicator}).length%2==1){return BreakLastRegional}else{return BreakPenultimateRegional}}if(previous==CR&&next==LF){return NotBreak}else if(previous==Control||previous==CR||previous==LF){if(next==E_Modifier&&mid.every(function(c){return c==Extend})){return Break}else{return BreakStart}}else if(next==Control||next==CR||next==LF){return BreakStart}else if(previous==L&&(next==L||next==V||next==LV||next==LVT)){return NotBreak}else if((previous==LV||previous==V)&&(next==V||next==T)){return NotBreak}else if((previous==LVT||previous==T)&&next==T){return NotBreak}else if(next==Extend||next==ZWJ){return NotBreak}else if(next==SpacingMark){return NotBreak}else if(previous==Prepend){return NotBreak}var previousNonExtendIndex=all.indexOf(Extend)!=-1?all.lastIndexOf(Extend)-1:all.length-2;if([E_Base,E_Base_GAZ].indexOf(all[previousNonExtendIndex])!=-1&&all.slice(previousNonExtendIndex+1,-1).every(function(c){return c==Extend})&&next==E_Modifier){return NotBreak}if(previous==ZWJ&&[Glue_After_Zwj,E_Base_GAZ].indexOf(next)!=-1){return NotBreak}if(mid.indexOf(Regional_Indicator)!=-1){return Break}if(previous==Regional_Indicator&&next==Regional_Indicator){return NotBreak}return BreakStart}this.nextBreak=function(string,index){if(index===undefined){index=0}if(index<0){return 0}if(index>=string.length-1){return string.length}var prev=getGraphemeBreakProperty(codePointAt(string,index));var mid=[];for(var i=index+1;i=max){return res.substr(0,max)}while(max>res.length&&num>1){if(num&1){res+=str}num>>=1;str+=str}res+=str;res=res.substr(0,max);return res}"use strict";var padStart=function padStart(string,maxLength,fillString){if(string==null||maxLength==null){return string}var result=String(string);var targetLen=typeof maxLength==="number"?maxLength:parseInt(maxLength,10);if(isNaN(targetLen)||!isFinite(targetLen)){return result}var length=result.length;if(length>=targetLen){return result}var fill=fillString==null?"":String(fillString);if(fill===""){fill=" "}var fillLen=targetLen-length;while(fill.lengthfillLen?fill.substr(0,fillLen):fill;return truncated+result};var _extends=Object.assign||function(target){for(var i=1;i1?_len-1:0),_key=1;_key<_len;_key++){position[_key-1]=arguments[_key]}return"Unexpected token <"+token+"> at "+position.filter(Boolean).join(":")}};var tokenizeErrorTypes={unexpectedSymbol:function unexpectedSymbol(symbol){for(var _len=arguments.length,position=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){position[_key-1]=arguments[_key]}return"Unexpected symbol <"+symbol+"> at "+position.filter(Boolean).join(":")}};var tokenTypes={LEFT_BRACE:0,RIGHT_BRACE:1,LEFT_BRACKET:2,RIGHT_BRACKET:3,COLON:4,COMMA:5,STRING:6,NUMBER:7,TRUE:8,FALSE:9,NULL:10};var punctuatorTokensMap={"{":tokenTypes.LEFT_BRACE,"}":tokenTypes.RIGHT_BRACE,"[":tokenTypes.LEFT_BRACKET,"]":tokenTypes.RIGHT_BRACKET,":":tokenTypes.COLON,",":tokenTypes.COMMA};var keywordTokensMap={true:tokenTypes.TRUE,false:tokenTypes.FALSE,null:tokenTypes.NULL};var stringStates={_START_:0,START_QUOTE_OR_CHAR:1,ESCAPE:2};var escapes$1={'"':0,"\\":1,"/":2,b:3,f:4,n:5,r:6,t:7,u:8};var numberStates={_START_:0,MINUS:1,ZERO:2,DIGIT:3,POINT:4,DIGIT_FRACTION:5,EXP:6,EXP_DIGIT_OR_SIGN:7};function isDigit1to9(char){return char>="1"&&char<="9"}function isDigit(char){return char>="0"&&char<="9"}function isHex(char){return isDigit(char)||char>="a"&&char<="f"||char>="A"&&char<="F"}function isExp(char){return char==="e"||char==="E"}function parseWhitespace(input,index,line,column){var char=input.charAt(index);if(char==="\r"){index++;line++;column=1;if(input.charAt(index)==="\n"){index++}}else if(char==="\n"){index++;line++;column=1}else if(char==="\t"||char===" "){index++;column++}else{return null}return{index:index,line:line,column:column}}function parseChar(input,index,line,column){var char=input.charAt(index);if(char in punctuatorTokensMap){return{type:punctuatorTokensMap[char],line:line,column:column+1,index:index+1,value:null}}return null}function parseKeyword(input,index,line,column){for(var name in keywordTokensMap){if(keywordTokensMap.hasOwnProperty(name)&&input.substr(index,name.length)===name){return{type:keywordTokensMap[name],line:line,column:column+name.length,index:index+name.length,value:name}}}return null}function parseString$1(input,index,line,column){var startIndex=index;var state=stringStates._START_;while(index0){return{type:tokenTypes.NUMBER,line:line,column:column+passedValueIndex-startIndex,index:passedValueIndex,value:input.slice(startIndex,passedValueIndex)}}return null}var tokenize=function tokenize(input,settings){var line=1;var column=1;var index=0;var tokens=[];while(index0?tokenList[tokenList.length-1].loc.end:{line:1,column:1};error(parseErrorTypes.unexpectedEnd(),input,settings.source,loc.line,loc.column)}function parseHexEscape(hexCode){var charCode=0;for(var i=0;i<4;i++){charCode=charCode*16+parseInt(hexCode[i],16)}return String.fromCharCode(charCode)}var escapes={b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};var passEscapes=['"',"\\","/"];function parseString(string){var result="";for(var i=0;i-1}function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){data.push([key,value])}else{data[index][1]=value}return this}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;function MapCache(entries){var index=-1,length=entries?entries.length:0;this.clear();while(++index-1&&value%1==0&&value-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isObjectLike(value){return!!value&&typeof value=="object"}function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function stubArray(){return[]}function stubFalse(){return false}module.exports=cloneDeep}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],171:[function(require,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i=1;--i){code=path.charCodeAt(i);if(code===47){if(!matchedSlash){end=i;break}}else{matchedSlash=false}}if(end===-1)return hasRoot?"/":".";if(hasRoot&&end===1){return"/"}return path.slice(0,end)};function basename(path){if(typeof path!=="string")path=path+"";var start=0;var end=-1;var matchedSlash=true;var i;for(i=path.length-1;i>=0;--i){if(path.charCodeAt(i)===47){if(!matchedSlash){start=i+1;break}}else if(end===-1){matchedSlash=false;end=i+1}}if(end===-1)return"";return path.slice(start,end)}exports.basename=function(path,ext){var f=basename(path);if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length)}return f};exports.extname=function(path){if(typeof path!=="string")path=path+"";var startDot=-1;var startPart=0;var end=-1;var matchedSlash=true;var preDotState=0;for(var i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1){preDotState=-1}}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){return""}return path.slice(startDot,end)};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i1){for(var i=1;i0&&len>maxKeys){len=maxKeys}for(var i=0;i=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],174:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;iself._pos){var newData=response.substr(self._pos);if(self._charset==="x-user-defined"){var buffer=Buffer.alloc(newData.length);for(var i=0;iself._pos){self.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos))));self._pos=reader.result.byteLength}};reader.onload=function(){self.push(null)};reader.readAsArrayBuffer(response);break}if(self._xhr.readyState===rStates.DONE&&self._mode!=="ms-stream"){self.push(null)}}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer)},{"./capability":178,_process:172,buffer:128,inherits:136,"readable-stream":195}],181:[function(require,module,exports){"use strict";function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass}var codes={};function createErrorType(code,message,Base){if(!Base){Base=Error}function getMessage(arg1,arg2,arg3){if(typeof message==="string"){return message}else{return message(arg1,arg2,arg3)}}var NodeError=function(_Base){_inheritsLoose(NodeError,_Base);function NodeError(arg1,arg2,arg3){return _Base.call(this,getMessage(arg1,arg2,arg3))||this}return NodeError}(Base);NodeError.prototype.name=Base.name;NodeError.prototype.code=code;codes[code]=NodeError}function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;expected=expected.map(function(i){return String(i)});if(len>2){return"one of ".concat(thing," ").concat(expected.slice(0,len-1).join(", "),", or ")+expected[len-1]}else if(len===2){return"one of ".concat(thing," ").concat(expected[0]," or ").concat(expected[1])}else{return"of ".concat(thing," ").concat(expected[0])}}else{return"of ".concat(thing," ").concat(String(expected))}}function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}function endsWith(str,search,this_len){if(this_len===undefined||this_len>str.length){this_len=str.length}return str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){if(typeof start!=="number"){start=0}if(start+search.length>str.length){return false}else{return str.indexOf(search,start)!==-1}}createErrorType("ERR_INVALID_OPT_VALUE",function(name,value){return'The value "'+value+'" is invalid for option "'+name+'"'},TypeError);createErrorType("ERR_INVALID_ARG_TYPE",function(name,expected,actual){var determiner;if(typeof expected==="string"&&startsWith(expected,"not ")){determiner="must not be";expected=expected.replace(/^not /,"")}else{determiner="must be"}var msg;if(endsWith(name," argument")){msg="The ".concat(name," ").concat(determiner," ").concat(oneOf(expected,"type"))}else{var type=includes(name,".")?"property":"argument";msg='The "'.concat(name,'" ').concat(type," ").concat(determiner," ").concat(oneOf(expected,"type"))}msg+=". Received type ".concat(typeof actual);return msg},TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(name){return"The "+name+" method is not implemented"});createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",function(name){return"Cannot call "+name+" after a stream was destroyed"});createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",function(arg){return"Unknown encoding: "+arg},TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");module.exports.codes=codes},{}],182:[function(require,module,exports){(function(process){"use strict";var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){keys.push(key)}return keys};module.exports=Duplex;var Readable=require("./_stream_readable");var Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);{var keys=objectKeys(Writable.prototype);for(var v=0;v0){if(typeof chunk!=="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer.prototype){chunk=_uint8ArrayToBuffer(chunk)}if(addToFront){if(state.endEmitted)errorOrDestroy(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else addChunk(stream,state,chunk,true)}else if(state.ended){errorOrDestroy(stream,new ERR_STREAM_PUSH_AFTER_EOF)}else if(state.destroyed){return false}else{state.reading=false;if(state.decoder&&!encoding){chunk=state.decoder.write(chunk);if(state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,false);else maybeReadMore(stream,state)}else{addChunk(stream,state,chunk,false)}}}else if(!addToFront){state.reading=false;maybeReadMore(stream,state)}}return!state.ended&&(state.length=MAX_HWM){n=MAX_HWM}else{n--;n|=n>>>1;n|=n>>>2;n|=n>>>4;n|=n>>>8;n|=n>>>16;n++}return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(n!==n){if(state.flowing&&state.length)return state.buffer.head.data.length;else return state.length}if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n<=state.length)return n;if(!state.ended){state.needReadable=true;return 0}return state.length}Readable.prototype.read=function(n){debug("read",n);n=parseInt(n,10);var state=this._readableState;var nOrig=n;if(n!==0)state.emittedReadable=false;if(n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=state.length<=state.highWaterMark;n=0}else{state.length-=n;state.awaitDrain=0}if(state.length===0){if(!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null)this.emit("data",ret);return ret};function onEofChunk(stream,state){debug("onEofChunk");if(state.ended)return;if(state.decoder){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;if(state.sync){emitReadable(stream)}else{state.needReadable=false;if(!state.emittedReadable){state.emittedReadable=true;emitReadable_(stream)}}}function emitReadable(stream){var state=stream._readableState;debug("emitReadable",state.needReadable,state.emittedReadable);state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;process.nextTick(emitReadable_,stream)}}function emitReadable_(stream){var state=stream._readableState;debug("emitReadable_",state.destroyed,state.length,state.ended);if(!state.destroyed&&(state.length||state.ended)){stream.emit("readable");state.emittedReadable=false}state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark;flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(maybeReadMore_,stream,state)}}function maybeReadMore_(stream,state){while(!state.reading&&!state.ended&&(state.length1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp){debug("false write response, pause",state.awaitDrain);state.awaitDrain++}src.pause()}}function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EElistenerCount(dest,"error")===0)errorOrDestroy(dest,er)}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return function pipeOnDrainFunctionResult(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EElistenerCount(src,"data")){state.flowing=true;flow(src)}}}Readable.prototype.unpipe=function(dest){var state=this._readableState;var unpipeInfo={hasUnpiped:false};if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this,unpipeInfo);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i0;if(state.flowing!==false)this.resume()}else if(ev==="readable"){if(!state.endEmitted&&!state.readableListening){state.readableListening=state.needReadable=true;state.flowing=false;state.emittedReadable=false;debug("on readable",state.length,state.reading);if(state.length){emitReadable(this)}else if(!state.reading){process.nextTick(nReadingNextTick,this)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){var res=Stream.prototype.removeListener.call(this,ev,fn);if(ev==="readable"){process.nextTick(updateReadableListening,this)}return res};Readable.prototype.removeAllListeners=function(ev){var res=Stream.prototype.removeAllListeners.apply(this,arguments);if(ev==="readable"||ev===undefined){process.nextTick(updateReadableListening,this)}return res};function updateReadableListening(self){var state=self._readableState;state.readableListening=self.listenerCount("readable")>0;if(state.resumeScheduled&&!state.paused){state.flowing=true}else if(self.listenerCount("data")>0){self.resume()}}function nReadingNextTick(self){debug("readable nexttick read 0");self.read(0)}Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=!state.readableListening;resume(this,state)}state.paused=false;return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;process.nextTick(resume_,stream,state)}}function resume_(stream,state){debug("resume",state.reading);if(!state.reading){stream.read(0)}state.resumeScheduled=false;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(this._readableState.flowing!==false){debug("pause");this._readableState.flowing=false;this.emit("pause")}this._readableState.paused=true;return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);while(state.flowing&&stream.read()!==null){}}Readable.prototype.wrap=function(stream){var _this=this;var state=this._readableState;var paused=false;stream.on("end",function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)_this.push(chunk)}_this.push(null)});stream.on("data",function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=_this.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(this[i]===undefined&&typeof stream[i]==="function"){this[i]=function methodWrap(method){return function methodWrapReturnFunction(){return stream[method].apply(stream,arguments)}}(i)}}for(var n=0;n=state.length){if(state.decoder)ret=state.buffer.join("");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else{ret=state.buffer.consume(n,state.decoder)}return ret}function endReadable(stream){var state=stream._readableState;debug("endReadable",state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream)}}function endReadableNT(state,stream){debug("endReadableNT",state.endEmitted,state.length);if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end");if(state.autoDestroy){var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy()}}}}if(typeof Symbol==="function"){Readable.from=function(iterable,opts){if(from===undefined){from=require("./internal/streams/from")}return from(Readable,iterable,opts)}}function indexOf(xs,x){for(var i=0,l=xs.length;i-1))throw new ERR_UNKNOWN_ENCODING(encoding);this._writableState.defaultEncoding=encoding;return this};Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=Buffer.from(chunk,encoding)}return chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);if(chunk!==newChunk){isBuf=true;encoding="buffer";chunk=newChunk}}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length}},{key:"unshift",value:function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length}},{key:"shift",value:function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret}},{key:"clear",value:function clear(){this.head=this.tail=null;this.length=0}},{key:"join",value:function join(s){if(this.length===0)return"";var p=this.head;var ret=""+p.data;while(p=p.next){ret+=s+p.data}return ret}},{key:"concat",value:function concat(n){if(this.length===0)return Buffer.alloc(0);var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next}return ret}},{key:"consume",value:function consume(n,hasStrings){var ret;if(nstr.length?str.length:n;if(nb===str.length)ret+=str;else ret+=str.slice(0,n);n-=nb;if(n===0){if(nb===str.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=str.slice(nb)}break}++c}this.length-=c;return ret}},{key:"_getBuffer",value:function _getBuffer(n){var ret=Buffer.allocUnsafe(n);var p=this.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=buf.slice(nb)}break}++c}this.length-=c;return ret}},{key:custom,value:function value(_,options){return inspect(this,_objectSpread({},options,{depth:0,customInspect:false}))}}]);return BufferList}()},{buffer:128,util:126}],189:[function(require,module,exports){(function(process){"use strict";function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err)}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(err||null,function(err){if(!cb&&err){if(!_this._writableState){process.nextTick(emitErrorAndCloseNT,_this,err)}else if(!_this._writableState.errorEmitted){_this._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,_this,err)}else{process.nextTick(emitCloseNT,_this)}}else if(cb){process.nextTick(emitCloseNT,_this);cb(err)}else{process.nextTick(emitCloseNT,_this)}});return this}function emitErrorAndCloseNT(self,err){emitErrorNT(self,err);emitCloseNT(self)}function emitCloseNT(self){if(self._writableState&&!self._writableState.emitClose)return;if(self._readableState&&!self._readableState.emitClose)return;self.emit("close")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(self,err){self.emit("error",err)}function errorOrDestroy(stream,err){var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit("error",err)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}}).call(this,require("_process"))},{_process:172}],190:[function(require,module,exports){"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(callback){var called=false;return function(){if(called)return;called=true;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}callback.apply(this,args)}}function noop(){}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function eos(stream,opts,callback){if(typeof opts==="function")return eos(stream,null,opts);if(!opts)opts={};callback=once(callback||noop);var readable=opts.readable||opts.readable!==false&&stream.readable;var writable=opts.writable||opts.writable!==false&&stream.writable;var onlegacyfinish=function onlegacyfinish(){if(!stream.writable)onfinish()};var writableEnded=stream._writableState&&stream._writableState.finished;var onfinish=function onfinish(){writable=false;writableEnded=true;if(!readable)callback.call(stream)};var readableEnded=stream._readableState&&stream._readableState.endEmitted;var onend=function onend(){readable=false;readableEnded=true;if(!writable)callback.call(stream)};var onerror=function onerror(err){callback.call(stream,err)};var onclose=function onclose(){var err;if(readable&&!readableEnded){if(!stream._readableState||!stream._readableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}if(writable&&!writableEnded){if(!stream._writableState||!stream._writableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}};var onrequest=function onrequest(){stream.req.on("finish",onfinish)};if(isRequest(stream)){stream.on("complete",onfinish);stream.on("abort",onclose);if(stream.req)onrequest();else stream.on("request",onrequest)}else if(writable&&!stream._writableState){stream.on("end",onlegacyfinish);stream.on("close",onlegacyfinish)}stream.on("end",onend);stream.on("finish",onfinish);if(opts.error!==false)stream.on("error",onerror);stream.on("close",onclose);return function(){stream.removeListener("complete",onfinish);stream.removeListener("abort",onclose);stream.removeListener("request",onrequest);if(stream.req)stream.req.removeListener("finish",onfinish);stream.removeListener("end",onlegacyfinish);stream.removeListener("close",onlegacyfinish);stream.removeListener("finish",onfinish);stream.removeListener("end",onend);stream.removeListener("error",onerror);stream.removeListener("close",onclose)}}module.exports=eos},{"../../../errors":181}],191:[function(require,module,exports){module.exports=function(){throw new Error("Readable.from is not available in the browser")}},{}],192:[function(require,module,exports){"use strict";var eos;function once(callback){var called=false;return function(){if(called)return;called=true;callback.apply(void 0,arguments)}}var _require$codes=require("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(err){if(err)throw err}function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}function destroyer(stream,reading,writing,callback){callback=once(callback);var closed=false;stream.on("close",function(){closed=true});if(eos===undefined)eos=require("./end-of-stream");eos(stream,{readable:reading,writable:writing},function(err){if(err)return callback(err);closed=true;callback()});var destroyed=false;return function(err){if(closed)return;if(destroyed)return;destroyed=true;if(isRequest(stream))return stream.abort();if(typeof stream.destroy==="function")return stream.destroy();callback(err||new ERR_STREAM_DESTROYED("pipe"))}}function call(fn){fn()}function pipe(from,to){return from.pipe(to)}function popCallback(streams){if(!streams.length)return noop;if(typeof streams[streams.length-1]!=="function")return noop;return streams.pop()}function pipeline(){for(var _len=arguments.length,streams=new Array(_len),_key=0;_key<_len;_key++){streams[_key]=arguments[_key]}var callback=popCallback(streams);if(Array.isArray(streams[0]))streams=streams[0];if(streams.length<2){throw new ERR_MISSING_ARGS("streams")}var error;var destroys=streams.map(function(stream,i){var reading=i0;return destroyer(stream,reading,writing,function(err){if(!error)error=err;if(err)destroys.forEach(call);if(reading)return;destroys.forEach(call);callback(error)})});return streams.reduce(pipe)}module.exports=pipeline},{"../../../errors":181,"./end-of-stream":190}],193:[function(require,module,exports){"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:"highWaterMark";throw new ERR_INVALID_OPT_VALUE(name,hwm)}return Math.floor(hwm)}return state.objectMode?16:16*1024}module.exports={getHighWaterMark:getHighWaterMark}},{"../../../errors":181}],194:[function(require,module,exports){module.exports=require("events").EventEmitter},{events:131}],195:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Stream=exports;exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js");exports.finished=require("./lib/internal/streams/end-of-stream.js");exports.pipeline=require("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":182,"./lib/_stream_passthrough.js":183,"./lib/_stream_readable.js":184,"./lib/_stream_transform.js":185,"./lib/_stream_writable.js":186,"./lib/internal/streams/end-of-stream.js":190,"./lib/internal/streams/pipeline.js":192}],196:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer;var isEncoding=Buffer.isEncoding||function(encoding){encoding=""+encoding;switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(enc){if(!enc)return"utf8";var retried;while(true){switch(enc){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase();retried=true}}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!=="string"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;nb=4;break;case"utf8":this.fillLast=utf8FillLast;nb=4;break;case"base64":this.text=base64Text;this.end=base64End;nb=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return"";var r;var i;if(this.lastNeed){r=this.fillLast(buf);if(r===undefined)return"";i=this.lastNeed;this.lastNeed=0}else{i=0}if(i>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j=0){if(nb>0){if(nb===2)nb=0;else self.lastNeed=nb-3}return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128){self.lastNeed=0;return"�"}if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128){self.lastNeed=1;return"�"}if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128){self.lastNeed=2;return"�"}}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,buf,p);if(r!==undefined)return r;if(this.lastNeed<=buf.length){buf.copy(this.lastChar,p,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,p,0,buf.length);this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);buf.copy(this.lastChar,0,end);return buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+"�";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=buf[buf.length-1];return buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString("base64",i);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=buf[buf.length-1]}else{this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1]}return buf.toString("base64",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}},{"safe-buffer":176}],197:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.apply=apply;var isObject=function isObject(val){return val!=null&&(typeof val==="undefined"?"undefined":_typeof(val))==="object"&&Array.isArray(val)===false};function apply(origin,patch){if(!isObject(patch)){return patch}var result=!isObject(origin)?{}:Object.assign({},origin);Object.keys(patch).forEach(function(key){var patchVal=patch[key];if(patchVal===null){delete result[key]}else{result[key]=apply(result[key],patchVal)}});return result}exports.default=apply},{}],198:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.URI=global.URI||{})})(this,function(exports){"use strict";function merge(){for(var _len=arguments.length,sets=Array(_len),_key=0;_key<_len;_key++){sets[_key]=arguments[_key]}if(sets.length>1){sets[0]=sets[0].slice(0,-1);var xl=sets.length-1;for(var x=1;x= 0x80 (not a basic code point)","invalid-input":"Invalid input"};var baseMinusTMin=base-tMin;var floor=Math.floor;var stringFromCharCode=String.fromCharCode;function error$1(type){throw new RangeError(errors[type])}function map(array,fn){var result=[];var length=array.length;while(length--){result[length]=fn(array[length])}return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[];var counter=0;var length=string.length;while(counter=55296&&value<=56319&&counter>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))};var decode=function decode(input){var output=[];var inputLength=input.length;var i=0;var n=initialN;var bias=initialBias;var basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(var j=0;j=128){error$1("not-basic")}output.push(input.charCodeAt(j))}for(var index=basic>0?basic+1:0;index=inputLength){error$1("invalid-input")}var digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error$1("overflow")}i+=digit*w;var t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digitfloor(maxInt/baseMinusT)){error$1("overflow")}w*=baseMinusT}var out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error$1("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return String.fromCodePoint.apply(String,output)};var encode=function encode(input){var output=[];input=ucs2decode(input);var inputLength=input.length;var n=initialN;var delta=0;var bias=initialBias;var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=input[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var _currentValue2=_step.value;if(_currentValue2<128){output.push(stringFromCharCode(_currentValue2))}}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}var basicLength=output.length;var handledCPCount=basicLength;if(basicLength){output.push(delimiter)}while(handledCPCount=n&¤tValuefloor((maxInt-delta)/handledCPCountPlusOne)){error$1("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=input[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var _currentValue=_step3.value;if(_currentValuemaxInt){error$1("overflow")}if(_currentValue==n){var q=delta;for(var k=base;;k+=base){var t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q>6|192).toString(16).toUpperCase()+"%"+(c&63|128).toString(16).toUpperCase();else e="%"+(c>>12|224).toString(16).toUpperCase()+"%"+(c>>6&63|128).toString(16).toUpperCase()+"%"+(c&63|128).toString(16).toUpperCase();return e}function pctDecChars(str){var newStr="";var i=0;var il=str.length;while(i=194&&c<224){if(il-i>=6){var c2=parseInt(str.substr(i+4,2),16);newStr+=String.fromCharCode((c&31)<<6|c2&63)}else{newStr+=str.substr(i,6)}i+=6}else if(c>=224){if(il-i>=9){var _c=parseInt(str.substr(i+4,2),16);var c3=parseInt(str.substr(i+7,2),16);newStr+=String.fromCharCode((c&15)<<12|(_c&63)<<6|c3&63)}else{newStr+=str.substr(i,9)}i+=9}else{newStr+=str.substr(i,3);i+=3}}return newStr}function _normalizeComponentEncoding(components,protocol){function decodeUnreserved(str){var decStr=pctDecChars(str);return!decStr.match(protocol.UNRESERVED)?str:decStr}if(components.scheme)components.scheme=String(components.scheme).replace(protocol.PCT_ENCODED,decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME,"");if(components.userinfo!==undefined)components.userinfo=String(components.userinfo).replace(protocol.PCT_ENCODED,decodeUnreserved).replace(protocol.NOT_USERINFO,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);if(components.host!==undefined)components.host=String(components.host).replace(protocol.PCT_ENCODED,decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);if(components.path!==undefined)components.path=String(components.path).replace(protocol.PCT_ENCODED,decodeUnreserved).replace(components.scheme?protocol.NOT_PATH:protocol.NOT_PATH_NOSCHEME,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);if(components.query!==undefined)components.query=String(components.query).replace(protocol.PCT_ENCODED,decodeUnreserved).replace(protocol.NOT_QUERY,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);if(components.fragment!==undefined)components.fragment=String(components.fragment).replace(protocol.PCT_ENCODED,decodeUnreserved).replace(protocol.NOT_FRAGMENT,pctEncChar).replace(protocol.PCT_ENCODED,toUpperCase);return components}function _stripLeadingZeros(str){return str.replace(/^0*(.*)/,"$1")||"0"}function _normalizeIPv4(host,protocol){var matches=host.match(protocol.IPV4ADDRESS)||[];var _matches=slicedToArray(matches,2),address=_matches[1];if(address){return address.split(".").map(_stripLeadingZeros).join(".")}else{return host}}function _normalizeIPv6(host,protocol){var matches=host.match(protocol.IPV6ADDRESS)||[];var _matches2=slicedToArray(matches,3),address=_matches2[1],zone=_matches2[2];if(address){var _address$toLowerCase$=address.toLowerCase().split("::").reverse(),_address$toLowerCase$2=slicedToArray(_address$toLowerCase$,2),last=_address$toLowerCase$2[0],first=_address$toLowerCase$2[1];var firstFields=first?first.split(":").map(_stripLeadingZeros):[];var lastFields=last.split(":").map(_stripLeadingZeros);var isLastFieldIPv4Address=protocol.IPV4ADDRESS.test(lastFields[lastFields.length-1]);var fieldCount=isLastFieldIPv4Address?7:8;var lastFieldsStart=lastFields.length-fieldCount;var fields=Array(fieldCount);for(var x=0;x1){var newFirst=fields.slice(0,longestZeroFields.index);var newLast=fields.slice(longestZeroFields.index+longestZeroFields.length);newHost=newFirst.join(":")+"::"+newLast.join(":")}else{newHost=fields.join(":")}if(zone){newHost+="%"+zone}return newHost}else{return host}}var URI_PARSE=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i;var NO_MATCH_IS_UNDEFINED="".match(/(){0}/)[1]===undefined;function parse(uriString){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var components={};var protocol=options.iri!==false?IRI_PROTOCOL:URI_PROTOCOL;if(options.reference==="suffix")uriString=(options.scheme?options.scheme+":":"")+"//"+uriString;var matches=uriString.match(URI_PARSE);if(matches){if(NO_MATCH_IS_UNDEFINED){components.scheme=matches[1];components.userinfo=matches[3];components.host=matches[4];components.port=parseInt(matches[5],10);components.path=matches[6]||"";components.query=matches[7];components.fragment=matches[8];if(isNaN(components.port)){components.port=matches[5]}}else{components.scheme=matches[1]||undefined;components.userinfo=uriString.indexOf("@")!==-1?matches[3]:undefined;components.host=uriString.indexOf("//")!==-1?matches[4]:undefined;components.port=parseInt(matches[5],10);components.path=matches[6]||"";components.query=uriString.indexOf("?")!==-1?matches[7]:undefined;components.fragment=uriString.indexOf("#")!==-1?matches[8]:undefined;if(isNaN(components.port)){components.port=uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?matches[4]:undefined}}if(components.host){components.host=_normalizeIPv6(_normalizeIPv4(components.host,protocol),protocol)}if(components.scheme===undefined&&components.userinfo===undefined&&components.host===undefined&&components.port===undefined&&!components.path&&components.query===undefined){components.reference="same-document"}else if(components.scheme===undefined){components.reference="relative"}else if(components.fragment===undefined){components.reference="absolute"}else{components.reference="uri"}if(options.reference&&options.reference!=="suffix"&&options.reference!==components.reference){components.error=components.error||"URI is not a "+options.reference+" reference."}var schemeHandler=SCHEMES[(options.scheme||components.scheme||"").toLowerCase()];if(!options.unicodeSupport&&(!schemeHandler||!schemeHandler.unicodeSupport)){if(components.host&&(options.domainHost||schemeHandler&&schemeHandler.domainHost)){try{components.host=punycode.toASCII(components.host.replace(protocol.PCT_ENCODED,pctDecChars).toLowerCase())}catch(e){components.error=components.error||"Host's domain name can not be converted to ASCII via punycode: "+e}}_normalizeComponentEncoding(components,URI_PROTOCOL)}else{_normalizeComponentEncoding(components,protocol)}if(schemeHandler&&schemeHandler.parse){schemeHandler.parse(components,options)}}else{components.error=components.error||"URI can not be parsed."}return components}function _recomposeAuthority(components,options){var protocol=options.iri!==false?IRI_PROTOCOL:URI_PROTOCOL;var uriTokens=[];if(components.userinfo!==undefined){uriTokens.push(components.userinfo);uriTokens.push("@")}if(components.host!==undefined){uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host),protocol),protocol).replace(protocol.IPV6ADDRESS,function(_,$1,$2){return"["+$1+($2?"%25"+$2:"")+"]"}))}if(typeof components.port==="number"){uriTokens.push(":");uriTokens.push(components.port.toString(10))}return uriTokens.length?uriTokens.join(""):undefined}var RDS1=/^\.\.?\//;var RDS2=/^\/\.(\/|$)/;var RDS3=/^\/\.\.(\/|$)/;var RDS5=/^\/?(?:.|\n)*?(?=\/|$)/;function removeDotSegments(input){var output=[];while(input.length){if(input.match(RDS1)){input=input.replace(RDS1,"")}else if(input.match(RDS2)){input=input.replace(RDS2,"/")}else if(input.match(RDS3)){input=input.replace(RDS3,"/");output.pop()}else if(input==="."||input===".."){input=""}else{var im=input.match(RDS5);if(im){var s=im[0];input=input.slice(s.length);output.push(s)}else{throw new Error("Unexpected dot segment condition")}}}return output.join("")}function serialize(components){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var protocol=options.iri?IRI_PROTOCOL:URI_PROTOCOL;var uriTokens=[];var schemeHandler=SCHEMES[(options.scheme||components.scheme||"").toLowerCase()];if(schemeHandler&&schemeHandler.serialize)schemeHandler.serialize(components,options);if(components.host){if(protocol.IPV6ADDRESS.test(components.host)){}else if(options.domainHost||schemeHandler&&schemeHandler.domainHost){try{components.host=!options.iri?punycode.toASCII(components.host.replace(protocol.PCT_ENCODED,pctDecChars).toLowerCase()):punycode.toUnicode(components.host)}catch(e){components.error=components.error||"Host's domain name can not be converted to "+(!options.iri?"ASCII":"Unicode")+" via punycode: "+e}}}_normalizeComponentEncoding(components,protocol);if(options.reference!=="suffix"&&components.scheme){uriTokens.push(components.scheme);uriTokens.push(":")}var authority=_recomposeAuthority(components,options);if(authority!==undefined){if(options.reference!=="suffix"){uriTokens.push("//")}uriTokens.push(authority);if(components.path&&components.path.charAt(0)!=="/"){uriTokens.push("/")}}if(components.path!==undefined){var s=components.path;if(!options.absolutePath&&(!schemeHandler||!schemeHandler.absolutePath)){s=removeDotSegments(s)}if(authority===undefined){s=s.replace(/^\/\//,"/%2F")}uriTokens.push(s)}if(components.query!==undefined){uriTokens.push("?");uriTokens.push(components.query)}if(components.fragment!==undefined){uriTokens.push("#");uriTokens.push(components.fragment)}return uriTokens.join("")}function resolveComponents(base,relative){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var skipNormalization=arguments[3];var target={};if(!skipNormalization){base=parse(serialize(base,options),options);relative=parse(serialize(relative,options),options)}options=options||{};if(!options.tolerant&&relative.scheme){target.scheme=relative.scheme;target.userinfo=relative.userinfo;target.host=relative.host;target.port=relative.port;target.path=removeDotSegments(relative.path||"");target.query=relative.query}else{if(relative.userinfo!==undefined||relative.host!==undefined||relative.port!==undefined){target.userinfo=relative.userinfo;target.host=relative.host;target.port=relative.port;target.path=removeDotSegments(relative.path||"");target.query=relative.query}else{if(!relative.path){target.path=base.path;if(relative.query!==undefined){target.query=relative.query}else{target.query=base.query}}else{if(relative.path.charAt(0)==="/"){target.path=removeDotSegments(relative.path)}else{if((base.userinfo!==undefined||base.host!==undefined||base.port!==undefined)&&!base.path){target.path="/"+relative.path}else if(!base.path){target.path=relative.path}else{target.path=base.path.slice(0,base.path.lastIndexOf("/")+1)+relative.path}target.path=removeDotSegments(target.path)}target.query=relative.query}target.userinfo=base.userinfo;target.host=base.host;target.port=base.port}target.scheme=base.scheme}target.fragment=relative.fragment;return target}function resolve(baseURI,relativeURI,options){var schemelessOptions=assign({scheme:"null"},options);return serialize(resolveComponents(parse(baseURI,schemelessOptions),parse(relativeURI,schemelessOptions),schemelessOptions,true),schemelessOptions)}function normalize(uri,options){if(typeof uri==="string"){uri=serialize(parse(uri,options),options)}else if(typeOf(uri)==="object"){uri=parse(serialize(uri,options),options)}return uri}function equal(uriA,uriB,options){if(typeof uriA==="string"){uriA=serialize(parse(uriA,options),options)}else if(typeOf(uriA)==="object"){uriA=serialize(uriA,options)}if(typeof uriB==="string"){uriB=serialize(parse(uriB,options),options)}else if(typeOf(uriB)==="object"){uriB=serialize(uriB,options)}return uriA===uriB}function escapeComponent(str,options){return str&&str.toString().replace(!options||!options.iri?URI_PROTOCOL.ESCAPE:IRI_PROTOCOL.ESCAPE,pctEncChar)}function unescapeComponent(str,options){return str&&str.toString().replace(!options||!options.iri?URI_PROTOCOL.PCT_ENCODED:IRI_PROTOCOL.PCT_ENCODED,pctDecChars)}var handler={scheme:"http",domainHost:true,parse:function parse(components,options){if(!components.host){components.error=components.error||"HTTP URIs must have a host."}return components},serialize:function serialize(components,options){if(components.port===(String(components.scheme).toLowerCase()!=="https"?80:443)||components.port===""){components.port=undefined}if(!components.path){components.path="/"}return components}};var handler$1={scheme:"https",domainHost:handler.domainHost,parse:handler.parse,serialize:handler.serialize};var O={};var isIRI=true;var UNRESERVED$$="[A-Za-z0-9\\-\\.\\_\\~"+(isIRI?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]";var HEXDIG$$="[0-9A-Fa-f]";var PCT_ENCODED$=subexp(subexp("%[EFef]"+HEXDIG$$+"%"+HEXDIG$$+HEXDIG$$+"%"+HEXDIG$$+HEXDIG$$)+"|"+subexp("%[89A-Fa-f]"+HEXDIG$$+"%"+HEXDIG$$+HEXDIG$$)+"|"+subexp("%"+HEXDIG$$+HEXDIG$$));var ATEXT$$="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]";var QTEXT$$="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]";var VCHAR$$=merge(QTEXT$$,'[\\"\\\\]');var SOME_DELIMS$$="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]";var UNRESERVED=new RegExp(UNRESERVED$$,"g");var PCT_ENCODED=new RegExp(PCT_ENCODED$,"g");var NOT_LOCAL_PART=new RegExp(merge("[^]",ATEXT$$,"[\\.]",'[\\"]',VCHAR$$),"g");var NOT_HFNAME=new RegExp(merge("[^]",UNRESERVED$$,SOME_DELIMS$$),"g");var NOT_HFVALUE=NOT_HFNAME;function decodeUnreserved(str){var decStr=pctDecChars(str);return!decStr.match(UNRESERVED)?str:decStr}var handler$2={scheme:"mailto",parse:function parse$$1(components,options){var mailtoComponents=components;var to=mailtoComponents.to=mailtoComponents.path?mailtoComponents.path.split(","):[];mailtoComponents.path=undefined;if(mailtoComponents.query){var unknownHeaders=false;var headers={};var hfields=mailtoComponents.query.split("&");for(var x=0,xl=hfields.length;x",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var queryIndex=url.indexOf("?"),splitter=queryIndex!==-1&&queryIndex127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){this.hostname=punycode.toASCII(this.hostname)}var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/"){rest="/"+rest}}}if(!unsafeProtocol[lowerProto]){for(var i=0,l=autoEscape.length;i0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last==="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host}},{"./util":200,punycode:127,querystring:175}],200:[function(require,module,exports){"use strict";module.exports={isString:function(arg){return typeof arg==="string"},isObject:function(arg){return typeof arg==="object"&&arg!==null},isNull:function(arg){return arg===null},isNullOrUndefined:function(arg){return arg==null}}},{}],201:[function(require,module,exports){(function(global){module.exports=deprecate;function deprecate(fn,msg){if(config("noDeprecation")){return fn}var warned=false;function deprecated(){if(!warned){if(config("throwDeprecation")){throw new Error(msg)}else if(config("traceDeprecation")){console.trace(msg)}else{console.warn(msg)}warned=true}return fn.apply(this,arguments)}return deprecated}function config(name){try{if(!global.localStorage)return false}catch(_){return false}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==="true"}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],202:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}else{module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}},{}],203:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==="object"&&typeof arg.copy==="function"&&typeof arg.fill==="function"&&typeof arg.readUInt8==="function"}},{}],204:[function(require,module,exports){(function(process,global){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){var objects=[];for(var i=0;i=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":203,_process:172,inherits:202}],205:[function(require,module,exports){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){var target={};for(var i=0;i checkpoint");er.position=position;er.checkpoint=this.checkpoint;throw er}this.result+=this.source.slice(this.checkpoint,position);this.checkpoint=position;return this};StringBuilder.prototype.escapeChar=function(){var character,esc;character=this.source.charCodeAt(this.checkpoint);esc=ESCAPE_SEQUENCES[character]||encodeHex(character);this.result+=esc;this.checkpoint+=1;return this};StringBuilder.prototype.finish=function(){if(this.source.length>this.checkpoint){this.takeUpTo(this.source.length)}};function writeScalar(state,object,level){var simple,first,spaceWrap,folded,literal,single,double,sawLineFeed,linePosition,longestLine,indent,max,character,position,escapeSeq,hexEsc,previous,lineLength,modifier,trailingLineBreaks,result;if(0===object.length){state.dump="''";return}if(object.indexOf("!include")==0){state.dump=""+object;return}if(object.indexOf("!$$$novalue")==0){state.dump="";return}if(-1!==DEPRECATED_BOOLEANS_SYNTAX.indexOf(object)){state.dump="'"+object+"'";return}simple=true;first=object.length?object.charCodeAt(0):0;spaceWrap=CHAR_SPACE===first||CHAR_SPACE===object.charCodeAt(object.length-1);if(CHAR_MINUS===first||CHAR_QUESTION===first||CHAR_COMMERCIAL_AT===first||CHAR_GRAVE_ACCENT===first){simple=false}if(spaceWrap){simple=false;folded=false;literal=false}else{folded=true;literal=true}single=true;double=new StringBuilder(object);sawLineFeed=false;linePosition=0;longestLine=0;indent=state.indent*level;max=80;if(indent<40){max-=indent}else{max=40}for(position=0;position0){previous=object.charCodeAt(position-1);if(previous===CHAR_SPACE){literal=false;folded=false}}if(folded){lineLength=position-linePosition;linePosition=position;if(lineLength>longestLine){longestLine=lineLength}}}if(character!==CHAR_DOUBLE_QUOTE){single=false}double.takeUpTo(position);double.escapeChar()}if(simple&&testImplicitResolving(state,object)){simple=false}modifier="";if(folded||literal){trailingLineBreaks=0;if(object.charCodeAt(object.length-1)===CHAR_LINE_FEED){trailingLineBreaks+=1;if(object.charCodeAt(object.length-2)===CHAR_LINE_FEED){trailingLineBreaks+=1}}if(trailingLineBreaks===0){modifier="-"}else if(trailingLineBreaks===2){modifier="+"}}if(literal&&longestLine"+modifier+"\n"+indentString(result,indent)}else if(literal){if(!modifier){object=object.replace(/\n$/,"")}state.dump="|"+modifier+"\n"+indentString(object,indent)}else if(double){double.finish();state.dump='"'+double.result+'"'}else{throw new Error("Failed to dump scalar value")}return}function fold(object,max){var result="",position=0,length=object.length,trailing=/\n+$/.exec(object),newLine;if(trailing){length=trailing.index+1}while(positionlength||newLine===-1){if(result){result+="\n\n"}result+=foldLine(object.slice(position,length),max);position=length}else{if(result){result+="\n\n"}result+=foldLine(object.slice(position,newLine),max);position=newLine+1}}if(trailing&&trailing[0]!=="\n"){result+=trailing[0]}return result}function foldLine(line,max){if(line===""){return line}var foldRe=/[^\s] [^\s]/g,result="",prevMatch=0,foldStart=0,match=foldRe.exec(line),index,foldEnd,folded;while(match){index=match.index;if(index-foldStart>max){if(prevMatch!==foldStart){foldEnd=prevMatch}else{foldEnd=index}if(result){result+="\n"}folded=line.slice(foldStart,foldEnd);result+=folded;foldStart=foldEnd+1}prevMatch=index+1;match=foldRe.exec(line)}if(result){result+="\n"}if(foldStart!==prevMatch&&line.length-foldStart>max){result+=line.slice(foldStart,prevMatch)+"\n"+line.slice(prevMatch+1)}else{result+=line.slice(foldStart)}return result}function simpleChar(character){return CHAR_TAB!==character&&CHAR_LINE_FEED!==character&&CHAR_CARRIAGE_RETURN!==character&&CHAR_COMMA!==character&&CHAR_LEFT_SQUARE_BRACKET!==character&&CHAR_RIGHT_SQUARE_BRACKET!==character&&CHAR_LEFT_CURLY_BRACKET!==character&&CHAR_RIGHT_CURLY_BRACKET!==character&&CHAR_SHARP!==character&&CHAR_AMPERSAND!==character&&CHAR_ASTERISK!==character&&CHAR_EXCLAMATION!==character&&CHAR_VERTICAL_LINE!==character&&CHAR_GREATER_THAN!==character&&CHAR_SINGLE_QUOTE!==character&&CHAR_DOUBLE_QUOTE!==character&&CHAR_PERCENT!==character&&CHAR_COLON!==character&&!ESCAPE_SEQUENCES[character]&&!needsHexEscape(character)}function needsHexEscape(character){return!(32<=character&&character<=126||133===character||160<=character&&character<=55295||57344<=character&&character<=65533||65536<=character&&character<=1114111)}function writeFlowSequence(state,level,object){var _result="",_tag=state.tag,index,length;for(index=0,length=object.length;index1024){pairBuffer+="? "}pairBuffer+=state.dump+": ";if(!writeNode(state,level,objectValue,false,false)){continue}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump="{"+_result+"}"}function writeBlockMapping(state,level,object,compact){var _result="",_tag=state.tag,objectKeyList=Object.keys(object),index,length,objectKey,objectValue,explicitPair,pairBuffer;for(index=0,length=objectKeyList.length;index1024;if(explicitPair){if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+="?"}else{pairBuffer+="? "}}pairBuffer+=state.dump;if(explicitPair){pairBuffer+=generateNextLine(state,level)}if(!writeNode(state,level+1,objectValue,true,explicitPair)){continue}if(state.dump&&CHAR_LINE_FEED===state.dump.charCodeAt(0)){pairBuffer+=":"}else{pairBuffer+=": "}pairBuffer+=state.dump;_result+=pairBuffer}state.tag=_tag;state.dump=_result||"{}"}function detectType(state,object,explicit){var _result,typeList,index,length,type,style;typeList=explicit?state.explicitTypes:state.implicitTypes;for(index=0,length=typeList.length;index tag resolver accepts not "'+style+'" style')}state.dump=_result}return true}}return false}function writeNode(state,level,object,block,compact){state.tag=null;state.dump=object;if(!detectType(state,object,false)){detectType(state,object,true)}var type=_toString.call(state.dump);if(block){block=0>state.flowLevel||state.flowLevel>level}if(null!==state.tag&&"?"!==state.tag||2!==state.indent&&level>0){compact=false}var objectOrArray="[object Object]"===type||"[object Array]"===type,duplicateIndex,duplicate;if(objectOrArray){duplicateIndex=state.duplicates.indexOf(object);duplicate=duplicateIndex!==-1}if(duplicate&&state.usedDuplicates[duplicateIndex]){state.dump="*ref_"+duplicateIndex}else{if(objectOrArray&&duplicate&&!state.usedDuplicates[duplicateIndex]){state.usedDuplicates[duplicateIndex]=true}if("[object Object]"===type){if(block&&0!==Object.keys(state.dump).length){writeBlockMapping(state,level,state.dump,compact);if(duplicate){state.dump="&ref_"+duplicateIndex+(0===level?"\n":"")+state.dump}}else{writeFlowMapping(state,level,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if("[object Array]"===type){if(block&&0!==state.dump.length){writeBlockSequence(state,level,state.dump,compact);if(duplicate){state.dump="&ref_"+duplicateIndex+(0===level?"\n":"")+state.dump}}else{writeFlowSequence(state,level,state.dump);if(duplicate){state.dump="&ref_"+duplicateIndex+" "+state.dump}}}else if("[object String]"===type){if("?"!==state.tag){writeScalar(state,state.dump,level)}}else{if(state.skipInvalid){return false}throw new YAMLException("unacceptable kind of an object to dump "+type)}if(null!==state.tag&&"?"!==state.tag){state.dump="!<"+state.tag+"> "+state.dump}}return true}function getDuplicateReferences(object,state){var objects=[],duplicatesIndexes=[],index,length;inspectNode(object,objects,duplicatesIndexes);for(index=0,length=duplicatesIndexes.length;index>10)+55296,(c-65536&1023)+56320)}var simpleEscapeCheck=new Array(256);var simpleEscapeMap=new Array(256);var customEscapeCheck=new Array(256);var customEscapeMap=new Array(256);for(var i=0;i<256;i++){customEscapeMap[i]=simpleEscapeMap[i]=simpleEscapeSequence(i);simpleEscapeCheck[i]=simpleEscapeMap[i]?1:0;customEscapeCheck[i]=1;if(!simpleEscapeCheck[i]){customEscapeMap[i]="\\"+String.fromCharCode(i)}}var State=function(){function State(input,options){this.errorMap={};this.errors=[];this.lines=[];this.input=input;this.filename=options["filename"]||null;this.schema=options["schema"]||DEFAULT_FULL_SCHEMA;this.onWarning=options["onWarning"]||null;this.legacy=options["legacy"]||false;this.allowAnyEscape=options["allowAnyEscape"]||false;this.ignoreDuplicateKeys=options["ignoreDuplicateKeys"]||false;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=input.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}return State}();function generateError(state,message,isWarning){if(isWarning===void 0){isWarning=false}return new YAMLException(message,new Mark(state.filename,state.input,state.position,state.line,state.position-state.lineStart),isWarning)}function throwErrorFromPosition(state,position,message,isWarning,toLineEnd){if(isWarning===void 0){isWarning=false}if(toLineEnd===void 0){toLineEnd=false}var line=positionToLine(state,position);if(!line){return}var hash=message+position;if(state.errorMap[hash]){return}var mark=new Mark(state.filename,state.input,position,line.line,position-line.start);if(toLineEnd){mark.toLineEnd=true}var error=new YAMLException(message,mark,isWarning);state.errors.push(error)}function throwError(state,message){var error=generateError(state,message);var hash=error.message+error.mark.position;if(state.errorMap[hash]){return}state.errors.push(error);state.errorMap[hash]=1;var or=state.position;while(true){if(state.position>=state.input.length-1){return}var c=state.input.charAt(state.position);if(c=="\n"){state.position--;if(state.position==or){state.position+=1}return}if(c=="\r"){state.position--;if(state.position==or){state.position+=1}return}state.position++}}function throwWarning(state,message){var error=generateError(state,message);if(state.onWarning){state.onWarning.call(null,error)}else{}}var directiveHandlers={YAML:function handleYamlDirective(state,name,args){var match,major,minor;if(null!==state.version){throwError(state,"duplication of %YAML directive")}if(1!==args.length){throwError(state,"YAML directive accepts exactly one argument")}match=/^([0-9]+)\.([0-9]+)$/.exec(args[0]);if(null===match){throwError(state,"ill-formed argument of the YAML directive")}major=parseInt(match[1],10);minor=parseInt(match[2],10);if(1!==major){throwError(state,"found incompatible YAML document (version 1.2 is required)")}state.version=args[0];state.checkLineBreaks=minor<2;if(2!==minor){throwError(state,"found incompatible YAML document (version 1.2 is required)")}},TAG:function handleTagDirective(state,name,args){var handle,prefix;if(2!==args.length){throwError(state,"TAG directive accepts exactly two arguments")}handle=args[0];prefix=args[1];if(!PATTERN_TAG_HANDLE.test(handle)){throwError(state,"ill-formed tag handle (first argument) of the TAG directive")}if(_hasOwnProperty.call(state.tagMap,handle)){throwError(state,'there is a previously declared suffix for "'+handle+'" tag handle')}if(!PATTERN_TAG_URI.test(prefix)){throwError(state,"ill-formed tag prefix (second argument) of the TAG directive")}state.tagMap[handle]=prefix}};function captureSegment(state,start,end,checkJson){var _position,_length,_character,_result;var scalar=state.result;if(scalar.startPosition==-1){scalar.startPosition=start}if(start<=end){_result=state.input.slice(start,end);if(checkJson){for(_position=0,_length=_result.length;_position<_length;_position+=1){_character=_result.charCodeAt(_position);if(!(9===_character||32<=_character&&_character<=1114111)){throwError(state,"expected valid JSON character")}}}else if(PATTERN_NON_PRINTABLE.test(_result)){throwError(state,"the stream contains non-printable characters")}scalar.value+=_result;scalar.endPosition=end}}function mergeMappings(state,destination,source){var sourceKeys,key,index,quantity;if(!common.isObject(source)){throwError(state,"cannot merge mappings; the provided source object is unacceptable")}sourceKeys=Object.keys(source);for(index=0,quantity=sourceKeys.length;indexposition){break}line=state.lines[i]}if(!line){return{start:0,line:0}}return line}function skipSeparationSpace(state,allowComments,checkIndent){var lineBreaks=0,ch=state.input.charCodeAt(state.position);while(0!==ch){while(is_WHITE_SPACE(ch)){if(ch===9){state.errors.push(generateError(state,"Using tabs can lead to unpredictable results",true))}ch=state.input.charCodeAt(++state.position)}if(allowComments&&35===ch){do{ch=state.input.charCodeAt(++state.position)}while(ch!==10&&ch!==13&&0!==ch)}if(is_EOL(ch)){readLineBreak(state);ch=state.input.charCodeAt(state.position);lineBreaks++;state.lineIndent=0;while(32===ch){state.lineIndent++;ch=state.input.charCodeAt(++state.position)}}else{break}}if(-1!==checkIndent&&0!==lineBreaks&&state.lineIndent1){scalar.value+=common.repeat("\n",count-1)}}function readPlainScalar(state,nodeIndent,withinFlowCollection){var preceding,following,captureStart,captureEnd,hasPendingContent,_line,_lineStart,_lineIndent,_kind=state.kind,_result=state.result,ch;var state_result=ast.newScalar();state_result.plainScalar=true;state.result=state_result;ch=state.input.charCodeAt(state.position);if(is_WS_OR_EOL(ch)||is_FLOW_INDICATOR(ch)||35===ch||38===ch||42===ch||33===ch||124===ch||62===ch||39===ch||34===ch||37===ch||64===ch||96===ch){return false}if(63===ch||45===ch){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){return false}}state.kind="scalar";captureStart=captureEnd=state.position;hasPendingContent=false;while(0!==ch){if(58===ch){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)||withinFlowCollection&&is_FLOW_INDICATOR(following)){break}}else if(35===ch){preceding=state.input.charCodeAt(state.position-1);if(is_WS_OR_EOL(preceding)){break}}else if(state.position===state.lineStart&&testDocumentSeparator(state)||withinFlowCollection&&is_FLOW_INDICATOR(ch)){break}else if(is_EOL(ch)){_line=state.line;_lineStart=state.lineStart;_lineIndent=state.lineIndent;skipSeparationSpace(state,false,-1);if(state.lineIndent>=nodeIndent){hasPendingContent=true;ch=state.input.charCodeAt(state.position);continue}else{state.position=captureEnd;state.line=_line;state.lineStart=_lineStart;state.lineIndent=_lineIndent;break}}if(hasPendingContent){captureSegment(state,captureStart,captureEnd,false);writeFoldedLines(state,state_result,state.line-_line);captureStart=captureEnd=state.position;hasPendingContent=false}if(!is_WHITE_SPACE(ch)){captureEnd=state.position+1}ch=state.input.charCodeAt(++state.position);if(state.position>=state.input.length){return false}}captureSegment(state,captureStart,captureEnd,false);if(state.result.startPosition!=-1){state_result.rawValue=state.input.substring(state_result.startPosition,state_result.endPosition);return true}state.kind=_kind;state.result=_result;return false}function readSingleQuotedScalar(state,nodeIndent){var ch,captureStart,captureEnd;ch=state.input.charCodeAt(state.position);if(39!==ch){return false}var scalar=ast.newScalar();scalar.singleQuoted=true;state.kind="scalar";state.result=scalar;scalar.startPosition=state.position;state.position++;captureStart=captureEnd=state.position;while(0!==(ch=state.input.charCodeAt(state.position))){if(39===ch){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);scalar.endPosition=state.position;if(39===ch){captureStart=captureEnd=state.position;state.position++}else{return true}}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,scalar,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a single quoted scalar")}else{state.position++;captureEnd=state.position;scalar.endPosition=state.position}}throwError(state,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(state,nodeIndent){var captureStart,captureEnd,hexLength,hexResult,tmp,tmpEsc,ch;ch=state.input.charCodeAt(state.position);if(34!==ch){return false}state.kind="scalar";var scalar=ast.newScalar();scalar.doubleQuoted=true;state.result=scalar;scalar.startPosition=state.position;state.position++;captureStart=captureEnd=state.position;while(0!==(ch=state.input.charCodeAt(state.position))){if(34===ch){captureSegment(state,captureStart,state.position,true);state.position++;scalar.endPosition=state.position;scalar.rawValue=state.input.substring(scalar.startPosition,scalar.endPosition);return true}else if(92===ch){captureSegment(state,captureStart,state.position,true);ch=state.input.charCodeAt(++state.position);if(is_EOL(ch)){skipSeparationSpace(state,false,nodeIndent)}else if(ch<256&&(state.allowAnyEscape?customEscapeCheck[ch]:simpleEscapeCheck[ch])){scalar.value+=state.allowAnyEscape?customEscapeMap[ch]:simpleEscapeMap[ch];state.position++}else if((tmp=escapedHexLen(ch))>0){hexLength=tmp;hexResult=0;for(;hexLength>0;hexLength--){ch=state.input.charCodeAt(++state.position);if((tmp=fromHexCode(ch))>=0){hexResult=(hexResult<<4)+tmp}else{throwError(state,"expected hexadecimal character")}}scalar.value+=charFromCodepoint(hexResult);state.position++}else{throwError(state,"unknown escape sequence")}captureStart=captureEnd=state.position}else if(is_EOL(ch)){captureSegment(state,captureStart,captureEnd,true);writeFoldedLines(state,scalar,skipSeparationSpace(state,false,nodeIndent));captureStart=captureEnd=state.position}else if(state.position===state.lineStart&&testDocumentSeparator(state)){throwError(state,"unexpected end of the document within a double quoted scalar")}else{state.position++;captureEnd=state.position}}throwError(state,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(state,nodeIndent){var readNext=true,_line,_tag=state.tag,_result,_anchor=state.anchor,following,terminator,isPair,isExplicitPair,isMapping,keyNode,keyTag,valueNode,ch;ch=state.input.charCodeAt(state.position);if(ch===91){terminator=93;isMapping=false;_result=ast.newItems();_result.startPosition=state.position}else if(ch===123){terminator=125;isMapping=true;_result=ast.newMap();_result.startPosition=state.position}else{return false}if(null!==state.anchor){_result.anchorId=state.anchor;state.anchorMap[state.anchor]=_result}ch=state.input.charCodeAt(++state.position);while(0!==ch){skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(ch===terminator){state.position++;state.tag=_tag;state.anchor=_anchor;state.kind=isMapping?"mapping":"sequence";state.result=_result;_result.endPosition=state.position;return true}else if(!readNext){var p=state.position;throwError(state,"missed comma between flow collection entries");state.position=p+1}keyTag=keyNode=valueNode=null;isPair=isExplicitPair=false;if(63===ch){following=state.input.charCodeAt(state.position+1);if(is_WS_OR_EOL(following)){isPair=isExplicitPair=true;state.position++;skipSeparationSpace(state,true,nodeIndent)}}_line=state.line;composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);keyTag=state.tag;keyNode=state.result;skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if((isExplicitPair||state.line===_line)&&58===ch){isPair=true;ch=state.input.charCodeAt(++state.position);skipSeparationSpace(state,true,nodeIndent);composeNode(state,nodeIndent,CONTEXT_FLOW_IN,false,true);valueNode=state.result}if(isMapping){storeMappingPair(state,_result,keyTag,keyNode,valueNode)}else if(isPair){var mp=storeMappingPair(state,null,keyTag,keyNode,valueNode);mp.parent=_result;_result.items.push(mp)}else{if(keyNode){keyNode.parent=_result}_result.items.push(keyNode)}_result.endPosition=state.position+1;skipSeparationSpace(state,true,nodeIndent);ch=state.input.charCodeAt(state.position);if(44===ch){readNext=true;ch=state.input.charCodeAt(++state.position)}else{readNext=false}}throwError(state,"unexpected end of the stream within a flow collection")}function readBlockScalar(state,nodeIndent){var captureStart,folding,chomping=CHOMPING_CLIP,detectedIndent=false,textIndent=nodeIndent,emptyLines=0,atMoreIndented=false,tmp,ch;ch=state.input.charCodeAt(state.position);if(ch===124){folding=false}else if(ch===62){folding=true}else{return false}var sc=ast.newScalar();state.kind="scalar";state.result=sc;sc.startPosition=state.position;while(0!==ch){ch=state.input.charCodeAt(++state.position);if(43===ch||45===ch){if(CHOMPING_CLIP===chomping){chomping=43===ch?CHOMPING_KEEP:CHOMPING_STRIP}else{throwError(state,"repeat of a chomping mode identifier")}}else if((tmp=fromDecimalCode(ch))>=0){if(tmp===0){throwError(state,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!detectedIndent){textIndent=nodeIndent+tmp-1;detectedIndent=true}else{throwError(state,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(ch)){do{ch=state.input.charCodeAt(++state.position)}while(is_WHITE_SPACE(ch));if(35===ch){do{ch=state.input.charCodeAt(++state.position)}while(!is_EOL(ch)&&0!==ch)}}while(0!==ch){readLineBreak(state);state.lineIndent=0;ch=state.input.charCodeAt(state.position);while((!detectedIndent||state.lineIndenttextIndent){textIndent=state.lineIndent}if(is_EOL(ch)){emptyLines++;continue}if(state.lineIndentnodeIndent)&&0!==ch){throwError(state,"bad indentation of a sequence entry")}else if(state.lineIndent0){ch=state.input.charCodeAt(--state.position);if(is_EOL(ch)){state.position++;break}}}else{state.tag=_tag;state.anchor=_anchor;return true}}else{break}if(state.line===_line||state.lineIndent>nodeIndent){if(composeNode(state,nodeIndent,CONTEXT_BLOCK_OUT,true,allowCompact)){if(atExplicitKey){keyNode=state.result}else{valueNode=state.result}}if(!atExplicitKey){storeMappingPair(state,_result,keyTag,keyNode,valueNode);keyTag=keyNode=valueNode=null}skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position)}if(state.lineIndent>nodeIndent&&0!==ch){throwError(state,"bad indentation of a mapping entry")}else if(state.lineIndentparentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndentparentIndent){indentStatus=1}else if(state.lineIndent===parentIndent){indentStatus=0}else if(state.lineIndent tag; it should be "'+type.kind+'", not "'+state.kind+'"')}if(!type.resolve(state.result)){throwError(state,"cannot resolve a node with !<"+state.tag+"> explicit tag")}else{state.result=type.construct(state.result);if(null!==state.anchor){state.result.anchorId=state.anchor;state.anchorMap[state.anchor]=state.result}}}else{throwErrorFromPosition(state,tagStart,"unknown tag <"+state.tag+">",false,true)}}return null!==state.tag||null!==state.anchor||hasContent}function readDocument(state){var documentStart=state.position,_position,directiveName,directiveArgs,hasDirectives=false,ch;state.version=null;state.checkLineBreaks=state.legacy;state.tagMap={};state.anchorMap={};while(0!==(ch=state.input.charCodeAt(state.position))){skipSeparationSpace(state,true,-1);ch=state.input.charCodeAt(state.position);if(state.lineIndent>0||37!==ch){break}hasDirectives=true;ch=state.input.charCodeAt(++state.position);_position=state.position;while(0!==ch&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveName=state.input.slice(_position,state.position);directiveArgs=[];if(directiveName.length<1){throwError(state,"directive name must not be less than one character in length")}while(0!==ch){while(is_WHITE_SPACE(ch)){ch=state.input.charCodeAt(++state.position)}if(35===ch){do{ch=state.input.charCodeAt(++state.position)}while(0!==ch&&!is_EOL(ch));break}if(is_EOL(ch)){break}_position=state.position;while(0!==ch&&!is_WS_OR_EOL(ch)){ch=state.input.charCodeAt(++state.position)}directiveArgs.push(state.input.slice(_position,state.position))}if(0!==ch){readLineBreak(state)}if(_hasOwnProperty.call(directiveHandlers,directiveName)){directiveHandlers[directiveName](state,directiveName,directiveArgs)}else{throwWarning(state,'unknown document directive "'+directiveName+'"');state.position++}}skipSeparationSpace(state,true,-1);if(0===state.lineIndent&&45===state.input.charCodeAt(state.position)&&45===state.input.charCodeAt(state.position+1)&&45===state.input.charCodeAt(state.position+2)){state.position+=3;skipSeparationSpace(state,true,-1)}else if(hasDirectives){throwError(state,"directives end mark is expected")}composeNode(state,state.lineIndent-1,CONTEXT_BLOCK_OUT,false,true);skipSeparationSpace(state,true,-1);if(state.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart,state.position))){throwWarning(state,"non-ASCII line breaks are interpreted as content")}state.documents.push(state.result);if(state.position===state.lineStart&&testDocumentSeparator(state)){if(46===state.input.charCodeAt(state.position)){state.position+=3;skipSeparationSpace(state,true,-1)}return}if(state.position0){documents[docsCount-1].endPosition=inputLength}for(var _i=0,documents_1=documents;_ix.endPosition){x.startPosition=x.endPosition}}return documents}function loadAll(input,iterator,options){if(options===void 0){options={}}var documents=loadDocuments(input,options),index,length;for(index=0,length=documents.length;index0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(start-1))){start-=1;if(this.position-start>maxLength/2-1){head=" ... ";start+=5;break}}tail="";end=this.position;while(endmaxLength/2-1){tail=" ... ";end-=5;break}}snippet=this.buffer.slice(start,end);return common.repeat(" ",indent)+head+snippet+tail+"\n"+common.repeat(" ",indent+this.position-start+head.length)+"^"};Mark.prototype.toString=function(compact){if(compact===void 0){compact=true}var snippet,where="";if(this.name){where+='in "'+this.name+'" '}where+="at line "+(this.line+1)+", column "+(this.column+1);if(!compact){snippet=this.getSnippet();if(snippet){where+=":\n"+snippet}}return where};return Mark}();module.exports=Mark},{"./common":206}],212:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function parseYamlBoolean(input){if(["true","True","TRUE"].lastIndexOf(input)>=0){return true}else if(["false","False","FALSE"].lastIndexOf(input)>=0){return false}throw'Invalid boolean "'+input+'"'}exports.parseYamlBoolean=parseYamlBoolean;function safeParseYamlInteger(input){if(input.lastIndexOf("0o",0)===0){return parseInt(input.substring(2),8)}return parseInt(input)}function parseYamlInteger(input){var result=safeParseYamlInteger(input);if(isNaN(result)){throw'Invalid integer "'+input+'"'}return result}exports.parseYamlInteger=parseYamlInteger;function parseYamlFloat(input){if([".nan",".NaN",".NAN"].lastIndexOf(input)>=0){return NaN}var infinity=/^([-+])?(?:\.inf|\.Inf|\.INF)$/;var match=infinity.exec(input);if(match){return match[1]==="-"?-Infinity:Infinity}var result=parseFloat(input);if(!isNaN(result)){return result}throw'Invalid float "'+input+'"'}exports.parseYamlFloat=parseYamlFloat;var ScalarType;(function(ScalarType){ScalarType[ScalarType["null"]=0]="null";ScalarType[ScalarType["bool"]=1]="bool";ScalarType[ScalarType["int"]=2]="int";ScalarType[ScalarType["float"]=3]="float";ScalarType[ScalarType["string"]=4]="string"})(ScalarType=exports.ScalarType||(exports.ScalarType={}));function determineScalarType(node){if(node===undefined){return ScalarType.null}if(node.doubleQuoted||!node.plainScalar||node["singleQuoted"]){return ScalarType.string}var value=node.value;if(["null","Null","NULL","~",""].indexOf(value)>=0){return ScalarType.null}if(value===null||value===undefined){return ScalarType.null}if(["true","True","TRUE","false","False","FALSE"].indexOf(value)>=0){return ScalarType.bool}var base10=/^[-+]?[0-9]+$/;var base8=/^0o[0-7]+$/;var base16=/^0x[0-9a-fA-F]+$/;if(base10.test(value)||base8.test(value)||base16.test(value)){return ScalarType.int}var float=/^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$/;var infinity=/^[-+]?(\.inf|\.Inf|\.INF)$/;if(float.test(value)||infinity.test(value)||[".nan",".NaN",".NAN"].indexOf(value)>=0){return ScalarType.float}return ScalarType.string}exports.determineScalarType=determineScalarType},{}],213:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var common=require("./common");var YAMLException=require("./exception");var type_1=require("./type");function compileList(schema,name,result){var exclude=[];schema.include.forEach(function(includedSchema){result=compileList(includedSchema,name,result)});schema[name].forEach(function(currentType){result.forEach(function(previousType,previousIndex){if(previousType.tag===currentType.tag){exclude.push(previousIndex)}});result.push(currentType)});return result.filter(function(type,index){return-1===exclude.indexOf(index)})}function compileMap(){var result={},index,length;function collectType(type){result[type.tag]=type}for(index=0,length=arguments.length;index64){continue}if(code<0){return false}bitlen+=6}return bitlen%8===0}function constructYamlBinary(data){var code,idx,tailbits,input=data.replace(/[\r\n=]/g,""),max=input.length,map=BASE64_MAP,bits=0,result=[];for(idx=0;idx>16&255);result.push(bits>>8&255);result.push(bits&255)}bits=bits<<6|map.indexOf(input.charAt(idx))}tailbits=max%4*6;if(tailbits===0){result.push(bits>>16&255);result.push(bits>>8&255);result.push(bits&255)}else if(tailbits===18){result.push(bits>>10&255);result.push(bits>>2&255)}else if(tailbits===12){result.push(bits>>4&255)}if(NodeBuffer){return new NodeBuffer(result)}return result}function representYamlBinary(object){var result="",bits=0,idx,tail,max=object.length,map=BASE64_MAP;for(idx=0;idx>18&63];result+=map[bits>>12&63];result+=map[bits>>6&63];result+=map[bits&63]}bits=(bits<<8)+object[idx]}tail=max%3;if(tail===0){result+=map[bits>>18&63];result+=map[bits>>12&63];result+=map[bits>>6&63];result+=map[bits&63]}else if(tail===2){result+=map[bits>>10&63];result+=map[bits>>4&63];result+=map[bits<<2&63];result+=map[64]}else if(tail===1){result+=map[bits>>2&63];result+=map[bits<<4&63];result+=map[64];result+=map[64]}return result}function isBinary(object){return NodeBuffer&&NodeBuffer.isBuffer(object)}module.exports=new type_1.Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},{"../type":219,buffer:128}],221:[function(require,module,exports){"use strict";"use strict";var type_1=require("../type");function resolveYamlBoolean(data){if(null===data){return false}var max=data.length;return max===4&&(data==="true"||data==="True"||data==="TRUE")||max===5&&(data==="false"||data==="False"||data==="FALSE")}function constructYamlBoolean(data){return data==="true"||data==="True"||data==="TRUE"}function isBoolean(object){return"[object Boolean]"===Object.prototype.toString.call(object)}module.exports=new type_1.Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(object){return object?"true":"false"},uppercase:function(object){return object?"TRUE":"FALSE"},camelcase:function(object){return object?"True":"False"}},defaultStyle:"lowercase"})},{"../type":219}],222:[function(require,module,exports){"use strict";var common=require("../common");var type_1=require("../type");var YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+][0-9]+)?"+"|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(data){if(null===data){return false}var value,sign,base,digits;if(!YAML_FLOAT_PATTERN.test(data)){return false}return true}function constructYamlFloat(data){var value,sign,base,digits;value=data.replace(/_/g,"").toLowerCase();sign="-"===value[0]?-1:1;digits=[];if(0<="+-".indexOf(value[0])){value=value.slice(1)}if(".inf"===value){return 1===sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(".nan"===value){return NaN}else if(0<=value.indexOf(":")){value.split(":").forEach(function(v){digits.unshift(parseFloat(v,10))});value=0;base=1;digits.forEach(function(d){value+=d*base;base*=60});return sign*value}return sign*parseFloat(value,10)}function representYamlFloat(object,style){if(isNaN(object)){switch(style){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===object){switch(style){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===object){switch(style){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(common.isNegativeZero(object)){return"-0.0"}return object.toString(10)}function isFloat(object){return"[object Number]"===Object.prototype.toString.call(object)&&(0!==object%1||common.isNegativeZero(object))}module.exports=new type_1.Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},{"../common":206,"../type":219}],223:[function(require,module,exports){"use strict";var common=require("../common");var type_1=require("../type");function isHexCode(c){return 48<=c&&c<=57||65<=c&&c<=70||97<=c&&c<=102}function isOctCode(c){return 48<=c&&c<=55}function isDecCode(c){return 48<=c&&c<=57}function resolveYamlInteger(data){if(null===data){return false}var max=data.length,index=0,hasDigits=false,ch;if(!max){return false}ch=data[index];if(ch==="-"||ch==="+"){ch=data[++index]}if(ch==="0"){if(index+1===max){return true}ch=data[++index];if(ch==="b"){index++;for(;index3){return false}if(regexp[regexp.length-modifiers.length-1]!=="/"){return false}regexp=regexp.slice(1,regexp.length-modifiers.length-1)}try{var dummy=new RegExp(regexp,modifiers);return true}catch(error){return false}}function constructJavascriptRegExp(data){var regexp=data,tail=/\/([gim]*)$/.exec(data),modifiers="";if("/"===regexp[0]){if(tail){modifiers=tail[1]}regexp=regexp.slice(1,regexp.length-modifiers.length-1)}return new RegExp(regexp,modifiers)}function representJavascriptRegExp(object){var result="/"+object.source+"/";if(object.global){result+="g"}if(object.multiline){result+="m"}if(object.ignoreCase){result+="i"}return result}function isRegExp(object){return"[object RegExp]"===Object.prototype.toString.call(object)}module.exports=new type_1.Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},{"../../type":219}],225:[function(require,module,exports){"use strict";var type_1=require("../../type");function resolveJavascriptUndefined(){return true}function constructJavascriptUndefined(){return undefined}function representJavascriptUndefined(){return""}function isUndefined(object){return"undefined"===typeof object}module.exports=new type_1.Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined})},{"../../type":219}],226:[function(require,module,exports){"use strict";var type_1=require("../type");module.exports=new type_1.Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(data){return null!==data?data:{}}})},{"../type":219}],227:[function(require,module,exports){"use strict";var type_1=require("../type");function resolveYamlMerge(data){return"<<"===data||null===data}module.exports=new type_1.Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},{"../type":219}],228:[function(require,module,exports){"use strict";var type_1=require("../type");function resolveYamlNull(data){if(null===data){return true}var max=data.length;return max===1&&data==="~"||max===4&&(data==="null"||data==="Null"||data==="NULL")}function constructYamlNull(){return null}function isNull(object){return null===object}module.exports=new type_1.Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":219}],229:[function(require,module,exports){"use strict";var type_1=require("../type");var _hasOwnProperty=Object.prototype.hasOwnProperty;var _toString=Object.prototype.toString;function resolveYamlOmap(data){if(null===data){return true}var objectKeys=[],index,length,pair,pairKey,pairHasKey,object=data;for(index=0,length=object.length;index Date: Fri, 18 Mar 2022 15:14:59 +0100 Subject: [PATCH 4/4] chore: update 2022-04-release branch (#494) --- lib/asyncapiSchemaFormatParser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/asyncapiSchemaFormatParser.js b/lib/asyncapiSchemaFormatParser.js index df412c5ff..c303f5f16 100644 --- a/lib/asyncapiSchemaFormatParser.js +++ b/lib/asyncapiSchemaFormatParser.js @@ -48,7 +48,7 @@ function getMimeTypes() { 'application/schema+json;version=draft-07', 'application/schema+yaml;version=draft-07', ]; - ['2.0.0', '2.1.0', '2.2.0', '2.3.0'].forEach(version => { + ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'].forEach(version => { mimeTypes.push( `application/vnd.aai.asyncapi;version=${version}`, `application/vnd.aai.asyncapi+json;version=${version}`,