@accordproject/concerto-core 3.20.0 → 3.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/concerto-core.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see concerto-core.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["concerto-core"]=t():e["concerto-core"]=t()}(self,(()=>(()=>{var e={3348:(e,t,r)=>{"use strict";const n=r(3954);e.exports={MetaModelUtil:n,MetaModelNamespace:"concerto.metamodel@1.0.0"}},4702:e=>{"use strict";e.exports='/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@DotNetNamespace("AccordProject.Concerto.Metamodel")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nconcept AliasedType{\n o String name\n o String aliasedName\n}\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n o AliasedType[] aliasedTypes optional\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n'},3954:(e,t,r)=>{"use strict";const n=r(4865),a="concerto.metamodel@1.0.0",o=r(4702);function s(e,t){return e.declarations.find((e=>e.name===t))}function i(e,t){if(!t[e])throw new Error(`Name ${e} not found`);return t[e].namespace}function c(e,t){switch((e.decorators||[]).forEach((e=>{c(e,t)})),e.$class){case`${a}.Model`:(e.declarations||[]).forEach((e=>{c(e,t)}));break;case`${a}.AssetDeclaration`:case`${a}.ConceptDeclaration`:case`${a}.EventDeclaration`:case`${a}.TransactionDeclaration`:case`${a}.ParticipantDeclaration`:if(e.superType){const r=e.superType.name;e.superType.namespace=i(r,t),e.superType.name=t[r].name}(e.properties||[]).forEach((e=>{c(e,t)}));break;case`${a}.MapDeclaration`:c(e.key,t),c(e.value,t);break;case`${a}.Decorator`:(e.arguments||[]).forEach((e=>{c(e,t)}));break;case`${a}.EnumProperty`:case`${a}.ObjectProperty`:case`${a}.RelationshipProperty`:case`${a}.DecoratorTypeReference`:case`${a}.ObjectMapKeyType`:case`${a}.ObjectMapValueType`:e.type.namespace=i(e.type.name,t),e.type.name=t[e.type.name].name;break;case`${a}.StringScalar`:case`${a}.BooleanScalar`:case`${a}.DateTimeScalar`:case`${a}.DoubleScalar`:case`${a}.LongScalar`:case`${a}.IntegerScalar`:e.namespace=i(e.name,t),e.name=t[e.name].name}return e}function l(e,t){const r=JSON.parse(JSON.stringify(t)),n=function(e,t){const r="concerto@1.0.0",n={Concept:{namespace:r,name:"Concept"},Asset:{namespace:r,name:"Asset"},Participant:{namespace:r,name:"Participant"},Transaction:{namespace:r,name:"Transaction"},Event:{namespace:r,name:"Event"}};return(t.imports||[]).forEach((t=>{const r=t.namespace,o=function(e,t){return e.models.find((e=>e.namespace===t))}(e,r);if(t.$class===`${a}.ImportType`){if(!s(o,t.name))throw new Error(`Declaration ${t.name} in namespace ${r} not found`);n[t.name]={namespace:r,name:t.name}}else if(t.$class===`${a}.ImportTypes`){const e=t.aliasedTypes?new Map(t.aliasedTypes.map((({name:e,aliasedName:t})=>[e,t]))):new Map;t.types.forEach((t=>{const a=e.get(t)||t;if(!s(o,t))throw new Error(`Declaration ${t} in namespace ${r} not found`);n[a]={namespace:r,name:t}}))}else(o.declarations||[]).forEach((e=>{n[e.name]={namespace:r,name:e.name}}))})),(t.declarations||[]).forEach((e=>{n[e.name]={namespace:t.namespace,name:e.name}})),n}(e,t);return c(r,n),r}function u(e){const t=[];switch(e.$class){case`${a}.ImportAll`:t.push(`${e.namespace}.*`);break;case`${a}.ImportType`:t.push(`${e.namespace}.${e.name}`);break;case`${a}.ImportTypes`:e.types.forEach((r=>{t.push(`${e.namespace}.${r}`)}));break;default:throw new Error(`Unrecognized imports ${e.$class}`)}return t}e.exports={metaModelAst:n,metaModelCto:o,resolveLocalNames:l,resolveLocalNamesForAll:function(e){const t={$class:`${a}.Models`,models:[]};return e.models.forEach((r=>{const n=l(e,r);t.models.push(n)})),t},importFullyQualifiedNames:u,getExternalImports:function(e){const t={};return e.imports&&e.imports.forEach((e=>{const r=u(e);e.uri&&(t[r[0]]=e.uri)})),t}}},6573:(e,t,r)=>{"use strict";const n=r(1187);e.exports=n.PromisePool},5160:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolError=void 0;class r extends Error{constructor(e,t){super(),this.item=t,this.name=this.constructor.name,this.message=this.messageFrom(e),Error.captureStackTrace(this,this.constructor)}static createFrom(e,t){return new this(e,t)}messageFrom(e){return e instanceof Error||"object"==typeof e?e.message:"string"==typeof e||"number"==typeof e?e.toString():""}}t.PromisePoolError=r},2241:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolExecutor=void 0;const n=r(5160);t.PromisePoolExecutor=class{constructor(){this.tasks=[],this.items=[],this.errors=[],this.results=[],this.concurrency=10,this.handler=()=>{},this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}for(e){return this.items=e,this}withHandler(e){return this.handler=e,this}handleError(e){return this.errorHandler=e,this}hasReachedConcurrencyLimit(){return this.activeCount()>=this.concurrency}activeCount(){return this.tasks.length}async start(){return this.validateInputs(),await this.process()}validateInputs(){if("function"!=typeof this.handler)throw new Error("The first parameter for the .process(fn) method must be a function");if(!("number"==typeof this.concurrency&&this.concurrency>=1))throw new TypeError(`"concurrency" must be a number, 1 or up. Received "${this.concurrency}" (${typeof this.concurrency})`);if(!Array.isArray(this.items))throw new TypeError('"items" must be an array. Received '+typeof this.items);if(this.errorHandler&&"function"!=typeof this.errorHandler)throw new Error("The error handler must be a function. Received "+typeof this.errorHandler)}async process(){for(const e of this.items)this.hasReachedConcurrencyLimit()&&await this.processingSlot(),this.startProcessing(e);return this.drained()}async processingSlot(){return this.waitForTaskToFinish()}async waitForTaskToFinish(){await Promise.race(this.tasks)}startProcessing(e){const t=this.createTaskFor(e).then((e=>{this.results.push(e),this.tasks.splice(this.tasks.indexOf(t),1)})).catch((r=>{if(this.tasks.splice(this.tasks.indexOf(t),1),this.errorHandler)return this.errorHandler(r,e);this.errors.push(n.PromisePoolError.createFrom(r,e))}));this.tasks.push(t)}async createTaskFor(e){return this.handler(e)}async drained(){return await this.drainActiveTasks(),{results:this.results,errors:this.errors}}async drainActiveTasks(){await Promise.all(this.tasks)}}},1187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePool=void 0;const n=r(2241);class a{constructor(e){this.concurrency=10,this.items=null!=e?e:[],this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}static withConcurrency(e){return(new this).withConcurrency(e)}for(e){return new a(e).withConcurrency(this.concurrency)}static for(e){return(new this).for(e)}handleError(e){return this.errorHandler=e,this}async process(e){return(new n.PromisePoolExecutor).withConcurrency(this.concurrency).withHandler(e).handleError(this.errorHandler).for(this.items).start()}}t.PromisePool=a},3832:(e,t,r)=>{"use strict";const n=r(5558),{DefaultFileLoader:a,FileDownloader:o,ModelWriter:s}=r(1209),{MetaModelUtil:i,MetaModelNamespace:c}=r(3348),l=r(1595),u=r(2438),p=r(1861),d=r(6226),m=r(1768),h=r(3673),f=r(5477),{getRootModel:g}=r(6128),{getDecoratorModel:y}=r(1051),v=r(5430);void 0===r.g&&(r(5437),r(953),r(9869),r(3135),r(6341),r(8088),r(2302),r(7337),r(3218),r(745));const $=r(124)("concerto:BaseModelManager"),A=(e,t)=>({ast:t,definitions:null,fileName:e}),b={missingDecorator:void 0,invalidDecorator:void 0},C=["concerto@1.0.0","concerto","concerto.decorator@1.0.0"];class T{constructor(e,t){this.processFile=t||A,this.modelFiles={},this.factory=new l(this),this.serializer=new h(this.factory,this,e),this.decoratorFactories=[],this.strict=!!e?.strict,this.options=e,this.addDecoratorModel(),this.addRootModel(),this.decoratorValidation=e?.decoratorValidation?e?.decoratorValidation:b,this.enableMapType=!!e?.enableMapType,this.importAliasing="true"==={NODE_ENV:"production"}?.IMPORT_ALIASING||!!e?.importAliasing,this.metamodelModelFile=new d(this,i.metaModelAst,void 0,c),e?.addMetamodel&&this.addModelFile(this.metamodelModelFile)}isModelManager(){return!0}isStrict(){return this.strict}isAliasedTypeEnabled(){return this.importAliasing}addRootModel(){const{rootModelAst:e,rootModelCto:t,rootModelFile:r}=g(!0),n=new d(this,e,t,r);if(this.strict)this.addModelFile(n,t,r,!0);else{this.addModelFile(n,t,r,!0);const e=g(!1),a=new d(this,e.rootModelAst,e.rootModelCto,e.rootModelFile);this.addModelFile(a,e.rootModelCto,e.rootModelFile,!0)}}addDecoratorModel(){const{decoratorModelAst:e,decoratorModelCto:t,decoratorModelFile:r}=y(),n=new d(this,e,t,r);this.addModelFile(n,t,r,!0)}accept(e,t){return e.visit(this,t)}validateModelFile(e,t){if("string"==typeof e){const{ast:r}=this.processFile(t,e);new d(this,r,e,t).validate()}else e.validate()}_throwAlreadyExists(e){const t=this.modelFiles[e.getNamespace()].getName(),r=t?` in file ${t}`:"",n=e.getName()?` specified in file ${e.getName()}`:"";let a=`Namespace ${e.getNamespace()}${n} is already declared${r}`;throw new Error(a)}addModelFile(e,t,r,n){if($("addModelFile","addModelFile",e,r),this.isStrict()&&!e.getVersion())throw new Error("Cannot add an unversioned namespace when 'strict' is true");return this.modelFiles[e.getNamespace()]?this._throwAlreadyExists(e):(n||(this.options?.metamodelValidation&&this.validateAst(e),e.validate()),this.modelFiles[e.getNamespace()]=e),e}validateAst(e){const{version:t}=m.parseNamespace(m.getNamespace(e.getAst().$class)),{version:r}=m.parseNamespace(c);if(t!==r)throw new v(`Model file version ${t} does not match metamodel version ${r}`);const n=!!this.getModelFile(c);n||this.addModelFile(this.metamodelModelFile,void 0,c,!0);try{this.getSerializer().fromJSON(e.getAst())}catch(e){if(this.isStrict())throw new v(e.message);console.warn("Invalid metamodel found. This will throw an exception in a future release. ",e.message)}n||this.deleteModelFile(c)}addModel(e,t,r,n){$("addModel","addModel",e,r);const{ast:a,definitions:o}=this.processFile(r,e),s=t||o,i=new d(this,a,s,r);return this.addModelFile(i,s,r,n),i}updateModelFile(e,t,r){if($("updateModelFile","updateModelFile",e,t),"string"==typeof e){const{ast:n}=this.processFile(t,e);let a=new d(this,n,e,t);return this.updateModelFile(a,t,r)}if(!this.modelFiles[e.getNamespace()])throw new Error(`Model file for namespace ${e.getNamespace()} not found`);return r||e.validate(),this.modelFiles[e.getNamespace()]=e,e}deleteModelFile(e){if(!this.modelFiles[e])throw new Error("Model file does not exist");delete this.modelFiles[e]}addModelFiles(e,t,r){const n="addModelFiles";$(n,"addModelFiles",e,t);const a={};Object.assign(a,this.modelFiles);let o=[];try{for(let r=0;r<e.length;r++){const n=e[r];let a,s=null;if(t&&(s=t[r]),"string"==typeof n){const{ast:e}=this.processFile(s,n);a=new d(this,e,n,s)}else a=n;this.modelFiles[a.getNamespace()]?this._throwAlreadyExists(a):(this.modelFiles[a.getNamespace()]=a,o.push(a))}return r||this.validateModelFiles(),o}catch(e){throw this.modelFiles={},Object.assign(this.modelFiles,a),e}finally{$(n,o)}}validateModelFiles(){for(let e in this.modelFiles)this.modelFiles[e].validate()}async updateExternalModels(e,t){$("updateExternalModels","updateExternalModels",e),t||(t=new o(new a(this.processFile),(e=>i.getExternalImports(e.ast))));const r={};Object.assign(r,this.modelFiles);try{const r=await t.downloadExternalDependencies(this.getModelFiles(),e),n=[];return r.forEach((e=>{const t=new d(this,e.ast,e.definitions,e.fileName);this.modelFiles[t.getNamespace()]?n.push(this.updateModelFile(t,t.getName(),!0)):n.push(this.addModelFile(t,null,t.getName(),!0))})),this.validateModelFiles(),n}catch(e){throw this.modelFiles={},Object.assign(this.modelFiles,r),e}}writeModelsToFileSystem(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};s.writeModelsToFileSystem(this.getModelFiles(),e,t)}getDecoratorValidation(){return this.decoratorValidation}getModelFiles(e){let t=Object.keys(this.modelFiles),r=[];for(let n=0;n<t.length;n++){const a=t[n];!e&&C.includes(a)||r.push(this.modelFiles[a])}return r}getModels(e){const t=this.getModelFiles();let r=[];const a=Object.assign({includeExternalModels:!0},e);return t.forEach((function(e){if(e.isExternal()&&!a.includeExternalModels)return;let t;if("UNKNOWN"!==e.fileName&&null!==e.fileName&&e.fileName){let r=e.fileName;t=n.basename(r)}else t=e.namespace+".cto";r.push({name:t,content:e.definitions})})),r}resolveType(e,t){if(m.isPrimitiveType(t))return t;let r=m.getNamespace(t),n=this.getModelFile(r);if(!n){let r=u.messageFormatter("modelmanager-resolvetype-nonsfortype");throw new p(r({type:t,context:e}))}if(n.isLocalType(t))return t;let a=u.messageFormatter("modelmanager-resolvetype-notypeinnsforcontext");throw new p(a({context:e,type:t,namespace:n.getNamespace()}))}clearModelFiles(){this.modelFiles={},this.addDecoratorModel(),this.addRootModel()}getModelFile(e){return this.modelFiles[e]}getModelFileByFileName(e){return this.getModelFiles().filter((t=>t.getName()===e))[0]}getNamespaces(){return Object.keys(this.modelFiles)}getType(e){const t=m.getNamespace(e),r=this.getModelFile(t);if(!r){const t=u.messageFormatter("modelmanager-gettype-noregisteredns");throw new f(e,t({type:e}))}const n=r.getType(e);if(!n){const r=u.messageFormatter("modelmanager-gettype-notypeinns");throw new f(e,r({type:m.getShortName(e),namespace:t}))}return n}getAssetDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getAssetDeclarations())),[])}getTransactionDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getTransactionDeclarations())),[])}getEventDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getEventDeclarations())),[])}getParticipantDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getParticipantDeclarations())),[])}getMapDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getMapDeclarations())),[])}getEnumDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getEnumDeclarations())),[])}getConceptDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getConceptDeclarations())),[])}getFactory(){return this.factory}getSerializer(){return this.serializer}getDecoratorFactories(){return this.decoratorFactories}addDecoratorFactory(e){this.decoratorFactories.push(e)}derivesFrom(e,t){let r=this.getType(e);for(;r;){if(r.getFullyQualifiedName()===t)return!0;r=r.getSuperTypeDeclaration()}return!1}resolveMetaModel(e){const t=this.getAst(!1,!0);return i.resolveLocalNames(t,e)}fromAst(e){this.clearModelFiles(),e.models.forEach((e=>{if(!C.includes(e.namespace)){const t=new d(this,e);this.addModelFile(t,null,null,!0)}})),this.validateModelFiles()}getAst(e,t){const r={$class:`${c}.Models`,models:[]};return this.getModelFiles(t).forEach((t=>{let n=t.getAst();e&&(n=this.resolveMetaModel(n)),r.models.push(n)})),r}filter(e){const t=new T({...this.options},this.processFile),r=[];let n=Object.values(this.modelFiles).map((n=>n.filter(e,t,r))).filter(Boolean);n=n.filter((e=>!e.isSystemModelFile()));const a=n.map((e=>{const t=e.getAst();let n=!1;return r.forEach((r=>{const a=m.getNamespace(r);if(!a.startsWith("concerto@")&&"concerto"!==a&&e.getImports().includes(r)){const e=m.getShortName(r),a=m.getNamespace(r);t.imports=t.imports.filter((t=>{const r="ImportType"===m.getShortName(t.$class)&&t.name===e&&t.namespace===a;return r&&(n=!0),!r})),t.imports.forEach((t=>{t.namespace===a&&"ImportTypes"===m.getShortName(t.$class)&&(t.types=t.types.filter((t=>{const r=t===e;return r&&(n=!0),!r})))}))}})),n?new d(this,t,void 0,e.fileName):e}));return t.addModelFiles(a),t}}e.exports=T},7662:(e,t,r)=>{"use strict";const n=r(9472),a="resource",{TypedStack:o}=r(1209),s=r(3561);void 0===r.g&&r(9481),e.exports=class{constructor(e){this.modelManager=e}validate(e,t){const r=this.getTypeDeclaration(e),n={};n.stack=new o(e);const a=new s(this,t);r.accept(a,n)}getModelManager(){return this.modelManager}isObject(e){return"object"==typeof e&&e.$class}getTypeDeclaration(e){if(!e.$class)throw new Error("Input object does not have a $class attribute.");return this.modelManager.getType(e.$class)}getIdentifier(e){const t=this.getTypeDeclaration(e).getIdentifierFieldName();if(!t)throw new Error(`Object does not have an identifier: ${JSON.stringify(e)}`);return e[t]}isIdentifiable(e){const t=this.getTypeDeclaration(e);return!t.isSystemIdentified()&&null!==t.getIdentifierFieldName()}isRelationship(e){return"string"==typeof e&&e.startsWith(`${a}:`)}setIdentifier(e,t){const r=this.getTypeDeclaration(e).getIdentifierFieldName(),n=JSON.parse(JSON.stringify(e));return n[r]=t,n}getFullyQualifiedIdentifier(e){return this.getTypeDeclaration(e),`${e.$class}#${this.getIdentifier(e)}`}toURI(e){return this.getTypeDeclaration(e),`${a}:${e.$class}#${encodeURI(this.getIdentifier(e))}`}fromURI(e){let t;try{t=n.parse(e)}catch(t){throw new Error("Invalid URI: "+e)}const r=t.protocol;if(r&&r!==a)throw new Error("Invalid URI scheme: "+e);if(t.username||t.password||t.port||t.query)throw new Error("Invalid resource URI format: "+e);return{typeDeclaration:this.getTypeDeclaration({$class:t.path}),id:decodeURIComponent(t.fragment)}}getType(e){return this.getTypeDeclaration(e).getName()}getNamespace(e){return this.getTypeDeclaration(e).getNamespace()}}},7624:(e,t,r)=>{"use strict";const n=r(3464),a=r(7657);n.extend(a);const o=r(4491);n.extend(o);const s=r(3221);n.extend(s);const i=r(279);n.extend(i),e.exports={setCurrentTime:function(e,t){const r="number"==typeof t?t:n().utcOffset(),a=e?n.utc(e):n().utc();if(!a.isValid())throw new Error(`Current time '${e}' is not in standard UTC format`);const o=a.utcOffset(r);if(!o.isValid())throw new Error(`Cannot set current time to '${e}' with UTC offset '${t}'`);return{currentTime:o,utcOffset:r}}}},8298:(e,t,r)=>{"use strict";const n=r(9481),a=r(1768),{MetaModelNamespace:o}=r(3348);class s{static Action={EXTRACT_ALL:0,EXTRACT_VOCAB:1,EXTRACT_NON_VOCAB:2};constructor(e,t,r,n){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.Action.EXTRACT_ALL;this.extractionDictionary={},this.removeDecoratorsFromModel=e,this.locale=t,this.dcs_version=r,this.sourceModelAst=n,this.updatedModelAst=n,this.action=Object.values(s.Action).includes(a)?a:s.Action.EXTRACT_ALL}isVocabDecorator(e){return"Term"===e||e.startsWith("Term_")}constructDCSDictionary(e,t,r){const n={declaration:r?.declaration||"",property:r?.property||"",mapElement:r?.mapElement||"",dcs:JSON.stringify(t)};this.extractionDictionary[e]&&Array.isArray(this.extractionDictionary[e])?this.extractionDictionary[e].push(n):this.extractionDictionary[e]=[n]}transformNonVocabularyDecorators(e,t,r){const{name:n,version:o}=a.parseNamespace(t),s=n,i=o;if(e?.length>0){const t={$class:`org.accordproject.decoratorcommands@${this.dcs_version}.DecoratorCommandSet`,name:s,version:i,commands:e};r.push(t)}return r}transformVocabularyDecorators(e,t,r){if(Object.keys(e).length>0){let n="";n+=`locale: ${this.locale}\n`,n+=`namespace: ${t}\n`,n+="declarations:\n",Object.keys(e).forEach((t=>{e[t].term&&(n+=` - ${t}: ${e[t].term}\n`);const r=Object.keys(e[t]).filter((e=>"term"!==e&&"propertyVocabs"!==e));r.length>0&&(e[t].term||(n+=` - ${t}: ${t}\n`),r.forEach((r=>{n+=` ${r}: ${e[t][r]}\n`}))),e[t].propertyVocabs&&Object.keys(e[t].propertyVocabs).length>0&&(e[t].term||0!==r.length||(n+=` - ${t}: ${t}\n`),n+=" properties:\n",Object.keys(e[t].propertyVocabs).forEach((r=>{n+=` - ${r}: ${e[t].propertyVocabs[r].term||""}\n`,Object.keys(e[t].propertyVocabs[r]).filter((e=>"term"!==e)).forEach((a=>{n+=` ${a}: ${e[t].propertyVocabs[r][a]}\n`}))})))})),r.push(n)}return r}constructTarget(e,t){const r={$class:`org.accordproject.decoratorcommands@${this.dcs_version}.CommandTarget`,namespace:e};return t.declaration&&""!==t.declaration&&(r.declaration=t.declaration),t.property&&""!==t.property&&(r.property=t.property),t.mapElement&&""!==t.mapElement&&(r.mapElement=t.mapElement),r}parseNonVocabularyDecorators(e,t,r,n){const a={$class:"concerto.metamodel@1.0.0.Decorator",name:t.name};if(t.arguments){const e=t.arguments.map((e=>({$class:e.$class,value:e.value})));a.arguments=e}let o={$class:`org.accordproject.decoratorcommands@${r}.Command`,type:"UPSERT",target:n,decorator:a};return e.push(o),e}parseVocabularies(e,t,r){if(e[t.declaration]=e[t.declaration]||{propertyVocabs:{}},""!==t.property)if(e[t.declaration].propertyVocabs[t.property]||(e[t.declaration].propertyVocabs[t.property]={}),"Term"===r.name)e[t.declaration].propertyVocabs[t.property].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration].propertyVocabs[t.property][n]=r.arguments[0].value}else if(""!==t.mapElement)if(e[t.declaration].propertyVocabs[t.mapElement]||(e[t.declaration].propertyVocabs[t.mapElement]={}),"Term"===r.name)e[t.declaration].propertyVocabs[t.mapElement].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration].propertyVocabs[t.mapElement][n]=r.arguments[0].value}else if("Term"===r.name)e[t.declaration].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration][n]=r.arguments[0].value}return e}transformDecoratorsAndVocabularies(){let e=[],t=[];return Object.keys(this.extractionDictionary).forEach((r=>{const n=this.extractionDictionary[r];let a=[],o={};n.forEach((e=>{const t=JSON.parse(e.dcs),n=this.constructTarget(r,e);t.forEach((t=>{const r=this.isVocabDecorator(t.name);r||this.action===s.Action.EXTRACT_VOCAB||(a=this.parseNonVocabularyDecorators(a,t,this.dcs_version,n)),r&&this.action!==s.Action.EXTRACT_NON_VOCAB&&(o=this.parseVocabularies(o,e,t))}))})),this.action!==s.Action.EXTRACT_VOCAB&&(e=this.transformNonVocabularyDecorators(a,r,e)),this.action!==s.Action.EXTRACT_NON_VOCAB&&(t=this.transformVocabularyDecorators(o,r,t))})),{decoratorCommandSet:e,vocabularies:t}}filterOutDecorators(e){return this.removeDecoratorsFromModel?this.action===s.Action.EXTRACT_ALL?void 0:this.action===s.Action.EXTRACT_VOCAB?e.filter((e=>!this.isVocabDecorator(e.name))):e.filter((e=>this.isVocabDecorator(e.name))):e}processMapDeclaration(e,t){if(e.key&&e.key.decorators){const r={declaration:e.name,mapElement:"KEY"};this.constructDCSDictionary(t,e.key.decorators,r),e.key.decorators=this.filterOutDecorators(e.key.decorators)}if(e.value&&e.value.decorators){const r={declaration:e.name,mapElement:"VALUE"};this.constructDCSDictionary(t,e.value.decorators,r),e.value.decorators=this.filterOutDecorators(e.value.decorators)}return e}processProperties(e,t,r){return e.map((e=>{if(e.decorators){const n={declaration:t,property:e.name};this.constructDCSDictionary(r,e.decorators,n),e.decorators=this.filterOutDecorators(e.decorators)}return e}))}processDeclarations(e,t){return e.map((e=>{if(e.decorators){const r={declaration:e.name};this.constructDCSDictionary(t,e.decorators,r),e.decorators=this.filterOutDecorators(e.decorators)}if(e.$class===`${o}.MapDeclaration`&&(e=this.processMapDeclaration(e,t)),e.properties){const r=this.processProperties(e.properties,e.name,t);e.properties=r}return e}))}processModels(){const e=this.sourceModelAst.models.map((e=>{e?.decorators?.length>0&&(this.constructDCSDictionary(e.namespace,e.decorators,{}),e.decorators=this.filterOutDecorators(e.decorators));const t=this.processDeclarations(e.declarations,e.namespace);return e.declarations=t,e}));this.updatedModelAst={...this.updatedModelAst,models:e}}extract(){this.processModels();const e=new n;e.fromAst(this.updatedModelAst);const t=this.transformDecoratorsAndVocabularies();return{updatedModelManager:e,decoratorCommandSet:t.decoratorCommandSet,vocabularies:t.vocabularies}}}e.exports=s},6033:(e,t,r)=>{"use strict";const n=r(9481),a=r(3673),o=r(1595),s=r(1768),{MetaModelNamespace:i}=r(3348),c=r(2722),l=r(8298),{Warning:u,ErrorCodes:p}=r(1209);void 0===r.g&&r(6226);const d="0.4.0",m="concerto version \"^3.0.0\"\nnamespace org.accordproject.decoratorcommands@0.4.0\n\nimport concerto.metamodel@1.0.0.Decorator\n\n/**\n * A reference to an existing named & versioned DecoratorCommandSet\n */\nconcept DecoratorCommandSetReference {\n o String name\n o String version\n}\n\n/**\n * Whether to upsert or append the decorator\n */\nenum CommandType {\n o UPSERT\n o APPEND\n}\n\n/**\n * Which models elements to add the decorator to. Any null\n * elements are 'wildcards'.\n */\nconcept CommandTarget {\n o String namespace optional\n o String declaration optional\n o String property optional\n o String[] properties optional // property and properties are mutually exclusive\n o String type optional\n o MapElement mapElement optional\n}\n\n/**\n * Map Declaration elements which might be used as a target\n */\nenum MapElement {\n o KEY\n o VALUE\n o KEY_VALUE\n}\n\n/**\n * Applies a decorator to a given target\n */\nconcept Command {\n o CommandTarget target\n o Decorator decorator\n o CommandType type\n o String decoratorNamespace optional\n}\n\n/**\n * A named and versioned set of commands. Includes are supported for modularity/reuse.\n */\nconcept DecoratorCommandSet {\n o String name\n o String version\n o DecoratorCommandSetReference[] includes optional // not yet supported\n o Command[] commands\n}\n";class h{constructor(e,t){this.command=e,this.index=t}getCommand(){return this.command}getIndex(){return this.index}}class f{static validate(e,t){const r=new n({strict:!0,metamodelValidation:!0,addMetamodel:!0});t&&r.addModelFiles(t),r.addCTOModel(m,"decoratorcommands@0.3.0.cto");const s=new o(r);return new a(s,r).fromJSON(e),r}static migrateTo(e,t){if(e instanceof Object)for(let r in e){if("$class"===r&&e[r].includes("org.accordproject.decoratorcommands")){const t=s.getNamespace(e.$class);e[r]=e[r].replace(s.parseNamespace(t).version,d)}(e[r]instanceof Object||e[r]instanceof Array)&&this.migrateTo(e[r],t)}return e}static canMigrate(e,t){const r=s.parseNamespace(s.getNamespace(e.$class)).version;return c.major(r)===c.major(t)&&c.minor(r)<c.minor(t)}static addDcsWithIndexToMap(e,t,r){const n=e.get(t);n?n.push(r):e.set(t,[r])}static getDecoratorMaps(e){const t=new Map,r=new Map,n=new Map,a=new Map,o=new Map;return e.commands.map(((e,s)=>{const i=new h(e,s);switch(!0){case!!e?.target?.type:this.addDcsWithIndexToMap(o,e.target.type,i);break;case!!e?.target?.property:this.addDcsWithIndexToMap(n,e.target.property,i);break;case!!e?.target?.properties:e.target.properties.forEach((e=>{this.addDcsWithIndexToMap(n,e,i)}));break;case!!e?.target?.mapElement:this.addDcsWithIndexToMap(a,e.target.mapElement,i);break;case!!e?.target?.declaration:this.addDcsWithIndexToMap(r,e.target.declaration,i);break;case!!e?.target?.namespace:this.addDcsWithIndexToMap(t,e.target.namespace,i)}})),{namespaceCommandsMap:t,declarationCommandsMap:r,propertyCommandsMap:n,mapElementCommandsMap:a,typeCommandsMap:o}}static migrateAndValidate(e,t,r,s,i){if(r&&this.canMigrate(t,d)&&(t=this.migrateTo(t,d)),s){const r=new n({strict:!0,metamodelValidation:!0,addMetamodel:!0,enableMapType:!!e?.enableMapType,importAliasing:e.isAliasedTypeEnabled()});r.addModelFiles(e.getModelFiles()),r.addCTOModel(m,"decoratorcommands@0.4.0.cto");const s=new o(r);new a(s,r).fromJSON(t),i&&t.commands.forEach((e=>{f.validateCommand(r,e)}))}}static pushMapValues(e,t,r){const n=t.get(r);n&&e.push(...n)}static decorateModels(e,t,r){this.migrateAndValidate(e,t,r?.migrate,r?.validate,r?.validateCommands);const a=t.commands.map((e=>[{$class:`${i}.ImportType`,name:e.decorator.name,namespace:e.decorator.namespace?e.decorator.namespace:r?.defaultNamespace}].concat(e.decorator.arguments?e.decorator.arguments?.filter((e=>e.type)).map((e=>({$class:`${i}.ImportType`,name:e.type.name,namespace:e.type.namespace?e.type.namespace:r?.defaultNamespace}))):[]))).flat().filter((e=>e.namespace)),{namespaceCommandsMap:o,declarationCommandsMap:c,propertyCommandsMap:l,mapElementCommandsMap:u,typeCommandsMap:p}=this.getDecoratorMaps(t),d=e.getAst(!0,!0),m=JSON.parse(JSON.stringify(d));m.models.forEach((e=>{const t=a.filter((t=>t.namespace!==e.namespace));e.imports=e.imports?e.imports.concat(t):t,e.declarations.forEach((t=>{const n=[],{name:a,$class:d}=t;this.pushMapValues(n,c,a),this.pushMapValues(n,o,e.namespace);const m=s.parseNamespace(e.namespace).name;if(this.pushMapValues(n,o,m),this.pushMapValues(n,p,d),n.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((n=>{this.executeCommand(e.namespace,t,n.getCommand(),null,r),this.isNamespaceTargetEnabled(r?.enableDcsNamespaceTarget)&&this.executeNamespaceCommand(e,n.getCommand())})),d===`${i}.MapDeclaration`){const r=[];this.pushMapValues(r,p,t.key.$class),this.pushMapValues(r,p,t.value.$class),this.pushMapValues(r,u,"KEY"),this.pushMapValues(r,u,"VALUE"),this.pushMapValues(r,u,"KEY_VALUE"),r.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((r=>{this.executeCommand(e.namespace,t,r.getCommand())}))}t.properties&&t.properties.forEach((r=>{const n=[],{name:a,$class:o}=r;this.pushMapValues(n,l,a),this.pushMapValues(n,p,o),n.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((n=>{this.executeCommand(e.namespace,t,n.getCommand(),r)}))}))}))}));const h=!!e?.enableMapType,f=new n({strict:e.isStrict(),enableMapType:h,importAliasing:e.isAliasedTypeEnabled(),decoratorValidation:e.getDecoratorValidation()});return f.fromAst(m),f}static extractDecorators(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0,!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_ALL).extract();return{modelManager:n.updatedModelManager,decoratorCommandSet:n.decoratorCommandSet,vocabularies:n.vocabularies}}static extractVocabularies(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0,!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_VOCAB).extract();return{modelManager:n.updatedModelManager,vocabularies:n.vocabularies}}static extractNonVocabDecorators(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_NON_VOCAB).extract();return{modelManager:n.updatedModelManager,decoratorCommandSet:n.decoratorCommandSet}}static validateCommand(e,t){t.target.type&&e.resolveType("DecoratorCommand.type",t.target.type);let r=null;if(t.target.namespace&&(r=e.getModelFile(t.target.namespace),!r)){const{name:n,version:a}=s.parseNamespace(t.target.namespace);a||(r=e.getModelFiles().find((e=>function(e,t){const{name:r}=s.parseNamespace(e.getNamespace());return r===t}(e,n))))}if(t.target.namespace&&!r)throw new Error(`Decorator Command references namespace "${t.target.namespace}" which does not exist: ${JSON.stringify(t,null,2)}`);if(t.target.namespace&&t.target.declaration&&e.resolveType("DecoratorCommand.target.declaration",`${r.getNamespace()}.${t.target.declaration}`),t.target.properties&&t.target.property)throw new Error("Decorator Command references both property and properties. You must either reference a single property or a list of properites.");if(t.target.namespace&&t.target.declaration&&t.target.property&&!e.getType(`${r.getNamespace()}.${t.target.declaration}`).getProperty(t.target.property))throw new Error(`Decorator Command references property "${t.target.namespace}.${t.target.declaration}.${t.target.property}" which does not exist.`);if(t.target.namespace&&t.target.declaration&&t.target.properties){const n=e.getType(`${r.getNamespace()}.${t.target.declaration}`);t.target.properties.forEach((e=>{if(!n.getProperty(e))throw new Error(`Decorator Command references property "${t.target.namespace}.${t.target.declaration}.${e}" which does not exist.`)}))}}static applyDecoratorForMapElement(e,t,r,n,a){const o="KEY"===e?r.key:r.value;t.type?this.falsyOrEqual(t.type,o.$class)&&this.applyDecorator(o,n,a):this.applyDecorator(o,n,a)}static falsyOrEqual(e,t){return Array.isArray(e)?function(e,t){const r=new Set(e),n=new Set(t),a=new Set([...r].filter((e=>n.has(e))));return Array.from(a)}(e,t).length>0:!e||t.includes(e)}static applyDecorator(e,t,r){if("UPSERT"===t){let t=!1;if(e.decorators)for(let n=0;n<e.decorators.length;n++)e.decorators[n].name===r.name&&(e.decorators[n]=r,t=!0);t||(e.decorators?e.decorators.push(r):e.decorators=[r])}else{if("APPEND"!==t)throw new Error(`Unknown command type ${t}`);e.decorators?e.decorators.push(r):e.decorators=[r]}}static executeNamespaceCommand(e,t){const{target:r,decorator:n,type:a}=t;if(2===Object.keys(r).length&&r.namespace){const{name:t}=s.parseNamespace(e.namespace);this.falsyOrEqual(r.namespace,[e.namespace,t])&&this.applyDecorator(e,a,n)}}static executeCommand(e,t,r,n,a){const{target:o,decorator:c,type:l}=r,{name:u}=s.parseNamespace(e);if(this.falsyOrEqual(o.namespace,[e,u])&&this.falsyOrEqual(o.declaration,[t.name]))if(t.$class===`${i}.MapDeclaration`)if(o.mapElement)switch(o.mapElement){case"KEY":case"VALUE":this.applyDecoratorForMapElement(o.mapElement,o,t,l,c);break;case"KEY_VALUE":this.applyDecoratorForMapElement("KEY",o,t,l,c),this.applyDecoratorForMapElement("VALUE",o,t,l,c)}else o.type?(this.falsyOrEqual(o.type,t.key.$class)&&this.applyDecorator(t.key,l,c),this.falsyOrEqual(o.type,t.value.$class)&&this.applyDecorator(t.value,l,c)):this.checkForNamespaceTargetAndApplyDecorator(t,l,c,o,a?.enableDcsNamespaceTarget);else o.property||o.properties||o.type?n&&this.executePropertyCommand(n,r):this.checkForNamespaceTargetAndApplyDecorator(t,l,c,o,a?.enableDcsNamespaceTarget)}static executePropertyCommand(e,t){const{target:r,decorator:n,type:a}=t;(r.properties||r.property||r.type)&&this.falsyOrEqual(r.property?r.property:r.properties,[e.name])&&this.falsyOrEqual(r.type,[e.$class])&&this.applyDecorator(e,a,n)}static checkForNamespaceTargetAndApplyDecorator(e,t,r,n,a){this.isNamespaceTargetEnabled(a)?n.declaration&&this.applyDecorator(e,t,r):this.applyDecorator(e,t,r)}static isNamespaceTargetEnabled(e){return!(!e&&"true"!=={NODE_ENV:"production"}.ENABLE_DCS_NAMESPACE_TARGET&&(u.printDeprecationWarning("Functionality for namespace targeted Decorator Command Sets has changed. Using namespace targets to apply decorators on all declarations in a namespace will be deprecated soon.",p.DEPRECATION_WARNING,p.CONCERTO_DEPRECATION_001,"Please refer to https://concerto.accordproject.org/deprecation/001"),1))}}e.exports=f},1051:(e,t,r)=>{"use strict";const n=r(480);e.exports={getDecoratorModel:function(){return{decoratorModelFile:"concerto_decorator_1.0.0.cto",decoratorModelCto:"namespace concerto.decorator@1.0.0\n abstract concept Decorator {}\n concept DotNetNamespace extends Decorator {\n o String namespace\n }",decoratorModelAst:JSON.parse(JSON.stringify(n))}}}},1595:(e,t,r)=>{"use strict";const{TypedStack:n}=r(1209),a=r(124)("concerto:Factory"),o=r(2438),s=r(1768),i=r(6422),c=r(7854),l=r(2552),u=r(6113),p=r(7755),d=r(289),m=r(182),h=r(3464),f=r(7657);h.extend(f),void 0===r.g&&r(9481);class g{static newId(){return m.v4()}constructor(e){this.modelManager=e}newResource(e,t,r,n){n=n||{};const i=s.getFullyQualifiedName(e,t),c=this.modelManager.getType(i);if(c.isAbstract()){let r=o.messageFormatter("factory-newinstance-abstracttype");throw new Error(r({namespace:e,type:t}))}let u=c.getIdentifierFieldName();if(c.isSystemIdentified()&&(r=null==r?g.newId():r),u){if("string"!=typeof r){let r=o.messageFormatter("factory-newinstance-invalididentifier");throw new Error(r({namespace:e,type:t}))}if(0===r.trim().length){let r=o.messageFormatter("factory-newinstance-missingidentifier");throw new Error(r({namespace:e,type:t}))}if(r){let e=c.getProperty(u);if(e?.isTypeScalar?.()&&(e=e.getScalarField()),e?.validator?.regex&&!1===e.validator?.regex.test(r))throw new Error("Provided id does not match regex: "+e?.validator?.regex)}}else if(r)throw new Error("Type is not identifiable "+c.getFullyQualifiedName());let m=null,f=null;return(c.isTransaction()||c.isEvent())&&(f=h.utc()),m=n.disableValidation?new p(this.modelManager,c,e,t,r,f):new d(this.modelManager,c,e,t,r,f,new l),m.assignFieldDefaults(),this.initializeNewObject(m,c,n),u&&(m[u]=r),a("newResource","Factory.newResource created ",r||"valid"),m}newConcept(e,t,r,n){return this.newResource(e,t,r,n)}newRelationship(e,t,r){const n=s.getFullyQualifiedName(e,t),a=this.modelManager.getType(n);if(!a.isIdentified())throw new Error(`Cannot create a relationship to ${n}, it is not identifiable.`);return new u(this.modelManager,a,e,t,r)}newTransaction(e,t,r,n){if(!e)throw new Error("ns not specified");if(!t)throw new Error("type not specified");let a=this.newResource(e,t,r,n);if(!a.getClassDeclaration().isTransaction())throw new Error(a.getClassDeclaration().getFullyQualifiedName()+" is not a transaction");return a}newEvent(e,t,r,n){if(!e)throw new Error("ns not specified");if(!t)throw new Error("type not specified");let a=this.newResource(e,t,r,n);if(!a.getClassDeclaration().isEvent())throw new Error(a.getClassDeclaration().getFullyQualifiedName()+" is not an event");return a}initializeNewObject(e,t,r){const a=this.parseGenerateOptions(r);if(a){a.stack=new n(e),a.seen=[e.getFullyQualifiedType()];const r=new i;t.accept(r,a)}}parseGenerateOptions(e){if(!e.generate)return null;const t={};return t.modelManager=this.modelManager,t.factory=this,/^empty$/i.test(e.generate)?t.valueGenerator=c.empty():t.valueGenerator=c.sample(),t.includeOptionalFields=!!e.includeOptionalFields,t}}e.exports=g},2438:(e,t,r)=>{"use strict";const n=r(8168);function a(e){return function(t){let r=n.en[e];for(let e in t)r=r.replace(new RegExp(`\\{${e}\\}`,"g"),t[e]);return r}}function o(e){return n.en[e]}function s(e){return{messageFormatter:a,formatMessage:o}}s.messageFormatter=a,s.formatMessage=o,e.exports=s},953:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"AssetDeclaration"}}},9869:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(5437),o=r(8171),s=r(1529),i=r(2438),c=r(1861),l=r(4471),u=r(6099),p=r(1768);void 0===r.g&&r(9852),e.exports=class extends a{process(){if(super.process(),this.properties=[],this.superType=null,this.superTypeDeclaration=null,this.idField=null,this.timestamped=!1,this.abstract=!1,this.type=this.ast.$class,this.ast.isAbstract&&(this.abstract=!0),this.ast.superType?this.superType=this.ast.superType.name:this.modelFile.isSystemModelFile()&&"Concept"===this.name||(this.superType="Concept"),this.ast.identified&&(this.ast.identified.$class===`${n}.IdentifiedBy`?this.idField=this.ast.identified.name:(this.idField="$identifier",this.addIdentifierField())),!Array.isArray(this.ast.properties)){let e=i.messageFormatter("classdeclaration-validate-undefined-properties");throw new c(e({class:this.name}),this.modelFile,this.ast.location)}for(let e=0;e<this.ast.properties.length;e++){let t=this.ast.properties[e];if(p.isSystemProperty(t.name))throw new c(`Invalid field name '${t.name}'`,this.modelFile,this.ast.location);if(t.$class===`${n}.RelationshipProperty`)this.properties.push(new u(this,t));else if(t.$class===`${n}.EnumProperty`)this.properties.push(new o(this,t));else{if(t.$class!==`${n}.BooleanProperty`&&t.$class!==`${n}.StringProperty`&&t.$class!==`${n}.IntegerProperty`&&t.$class!==`${n}.LongProperty`&&t.$class!==`${n}.DoubleProperty`&&t.$class!==`${n}.DateTimeProperty`&&t.$class!==`${n}.ObjectProperty`){let e=i.messageFormatter("classdeclaration-process-unrecmodelelem");throw new c(e({type:t.$class}),this.modelFile,this.ast.location)}this.properties.push(new s(this,t))}}"concerto@1.0.0.Transaction"!==this.fqn&&"concerto@1.0.0.Event"!==this.fqn||this.addTimestampField()}addTimestampField(){const e={};e.$class=`${n}.DateTimeProperty`,e.name="$timestamp",this.properties.push(new s(this,e))}addIdentifierField(){const e={};e.$class=`${n}.StringProperty`,e.name="$identifier",this.properties.push(new s(this,e))}_resolveSuperType(){if(!this.superType)return null;this.superTypeDeclaration=null;let e=null;if(this.getModelFile().isImportedType(this.superType)){let t=this.getModelFile().resolveImport(this.superType);e=this.modelFile.getModelManager().getType(t)}else e=this.getModelFile().getType(this.superType);if(!e)throw new c("Could not find super type "+this.superType,this.modelFile,this.ast.location);if("ConceptDeclaration"!==e.declarationKind()&&this.declarationKind()!==e.declarationKind())throw new c(`${this.declarationKind()} (${this.getName()}) cannot extend ${e.declarationKind()} (${e.getName()})`,this.modelFile,this.ast.location);return this.superTypeDeclaration=e,e}validate(){if(super.validate(),null!==this.superType){if(this.superType===this.name&&!["Asset","Concept","Event","Participant","Transaction"].includes(this.superType)){let e=i("en").messageFormatter("classdeclaration-validate-selfextending");throw new c(e({class:this.name}),this.modelFile,this.ast.location)}this._resolveSuperType()}if(this.idField){const e=this.getProperty(this.idField);if(!e){let e=i("en").messageFormatter("classdeclaration-validate-identifiernotproperty");throw new c(e({class:this.name,idField:this.idField}),this.modelFile,this.ast.location)}{const t="String"===e.getType(),r=e.getParent().getModelFile().getType(e.getType()),n=null!==r&&r.isScalarDeclaration?.()&&"String"===r.getType?.();if(!t&&!n){let e=i("en").messageFormatter("classdeclaration-validate-identifiernotstring");throw new c(e({class:this.name,idField:this.idField}),this.modelFile,this.ast.location)}if(e.isOptional())throw new c("Identifying fields cannot be optional.",this.modelFile,this.ast.location);if(this.superType){const e=this.getModelFile().getType(this.superType);if(e&&e.isIdentified())if(this.isSystemIdentified()){if(!e.isSystemIdentified())throw new c(`Super class ${e.getFullyQualifiedName()} has an explicit identifier ${e.getIdentifierFieldName()} that cannot be redeclared.`,this.modelFile,this.ast.location)}else if(e.isExplicitlyIdentified())throw new c(`Super class ${e.getFullyQualifiedName()} has an explicit identifier ${e.getIdentifierFieldName()} that cannot be redeclared.`,this.modelFile,this.ast.location)}}}const e=this.getProperties(),t=new Set;e.forEach((e=>{const r=e.getName();if(t.has(r)){const e=i("en").messageFormatter("classdeclaration-validate-duplicatefieldname");throw new c(e({class:this.name,fieldName:r}),this.modelFile,this.ast.location)}t.add(r)}));for(let t=0;t<e.length;t++){let r=e[t];if(r.isPrimitive()||this.isEnum()||r.getNamespace()===this.getNamespace())r.validate(this);else{const e=r.getFullyQualifiedTypeName(),t=this.modelFile.getModelManager().getType(e);r.validate(t)}}}isAbstract(){return this.abstract}isIdentified(){return!!this.getIdentifierFieldName()}isSystemIdentified(){return"$identifier"===this.getIdentifierFieldName()}isExplicitlyIdentified(){return!!this.idField&&"$identifier"!==this.idField}getIdentifierFieldName(){if(this.idField)return this.idField;if(this.getSuperType()){let e=this.getModelFile().getLocalType(this.getSuperType());return e||(e=this.modelFile.getModelManager().getType(this.getSuperType())),e.getIdentifierFieldName()}return null}getOwnProperty(e){for(let t=0;t<this.properties.length;t++){const r=this.properties[t];if(r.getName()===e)return r}return null}getOwnProperties(){return this.properties}getSuperType(){const e=this.getSuperTypeDeclaration();return e?e.getFullyQualifiedName():null}getSuperTypeDeclaration(){return this.superType?this.superTypeDeclaration?this.superTypeDeclaration:this._resolveSuperType():null}getAssignableClassDeclarations(){const e=new Set,t=this.getModelFile().getModelManager(),r=new l(t).getClassDeclarations(),n=new Map;r.forEach((e=>{const t=e.getSuperType();if(t){const r=n.get(t)||new Set;r.add(e),n.set(t,r)}}));const a=t=>{t.forEach((t=>{e.add(t);const r=t.getFullyQualifiedName(),o=n.get(r);o&&a(o)}))};return a([this]),Array.from(e)}getDirectSubclasses(){const e=this.getModelFile().getModelManager(),t=new l(e).getClassDeclarations(),r=new Map;t.forEach((e=>{const t=e.getSuperType();if(t){const n=r.get(t)||new Set;n.add(e),r.set(t,n)}}));const n=this.getFullyQualifiedName(),a=r.get(n);return a?Array.from(a):[]}getAllSuperTypeDeclarations(){const e=[];for(let t=this;t=t.getSuperTypeDeclaration();)e.push(t);return e}getProperty(e){let t=this.getOwnProperty(e),r=null;if(null===t&&null!==this.superType){if(this.getModelFile().isImportedType(this.superType)){let e=this.getModelFile().resolveImport(this.superType);r=this.modelFile.getModelManager().getType(e)}else r=this.getModelFile().getType(this.superType);t=r.getProperty(e)}return t}getProperties(){let e=this.getOwnProperties(),t=null;if(null!==this.superType){if(this.getModelFile().isImportedType(this.superType)){let e=this.getModelFile().resolveImport(this.superType);t=this.modelFile.getModelManager().getType(e)}else t=this.getModelFile().getType(this.superType);if(!t)throw new c("Could not find super type "+this.superType,this.modelFile,this.ast.location);e=e.concat(t.getProperties())}return e}getNestedProperty(e){const t=e.split(".");let r=this,n=null;for(let a=0;a<t.length;a++){if(n=r.getProperty(t[a]),null===n)throw new c("Property "+t[a]+" does not exist on "+r.getFullyQualifiedName(),this.modelFile,this.ast.location);if(a<t.length-1){if(n.isPrimitive()||n.isTypeEnum())throw new Error("Property "+t[a]+" is a primitive or enum. Invalid property path: "+e);r=r.getModelFile().getModelManager().getType(n.getFullyQualifiedTypeName())}}return n}toString(){let e="";return this.superType&&(e=" super="+this.superType),"ClassDeclaration {id="+this.getFullyQualifiedName()+e+" enum="+this.isEnum()+" abstract="+this.isAbstract()+"}"}isAsset(){return this.type===`${n}.AssetDeclaration`}isParticipant(){return this.type===`${n}.ParticipantDeclaration`}isTransaction(){return this.type===`${n}.TransactionDeclaration`}isEvent(){return this.type===`${n}.EventDeclaration`}isConcept(){return this.type===`${n}.ConceptDeclaration`}isEnum(){return this.type===`${n}.EnumDeclaration`}isMapDeclaration(){return this.type===`${n}.MapDeclaration`}isClassDeclaration(){return!0}}},6341:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"ConceptDeclaration"}}},5437:(e,t,r)=>{"use strict";const n=r(7688),a=r(1768),o=r(1861);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(t),this.modelFile=e,this.process()}process(){if(super.process(),!a.isValidIdentifier(this.ast.name))throw new o(`Invalid class name '${this.ast.name}'`,this.modelFile,this.ast.location);this.name=this.ast.name,this.fqn=a.getFullyQualifiedName(this.modelFile.getNamespace(),this.name)}getModelFile(){return this.modelFile}getName(){return this.name}getNamespace(){return this.modelFile.getNamespace()}getFullyQualifiedName(){return this.fqn}isIdentified(){return!1}isSystemIdentified(){return!1}getIdentifierFieldName(){return null}getType(){return null}toString(){return null}isEnum(){return!1}isClassDeclaration(){return!1}isScalarDeclaration(){return!1}isMapDeclaration(){return!1}}},7688:(e,t,r)=>{"use strict";const n=r(4404),a=r(1861);void 0===r.g&&r(6226),e.exports=class{constructor(e){if(!e)throw new Error("ast not specified");this.ast=e}getModelFile(){throw new Error("not implemented")}accept(e,t){return e.visit(this,t)}process(){if(this.decorators=[],this.ast.decorators)for(let e=0;e<this.ast.decorators.length;e++){let t,r=this.ast.decorators[e],a=this.getModelFile().getModelManager().getDecoratorFactories();for(let e of a)if(t=e.newDecorator(this,r),t)break;t||(t=new n(this,r)),this.decorators.push(t)}}validate(){if(this.decorators&&this.decorators.length>0){for(let e=0;e<this.decorators.length;e++)this.decorators[e].validate();const e=new Set;this.decorators.forEach((t=>{const r=t.getName();if(e.has(r)){const e=this.getModelFile();throw new a(`Duplicate decorator ${r}`,e,this.ast.location)}e.add(r)}))}}getDecorators(){return this.decorators}getDecorator(e){for(let t=0;t<this.decorators.length;t++){let r=this.decorators[t];if(r.getName()===e)return r}return null}}},4404:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),{Logger:a}=r(1209),o=r(1768),s=r(1861);void 0===r.g&&(r(9869),r(9852)),e.exports=class{constructor(e,t){this.ast=t,this.parent=e,this.arguments=null,this.process()}handleError(e,t){if(a.dispatch(e,t),"error"===e)throw new s(t,this.getParent().getModelFile(),this.ast.location)}accept(e,t){return e.visit(this,t)}getParent(){return this.parent}process(){if(this.name=this.ast.name,this.arguments=[],this.ast.arguments)for(let e=0;e<this.ast.arguments.length;e++){let t=this.ast.arguments[e];t&&(t.$class===`${n}.DecoratorTypeReference`?this.arguments.push({type:"Identifier",name:t.type.name,array:t.isArray}):this.arguments.push(t.value))}}validate(){const e=this.getParent().getModelFile(),t=this.getParent().getFullyQualifiedName?.(),r=e.getModelManager().getDecoratorValidation();if(r.missingDecorator||r.invalidDecorator)try{e.resolveType(t,this.getName(),this.ast.location);const n=e.getType(this.getName()),a=n.getProperties().filter((e=>!e.isOptional())),s=n.getProperties().filter((e=>e.isOptional())),i=[...a,...s];if(this.getArguments().length<a.length){const e=`Decorator ${this.getName()} has too few arguments. Required properties are: [${a.map((e=>e.getName())).join()}]`;this.handleError(r.invalidDecorator,e)}const c=this.getArguments();for(let t=0;t<c.length;t++){const n=c[t];if(t>i.length-1){const e=`Decorator ${this.getName()} has too many arguments. Properties are: [${i.map((e=>e.getName())).join()}]`;this.handleError(r.invalidDecorator,e)}else{const a=i[t],s=typeof n;switch(a.getType()){case"Integer":case"Double":case"Long":if("number"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected number. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;case"String":if("string"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected string. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;case"Boolean":if("boolean"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected boolean. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;default:{if("object"!==s||"Identifier"!==n?.type){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected object. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}const t=e.getType(n.name);if(t){if(!o.isAssignableTo(t.getModelFile(),t.getFullyQualifiedName(),a)){const e=`Decorator ${this.getName()} references a type ${n.name} which cannot be assigned to the declared type ${a.getFullyQualifiedTypeName()}`;this.handleError(r.invalidDecorator,e)}}else{const e=`Decorator ${this.getName()} references a type ${n.name} which has not been defined/imported.`;this.handleError(r.invalidDecorator,e)}break}}}}}catch(e){this.handleError(r.missingDecorator,e)}}getName(){return this.name}getArguments(){return this.arguments}isDecorator(){return!0}}},8088:(e,t,r)=>{"use strict";void 0===r.g&&(r(9869),r(4404),r(9852)),e.exports=class{newDecorator(e,t){throw new Error("abstract function called")}}},2302:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}toString(){return"EnumDeclaration {id="+this.getFullyQualifiedName()+"}"}declarationKind(){return"EnumDeclaration"}}},8171:(e,t,r)=>{"use strict";const n=r(9852);void 0===r.g&&r(9869),e.exports=class extends n{constructor(e,t){super(e,t)}validate(e){super.validate(e)}isEnumValue(){return!0}}},7337:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}process(){super.process()}declarationKind(){return"EventDeclaration"}}},1529:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(9852),o=r(1976),s=r(516),i=r(1209).NullUtil;void 0===r.g&&(r(9869),r(6375));class c extends a{constructor(e,t){super(e,t),this.scalarField=null}process(){switch(super.process(),this.validator=null,this.getType()){case"Integer":case"Double":case"Long":this.ast.validator&&(this.validator=new o(this,this.ast.validator));break;case"String":(this.ast.validator||this.ast.lengthValidator)&&(this.validator=new s(this,this.ast.validator,this.ast.lengthValidator))}i.isNull(this.ast.defaultValue)?this.defaultValue=null:this.defaultValue=this.ast.defaultValue}getValidator(){return this.validator}getDefaultValue(){return this.defaultValue}toString(){return"Field {name="+this.name+", type="+this.getFullyQualifiedTypeName()+", array="+this.array+", optional="+this.optional+"}"}isField(){return!0}isTypeScalar(){if(this.isPrimitive())return!1;{this.getParent().getModelFile().resolveType("property "+this.getFullyQualifiedName(),this.getType());const e=this.getParent().getModelFile().getType(this.getType());return e.isScalarDeclaration?.()}}getScalarField(){if(this.scalarField)return this.scalarField;if(!this.isTypeScalar())throw new Error(`Field ${this.name} is not a scalar property.`);const e=this.getParent().getModelFile().getType(this.getType()),t=JSON.parse(JSON.stringify(e.ast));switch(e.ast.$class){case`${n}.StringScalar`:t.$class=`${n}.StringProperty`;break;case`${n}.BooleanScalar`:t.$class=`${n}.BooleanProperty`;break;case`${n}.DateTimeScalar`:t.$class=`${n}.DateTimeProperty`;break;case`${n}.DoubleScalar`:t.$class=`${n}.DoubleProperty`;break;case`${n}.IntegerScalar`:t.$class=`${n}.IntegerProperty`;break;case`${n}.LongScalar`:t.$class=`${n}.LongProperty`;break;default:throw new Error(`Unrecognized scalar type ${e.ast.$class}`)}return t.name=this.ast.name,this.scalarField=new c(this.getParent(),t),this.scalarField.array=this.isArray(),this.scalarField}}e.exports=c},8058:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t),this.process()}}},1861:(e,t,r)=>{"use strict";const{BaseFileException:n}=r(1209);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t,r,n){let a="",o=null;t&&t.getName()&&(o=t.getName(),a="File '"+o+"': "),r&&(a=a+"line "+r.start.line+" column "+r.start.column+", to line "+r.end.line+" column "+r.end.column+". "),a=a.charAt(0).toUpperCase()+a.slice(1),super(e,r,e+" "+a,o,n)}}},4471:(e,t,r)=>{"use strict";void 0===r.g&&(r(9869),r(9481)),e.exports=class{constructor(e){this.modelManager=e}accept(e,t){return e.visit(this,t)}getClassDeclarations(){let e=[];const t=this.modelManager.getModelFiles();for(let r=0;r<t.length;r++){const n=t[r].getAllDeclarations().filter((e=>!e.isMapDeclaration?.()&&!e.isScalarDeclaration?.()));e=e.concat(n)}return e}getClassDeclaration(e){return this.modelManager.getType(e)}getModelManager(){return this.modelManager}}},3135:(e,t,r)=>{"use strict";const n=r(5437),a=r(1861),o=r(7046),s=r(8968),i=r(1768);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){const r=e.getModelManager();if("true"!=={NODE_ENV:"production"}.ENABLE_MAP_TYPE&&!r.enableMapType)throw new Error('MapType feature is not enabled. Please set the environment variable "ENABLE_MAP_TYPE=true", or add {enableMapType: true} to the ModelManger options, to access this functionality.');super(e,t),this.modelFile=e,this.process()}process(){if(super.process(),!this.ast.key||!this.ast.value)throw new a(`MapDeclaration must contain Key & Value properties ${this.ast.name}`,this.modelFile,this.ast.location);if(!i.isValidMapKey(this.ast.key))throw new a(`MapDeclaration must contain valid MapKeyType ${this.ast.name}`,this.modelFile,this.ast.location);if(!i.isValidMapValue(this.ast.value))throw new a(`MapDeclaration must contain valid MapValueType, for MapDeclaration ${this.ast.name}`,this.modelFile,this.ast.location);this.name=this.ast.name,this.key=new s(this,this.ast.key),this.value=new o(this,this.ast.value),this.fqn=i.getFullyQualifiedName(this.modelFile.getNamespace(),this.ast.name)}validate(){super.validate(),this.key.validate(),this.value.validate()}getFullyQualifiedName(){return this.fqn}getModelFile(){return this.modelFile}getName(){return this.name}getKey(){return this.key}getValue(){return this.value}toString(){return"MapDeclaration {id="+this.getFullyQualifiedName()+"}"}declarationKind(){return"MapDeclaration"}isMapDeclaration(){return!0}}},8968:(e,t,r)=>{"use strict";const n=r(1768),{MetaModelNamespace:a}=r(3348),o=r(7688),s=r(1861);void 0===r.g&&(r(6226),r(3135)),e.exports=class extends o{constructor(e,t){super(t),this.parent=e,this.modelFile=e.getModelFile(),this.process()}process(){super.process(),this.processType(this.ast)}validate(){if(!n.isPrimitiveType(this.type)){const e=this.modelFile.getType(this.ast.type.name);if(!n.isValidMapKeyScalar(e))throw new s(`Scalar must be one of StringScalar, DateTimeScalar in context of MapKeyType. Invalid Scalar: ${this.type}, for MapDeclaration ${this.parent.name}`)}}processType(e){switch(e.$class){case`${a}.DateTimeMapKeyType`:this.type="DateTime";break;case`${a}.StringMapKeyType`:this.type="String";break;case`${a}.ObjectMapKeyType`:this.type=String(this.ast.type.name)}}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}getType(){return this.type}toString(){return"MapKeyType {id="+this.getType()+"}"}isKey(){return!0}isValue(){return!1}getNamespace(){return this.modelFile.getNamespace()}}},7046:(e,t,r)=>{"use strict";const n=r(7688),{MetaModelNamespace:a}=r(3348),o=r(1861),s=r(1768);void 0===r.g&&(r(6226),r(3135)),e.exports=class extends n{constructor(e,t){super(t),this.parent=e,this.modelFile=e.getModelFile(),this.process()}process(){super.process(),this.processType(this.ast)}validate(){if(!s.isPrimitiveType(this.type)){const e=this.modelFile.getType(this.ast.type.name);if(e.isMapDeclaration?.())throw new o(`MapDeclaration as Map Type Value is not supported: ${this.type}`)}}processType(e){switch(this.ast.$class){case`${a}.ObjectMapValueType`:if(!("type"in e))throw new o(`ObjectMapValueType must contain property 'type', for MapDeclaration named ${this.parent.name}`);if(!("$class"in e.type)||!("name"in e.type))throw new o(`ObjectMapValueType type must contain property '$class' and property 'name', for MapDeclaration named ${this.parent.name}`);if("concerto.metamodel@1.0.0.TypeIdentifier"!==e.type.$class)throw new o(`ObjectMapValueType type $class must be of TypeIdentifier for MapDeclaration named ${this.parent.name}`);this.type=String(this.ast.type.name);break;case`${a}.BooleanMapValueType`:this.type="Boolean";break;case`${a}.DateTimeMapValueType`:this.type="DateTime";break;case`${a}.StringMapValueType`:this.type="String";break;case`${a}.IntegerMapValueType`:this.type="Integer";break;case`${a}.LongMapValueType`:this.type="Long";break;case`${a}.DoubleMapValueType`:this.type="Double"}}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}getType(){return this.type}toString(){return"MapValueType {id="+this.getType()+"}"}isKey(){return!1}isValue(){return!0}getNamespace(){return this.modelFile.getNamespace()}}},3899:(e,t,r)=>{"use strict";const{MetaModelUtil:n}=r(3348),a=r(9481),o=r(1595),s=r(3673),i=r(6226);function c(){const e=new a,t=new i(e,n.metaModelAst,n.metaModelCto,"concerto.metamodel",!0);return e.addModelFile(t,n.metaModelCto,"concerto.metamodel"),e}function l(e){const t=c(),r=new o(t);return new s(r,t).fromJSON(e),e}e.exports={newMetaModelManager:c,validateMetaModel:l,modelManagerFromMetaModel:function(e){const t=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?e:l(e),r=new a;return t.models.forEach((e=>{const t=new i(r,e,null,null,!0);r.addModelFile(t,null,null)})),r.validateModelFiles(),r}}},6226:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(8330),o=r(2722),s=r(953),i=r(2302),c=r(9869),l=r(6341),u=r(7189),p=r(3218),d=r(745),m=r(7337),h=r(1861),f=r(3135),g=r(1768),y=r(2438),v=r(7688),{Warning:$,ErrorCodes:A}=r(1209);void 0===r.g&&(r(9869),r(9481),r(5437));class b extends v{constructor(e,t,r,n){if(super(t),this.modelManager=e,this.external=!1,this.declarations=[],this.localTypes=null,this.imports=[],this.importShortNames=new Map,this.importWildcardNamespaces=[],this.importUriMap={},this.fileName="UNKNOWN",this.concertoVersion=null,this.version=null,!t||"object"!=typeof t)throw new Error("ModelFile expects a Concerto model AST as input.");if(this.ast=t,r&&"string"!=typeof r)throw new Error("ModelFile expects an (optional) Concerto model definition as a string.");if(this.definitions=r,n&&"string"!=typeof n)throw new Error("ModelFile expects an (optional) filename as a string.");this.fileName=n,n&&(this.external=n.startsWith("@")),this.process(),this.fromAst(this.ast),this.isCompatibleVersion(),this.localTypes=new Map;for(let e in this.declarations){let t=this.declarations[e],r=this.getNamespace()+"."+t.getName();this.localTypes.set(r,this.declarations[e])}}getModelFile(){return this}isModelFile(){return!0}getVersion(){return this.version}isSystemModelFile(){return this.namespace.startsWith("concerto@")||"concerto"===this.namespace}isExternal(){return this.external}getImportURI(e){return this.importUriMap[e]||null}getExternalImports(){return this.importUriMap}accept(e,t){return e.visit(this,t)}getModelManager(){return this.modelManager}getImports(){let e=[];return this.imports.forEach((t=>{e=e.concat(g.importFullyQualifiedNames(t))})),e}validate(){super.validate();const e=new Map;this.getImports().forEach((t=>{const r=g.getNamespace(t),n=g.getShortName(t),a=this.getModelManager().getModelFile(r),{name:o,version:s}=g.parseNamespace(r);if(!a){let e=y.messageFormatter("modelmanager-gettype-noregisteredns");throw new h(e({type:t}),this)}const i=e.get(o);if("concerto"!==o&&void 0!==i&&i!==s){let e=y.messageFormatter("modelmanager-gettype-duplicatensimport");throw new h(e({namespace:r,version1:i,version2:s}),this)}if(e.set(o,s),!t.endsWith("*")&&!a.isLocalType(n)){let e=y.messageFormatter("modelmanager-gettype-notypeinns");throw new h(e({type:n,namespace:r}),this)}}));const t=new Set;this.declarations.forEach((e=>{const r=e.getFullyQualifiedName();if(t.has(r))throw new h(`Duplicate class name ${r}`);t.add(r)}));for(let e=0;e<this.declarations.length;e++)this.declarations[e].validate()}resolveType(e,t,r){if(!g.isPrimitiveType(t))if(this.isImportedType(t))this.getModelManager().resolveType(e,this.resolveImport(t));else if(!this.isLocalType(t)){let n=y("en").messageFormatter("modelfile-resolvetype-undecltype");throw new h(n({type:t,context:e}),this,r)}}isLocalType(e){return e&&null!==this.getLocalType(e)}isImportedType(e){if(this.importShortNames.has(e))return!0;for(let t in this.importWildcardNamespaces){let r=this.importWildcardNamespaces[t];const n=this.getModelManager().getModelFile(r);if(n&&n.isLocalType(e))return!0}return!1}resolveImport(e){if(this.importShortNames.has(e))return this.importShortNames.get(e);for(let t in this.importWildcardNamespaces){let r=this.importWildcardNamespaces[t];const n=this.getModelManager().getModelFile(r);if(n&&n.isLocalType(e))return r+"."+e}let t=y("en").messageFormatter("modelfile-resolveimport-failfindimp");throw new h(t({type:e,imports:JSON.stringify(this.imports),namespace:this.getNamespace()}),this)}getImportedType(e){return this.resolveImport(e).split(".").pop()}isDefined(e){return g.isPrimitiveType(e)||null!==this.getLocalType(e)}getType(e){if(g.isPrimitiveType(e))return e;if(this.isImportedType(e)){const t=this.resolveImport(e),r=this.getModelManager().getModelFile(g.getNamespace(t));return r?r.getLocalType(t):null}return this.isLocalType(e)?this.getLocalType(e):null}getFullyQualifiedTypeName(e){return g.isPrimitiveType(e)?e:this.isImportedType(e)?this.resolveImport(e):this.isLocalType(e)?this.getLocalType(e).getFullyQualifiedName():null}getLocalType(e){if(!this.localTypes)throw new Error("Internal error: local types are not yet initialized. Do not try to resolve types inside `process`.");return e.startsWith(this.getNamespace())||(e=this.getNamespace()+"."+e),this.localTypes.has(e)?this.localTypes.get(e):null}getAssetDeclaration(e){let t=this.getLocalType(e);return t&&t.isAsset()?t:null}getTransactionDeclaration(e){let t=this.getLocalType(e);return t&&t.isTransaction()?t:null}getEventDeclaration(e){let t=this.getLocalType(e);return t&&t.isEvent()?t:null}getParticipantDeclaration(e){let t=this.getLocalType(e);return t&&t.isParticipant()?t:null}getNamespace(){return this.namespace}getName(){return this.fileName}getAssetDeclarations(){return this.getDeclarations(s)}getTransactionDeclarations(){return this.getDeclarations(d)}getEventDeclarations(){return this.getDeclarations(m)}getParticipantDeclarations(){return this.getDeclarations(p)}getClassDeclarations(){return this.getDeclarations(c)}getConceptDeclarations(){return this.getDeclarations(l)}getEnumDeclarations(){return this.getDeclarations(i)}getMapDeclarations(){return this.getDeclarations(f)}getScalarDeclarations(){return this.getDeclarations(u)}getDeclarations(e){let t=[];for(let r=0;r<this.declarations.length;r++){let n=this.declarations[r];n instanceof e&&t.push(n)}return t}getAllDeclarations(){return this.declarations}getDefinitions(){return this.definitions}getAst(){return this.ast}getConcertoVersion(){return this.concertoVersion}isCompatibleVersion(){if(this.ast.concertoVersion){if(!o.satisfies(a.version,this.ast.concertoVersion,{includePrerelease:!0}))throw new Error(`ModelFile expects Concerto version ${this.ast.concertoVersion} but this is ${a.version}`);this.concertoVersion=this.ast.concertoVersion}}enforceImportVersioning(e){if(this.getModelManager().isStrict()&&!g.parseNamespace(e.namespace).version)throw new Error(`Cannot use an unversioned import ${e.namespace} when 'strict' option on Model Manager is set.`)}fromAst(e){const t=g.parseNamespace(e.namespace);t.name.split(".").forEach((e=>{if(!g.isValidIdentifier(e))throw new h(`Invalid namespace part '${e}'`,this.modelFile,this.ast.location)})),this.namespace=e.namespace,this.version=t.version;const r=e.imports?e.imports.concat([]):[];if(this.isSystemModelFile()||r.push({$class:`${n}.ImportTypes`,namespace:"concerto@1.0.0",types:["Concept","Asset","Transaction","Participant","Event"]}),this.imports=r,this.imports.forEach((e=>{switch(this.enforceImportVersioning(e),e.$class){case`${n}.ImportAll`:if(this.getModelManager().isStrict())throw new Error("Wilcard Imports are not permitted in strict mode.");$.printDeprecationWarning("Wilcard Imports are deprecated in this version of Concerto and will be removed in a future version.",A.DEPRECATION_WARNING,A.CONCERTO_DEPRECATION_002,"Please refer to https://concerto.accordproject.org/deprecation/002"),this.importWildcardNamespaces.push(e.namespace);break;case`${n}.ImportTypes`:if(this.getModelManager().isAliasedTypeEnabled()){const t=new Map;e.aliasedTypes&&e.aliasedTypes.forEach((e=>{let{name:r,aliasedName:n}=e;if(g.isPrimitiveType(n))throw new Error("Types cannot be aliased to primitive type");t.set(r,n)})),e.types.forEach((r=>t.has(r)?this.importShortNames.set(t.get(r),`${e.namespace}.${r}`):this.importShortNames.set(r,`${e.namespace}.${r}`)))}else{if(e.aliasedTypes)throw new Error("Aliasing disabled, set importAliasing to true");e.types.forEach((t=>{this.importShortNames.set(t,`${e.namespace}.${t}`)}))}break;default:this.importShortNames.set(e.name,g.importFullyQualifiedNames(e)[0])}e.uri&&(this.importUriMap[g.importFullyQualifiedNames(e)[0]]=e.uri)})),e.declarations)for(let t=0;t<e.declarations.length;t++){let r=Object.assign({},e.declarations[t]);if(r.$class===`${n}.AssetDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Asset"}),this.declarations.push(new s(this,r));else if(r.$class===`${n}.TransactionDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Transaction"}),this.declarations.push(new d(this,r));else if(r.$class===`${n}.EventDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Event"}),this.declarations.push(new m(this,r));else if(r.$class===`${n}.ParticipantDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Participant"}),this.declarations.push(new p(this,r));else if(r.$class===`${n}.EnumDeclaration`)this.declarations.push(new i(this,r));else if(r.$class===`${n}.MapDeclaration`)this.declarations.push(new f(this,r));else if(r.$class===`${n}.ConceptDeclaration`)this.declarations.push(new l(this,r));else{if(![`${n}.BooleanScalar`,`${n}.IntegerScalar`,`${n}.LongScalar`,`${n}.DoubleScalar`,`${n}.StringScalar`,`${n}.DateTimeScalar`].includes(r.$class)){let e=y("en").messageFormatter("modelfile-constructor-unrecmodelelem");throw new h(e({type:r.$class}),this)}this.declarations.push(new u(this,r))}}}filter(e,t,r){let n=[];this.declarations?.forEach((t=>{e(t)?n.push(t.ast):r.push(t.getFullyQualifiedName())}));const a={...this.ast,declarations:n};return a.declarations?.length>0?new b(t,a,void 0,this.fileName):null}}e.exports=b},1976:(e,t,r)=>{"use strict";const{isNull:n}=r(1209).NullUtil,a=r(6375);void 0===r.g&&(r(1529),r(7189));class o extends a{constructor(e,t){super(e,t),this.lowerBound=null,this.upperBound=null,Object.prototype.hasOwnProperty.call(t,"lower")&&(this.lowerBound=t.lower),Object.prototype.hasOwnProperty.call(t,"upper")&&(this.upperBound=t.upper),null===this.lowerBound&&null===this.upperBound?this.reportError(null,"Invalid range, lower and-or upper bound must be specified."):null===this.lowerBound||null===this.upperBound||this.lowerBound>this.upperBound&&this.reportError(null,"Lower bound must be less than or equal to upper bound.")}getLowerBound(){return this.lowerBound}getUpperBound(){return this.upperBound}validate(e,t){null!==t&&(null!==this.lowerBound&&t<this.lowerBound&&this.reportError(e,`Value ${t} is outside lower bound ${this.lowerBound}`),null!==this.upperBound&&t>this.upperBound&&this.reportError(e,`Value ${t} is outside upper bound ${this.upperBound}`))}toString(){return"NumberValidator lower: "+this.lowerBound+" upper: "+this.upperBound}compatibleWith(e){if(!(e instanceof o))return!1;const t=this.getLowerBound(),r=e.getLowerBound();if(n(t)&&!n(r))return!1;if(!n(t)&&!n(r)&&t<r)return!1;const a=this.getUpperBound(),s=e.getUpperBound();return!(n(a)&&!n(s)||!n(a)&&!n(s)&&a>s)}}e.exports=o},3218:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"ParticipantDeclaration"}}},9852:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(1768),o=r(1861),s=r(7688);void 0===r.g&&(r(9869),r(6226)),e.exports=class extends s{constructor(e,t){super(t),this.parent=e,this.process()}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}process(){if(super.process(),!a.isValidIdentifier(this.ast.name))throw new o(`Invalid property name '${this.ast.name}'`,this.modelFile,this.ast.location);if(this.name=this.ast.name,this.decorator=null,!this.name)throw new Error("No name for type "+JSON.stringify(this.ast));switch(this.ast.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanProperty`:this.type="Boolean";break;case`${n}.DateTimeProperty`:this.type="DateTime";break;case`${n}.DoubleProperty`:this.type="Double";break;case`${n}.IntegerProperty`:this.type="Integer";break;case`${n}.LongProperty`:this.type="Long";break;case`${n}.StringProperty`:this.type="String";break;case`${n}.ObjectProperty`:this.type=this.ast.type?this.ast.type.name:null;break;case`${n}.RelationshipProperty`:this.type=this.ast.type.name}this.array=!1,this.ast.isArray&&(this.array=!0),this.ast.isOptional?this.optional=!0:this.optional=!1}validate(e){super.validate(),this.type&&e.getModelFile().resolveType("property "+this.getFullyQualifiedName(),this.type)}getName(){return this.name}getType(){return this.type}isOptional(){return this.optional}getFullyQualifiedTypeName(){if(this.isPrimitive())return this.type;const e=this.getParent();if(!e)throw new Error("Property "+this.name+" does not have a parent.");const t=e.getModelFile();if(!t)throw new Error("Parent of property "+this.name+" does not have a ModelFile!");const r=t.getFullyQualifiedTypeName(this.type);if(!r)throw new Error("Failed to find fully qualified type name for property "+this.name+" with type "+this.type);return r}getFullyQualifiedName(){return this.getParent().getFullyQualifiedName()+"."+this.getName()}getNamespace(){return this.getParent().getNamespace()}isArray(){return this.array}isTypeEnum(){return!this.isPrimitive()&&this.getParent().getModelFile().getType(this.getType()).isEnum()}isPrimitive(){return a.isPrimitiveType(this.getType())}}},6099:(e,t,r)=>{"use strict";const n=r(9852),a=r(1861),o=r(1768);void 0===r.g&&r(9869),e.exports=class extends n{constructor(e,t){super(e,t)}validate(e){if(super.validate(e),!this.getType())throw new a("Relationship must have a type",e.getModelFile(),this.ast.location);let t=null;if(o.isPrimitiveType(this.getType()))throw new a("Relationship "+this.getName()+" cannot be to the primitive type "+this.getType(),e.getModelFile(),this.ast.location);if(this.getParent().getNamespace()===o.getNamespace(this.getFullyQualifiedTypeName()))t=this.getParent().getModelFile().getType(this.getType());else try{t=this.getParent().getModelFile().getModelManager().getType(this.getFullyQualifiedTypeName())}catch(e){}if(null===t)throw new a("Relationship "+this.getName()+" points to a missing type "+this.getFullyQualifiedTypeName(),e.getModelFile(),this.ast.location);if(!t.isIdentified())throw new a("Relationship "+this.getName()+" must be to a class that has an identifier, but this is to "+this.getFullyQualifiedTypeName(),e.getModelFile(),this.ast.location)}toString(){return"RelationshipDeclaration {name="+this.name+", type="+this.getFullyQualifiedTypeName()+", array="+this.array+", optional="+this.optional+"}"}isRelationship(){return!0}}},7189:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(5437),o=r(1976),s=r(516),i=r(1209).NullUtil;void 0===r.g&&(r(6375),r(9869)),e.exports=class extends a{process(){switch(super.process(),this.superType=null,this.superTypeDeclaration=null,this.idField=null,this.timestamped=!1,this.abstract=!1,this.validator=null,this.ast.$class===`${n}.BooleanScalar`?this.type="Boolean":this.ast.$class===`${n}.IntegerScalar`?this.type="Integer":this.ast.$class===`${n}.LongScalar`?this.type="Long":this.ast.$class===`${n}.DoubleScalar`?this.type="Double":this.ast.$class===`${n}.StringScalar`?this.type="String":this.ast.$class===`${n}.DateTimeScalar`?this.type="DateTime":this.type=null,this.getType()){case"Integer":case"Double":case"Long":this.ast.validator&&(this.validator=new o(this,this.ast.validator));break;case"String":(this.ast.validator||this.ast.lengthValidator)&&(this.validator=new s(this,this.ast.validator,this.ast.lengthValidator))}i.isNull(this.ast.defaultValue)?this.defaultValue=null:this.defaultValue=this.ast.defaultValue}validate(){super.validate()}isIdentified(){return!1}isSystemIdentified(){return!1}getIdentifierFieldName(){return null}getType(){return this.type}getSuperType(){return null}getSuperTypeDeclaration(){return null}getValidator(){return this.validator}getDefaultValue(){return this.defaultValue}toString(){return"ScalarDeclaration {id="+this.getFullyQualifiedName()+"}"}isAbstract(){return!0}isScalarDeclaration(){return!0}isAsset(){return!1}isParticipant(){return!1}isTransaction(){return!1}isEvent(){return!1}isConcept(){return!1}}},516:(e,t,r)=>{"use strict";const{ErrorCodes:n}=r(1209),{isNull:a}=r(1209).NullUtil,o=r(6375);void 0===r.g&&(r(1529),r(7189));class s extends o{constructor(e,t,r){if(super(e,t),this.minLength=null,this.maxLength=null,this.regex=null,r&&(this.minLength=r?.minLength,this.maxLength=r?.maxLength,null===this.minLength&&null===this.maxLength?this.reportError(e.getName(),"Invalid string length, minLength and-or maxLength must be specified."):this.minLength<0||this.maxLength<0?this.reportError(e.getName(),"minLength and-or maxLength must be positive integers."):null===this.minLength||null===this.maxLength||this.minLength>this.maxLength&&this.reportError(e.getName(),"minLength must be less than or equal to maxLength.")),t)try{const r=e?.parent?.getModelFile()?.getModelManager()?.options?.regExp||RegExp;this.regex=new r(t.pattern,t.flags)}catch(t){this.reportError(e.getName(),t.message,n.REGEX_VALIDATOR_EXCEPTION)}}validate(e,t){null!==t&&(null!==this.minLength&&t.length<this.minLength&&this.reportError(e,`The string length of '${t}' should be at least ${this.minLength} characters.`),null!==this.maxLength&&t.length>this.maxLength&&this.reportError(e,`The string length of '${t}' should not exceed ${this.maxLength} characters.`),this.regex&&!this.regex.test(t)&&this.reportError(e,`Value '${t}' failed to match validation regex: ${this.regex}`))}getMinLength(){return this.minLength}getMaxLength(){return this.maxLength}getRegex(){return this.regex}compatibleWith(e){if(!(e instanceof s))return!1;if(this.validator?.pattern!==e.validator?.pattern)return!1;if(this.validator?.flags!==e.validator?.flags)return!1;const t=this.getMinLength(),r=e.getMinLength();if(a(t)&&!a(r))return!1;if(!a(t)&&!a(r)&&t<r)return!1;const n=this.getMaxLength(),o=e.getMaxLength();return!(a(n)&&!a(o)||!a(n)&&!a(o)&&n>o)}}e.exports=s},745:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"TransactionDeclaration"}}},6375:(e,t,r)=>{"use strict";const{BaseException:n,ErrorCodes:a}=r(1209);void 0===r.g&&(r(1529),r(7189)),e.exports=class{constructor(e,t){this.validator=t,this.field=e}reportError(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.DEFAULT_VALIDATOR_EXCEPTION;throw new n("Validator error for field `"+e+"`. "+this.getFieldOrScalarDeclaration().getFullyQualifiedName()+": "+t,void 0,r)}accept(e,t){return e.visit(this,t)}getFieldOrScalarDeclaration(){return this.field}validate(e,t){}compatibleWith(e){return!1}}},5430:(e,t,r)=>{"use strict";const{BaseException:n}=r(1209);e.exports=class extends n{constructor(e){super(e)}}},9259:(e,t,r)=>{"use strict";const n=r(2410),a=r(2523);e.exports=class extends a{constructor(e,t,r,n,a,o){super(e,t,r,n);const s=this.$modelManager.getModelFile(this.getNamespace()),i=s?.getType(this.getFullyQualifiedType());this.$identifierFieldName=i?.getIdentifierFieldName()||"$identifier",this.setIdentifier(a),this.$timestamp=o}getTimestamp(){return this.$timestamp}getIdentifier(){return this[this.$identifierFieldName]}setIdentifier(e){this.$identifier=e,this[this.$identifierFieldName]=e}getFullyQualifiedIdentifier(){return this.getIdentifier()?this.getFullyQualifiedType()+"#"+this.getIdentifier():this.getFullyQualifiedType()}toString(){return"Identifiable {id="+this.getFullyQualifiedIdentifier()+"}"}isRelationship(){return!1}isResource(){return!1}toURI(){return new n(this.getNamespace(),this.getType(),this.getIdentifier()).toURI()}}},6113:(e,t,r)=>{"use strict";const n=r(9259),a=r(1768),o=r(2410);void 0===r.g&&r(9481);class s extends n{constructor(e,t,r,n,a,o){super(e,t,r,n,a,o),this.$class="Relationship"}toString(){return"Relationship {id="+this.getFullyQualifiedIdentifier()+"}"}isRelationship(){return!0}static fromURI(e,t,r,n){const i=o.fromURI(t,r,n);let c=a.getFullyQualifiedName(i.namespace,i.type),l=e.getType(c);return new s(e,l,i.namespace,i.type,i.id)}}e.exports=s},7755:(e,t,r)=>{"use strict";const n=r(9259);e.exports=class extends n{constructor(e,t,r,n,a,o){super(e,t,r,n,a,o)}toString(){return"Resource {id="+this.getFullyQualifiedIdentifier()+"}"}isResource(){return!0}isConcept(){return this.getClassDeclaration().isConcept()}isIdentifiable(){return this.getClassDeclaration().isIdentified()}toJSON(){return this.getModelManager().getSerializer().toJSON(this)}}},2410:(e,t,r)=>{"use strict";const n=r(9472),a=r(1768),o="resource";class s{constructor(e,t,r){if(!e)throw new Error("Missing namespace");if(!t)throw new Error("Missing type");if(!r)throw new Error("Missing id");this.namespace=e,this.type=t,this.id=r}static fromURI(e,t,r){let i;try{i=n.parse(e)}catch(t){throw new Error("Invalid URI: "+e)}const c=i.protocol;if(c&&c!==o)throw new Error("Invalid URI scheme: "+e);if(i.username||i.password||i.port||i.query)throw new Error("Invalid resource URI format: "+e);let l,u,p=i.fragment;if(p){const e=i.path;l=a.getNamespace(e),u=a.getShortName(e)}else l=t,u=r,p=i.path;return new s(l,u,decodeURIComponent(p))}toURI(){const e=a.getFullyQualifiedName(this.namespace,this.type);return o+":"+e+"#"+encodeURI(this.id)}}e.exports=s},2523:(e,t,r)=>{"use strict";const n=r(3464),a=r(7657),o=r(1209).NullUtil;n.extend(a),void 0===r.g&&(r(9869),r(9481)),e.exports=class{constructor(e,t,r,n){this.$modelManager=e,this.$classDeclaration=t,this.$namespace=r,this.$type=n}accept(e,t){return e.visit(this,t)}getModelManager(){return this.$modelManager}getType(){return this.$type}getFullyQualifiedType(){return this.$classDeclaration.getFullyQualifiedName()}getNamespace(){return this.$namespace}getClassDeclaration(){return this.$classDeclaration}setPropertyValue(e,t){this[e]=t}addArrayValue(e,t){this[e]?this[e].push(t):this[e]=[t]}assignFieldDefaults(){let e=this.getClassDeclaration().getProperties();for(let t=0;t<e.length;t++){let r,a,s=e[t];if(s.isTypeScalar?.()&&(s=s.getScalarField()),s.isField?.()&&(r=s.getDefaultValue(),a=s.getType()),!o.isNull(r))if("String"===a)this.setPropertyValue(s.getName(),r);else if("Integer"===a)this.setPropertyValue(s.getName(),parseInt(r));else if("Long"===a)this.setPropertyValue(s.getName(),parseInt(r));else if("Double"===a)this.setPropertyValue(s.getName(),parseFloat(r));else if("Boolean"===a)this.setPropertyValue(s.getName(),!0===r);else if("DateTime"===a){const e=n.utc(r);this.setPropertyValue(s.getName(),e)}else this.setPropertyValue(s.getName(),r)}}instanceOf(e){const t=this.getClassDeclaration();if(t.getFullyQualifiedName()===e)return!0;let r=t.getSuperTypeDeclaration();for(;r;){if(r.getFullyQualifiedName()===e)return!0;r=r.getSuperTypeDeclaration()}return!1}toJSON(){throw new Error("Use Serializer.toJSON to convert resource instances to JSON objects.")}}},289:(e,t,r)=>{"use strict";const n=r(1209).TypedStack,a=r(7755);e.exports=class extends a{constructor(e,t,r,n,a,o,s){super(e,t,r,n,a,o),this.$validator=s}setPropertyValue(e,t){let r=this.getClassDeclaration().getProperty(e);if(!r)throw new Error("The instance with id "+this.getIdentifier()+" trying to set field "+e+" which is not declared in the model.");const a={};a.stack=new n(t),a.modelManager=this.getModelManager(),a.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),r.accept(this.$validator,a),super.setPropertyValue(e,t)}addArrayValue(e,t){let r=this.getClassDeclaration().getProperty(e);if(!r)throw new Error("The instance with id "+this.getIdentifier()+" trying to set field "+e+" which is not declared in the model.");if(!r.isArray())throw new Error("The instance with id "+this.getIdentifier()+" trying to add array item "+e+" which is not declared as an array in the model.");const a={};let o=[];this[e]&&(o=this[e].slice(0)),o.push(t),a.stack=new n(o),a.modelManager=this.getModelManager(),a.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),r.accept(this.$validator,a),super.addArrayValue(e,t)}validate(){const e=this.getClassDeclaration(),t={};t.stack=new n(this),t.modelManager=this.getModelManager(),t.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),e.accept(this.$validator,t)}}},6803:(e,t,r)=>{"use strict";const n=r(6686),a=r(9967).Parser,o=r(1209).DefaultFileLoader,s=r(6226),i=r(9481);class c{static async addModel(e,t,r){let o=null;if(e.accepts(r))o=await e.load(r);else{const e=n.readFileSync(r,"utf8"),i=a.parse(e,r);o=new s(t,i,e,r)}return t.addModelFile(o,null,o.getName(),!0),t}static async loadModelManager(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{offline:!1,strict:!1},r=new i(t);const n=new o(((e,t)=>{const n=a.parse(t);return new s(r,n,t,e)}));for(let t of e)r=await c.addModel(n,r,t);return t&&t.offline?(r.validateModelFiles(),r):(await r.updateExternalModels(),r)}static async loadModelManagerFromModelFiles(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{offline:!1,strict:!1},n=new i(r);return n.addModelFiles(e,t,!0),r&&r.offline?(n.validateModelFiles(),n):(await n.updateExternalModels(),n)}}e.exports=c},9481:(e,t,r)=>{"use strict";const n=r(9967).Parser,a=r(3832),o=r(124)("concerto:BaseModelManager");void 0===r.g&&r(6226),e.exports=class extends a{constructor(e){super(e,(e=>(t,r)=>{const a={skipLocationNodes:e?.skipLocationNodes};return{ast:n.parse(r,t,a),definitions:r,fileName:t}})(e))}addCTOModel(e,t,r){return o("addCTOModel","addCTOModel",e,t),this.addModel(e,e,t,r)}}},1768:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),{MetaModelUtil:a}=r(3348),o=r(2722),s=r(2438);void 0===r.g&&r(6226);const i=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u,c=["$classDeclaration","$namespace","$type","$modelManager","$validator","$identifierFieldName","$imports","$superTypes","$id"],l=["$class","$identifier","$timestamp",...c];class u{static getShortName(e){let t=e,r=e.lastIndexOf(".");return r>-1&&(t=e.substr(r+1)),t}static getNamespace(e){if(!e)throw new Error(s.formatMessage("modelutil-getnamespace-nofnq"));let t="",r=e.lastIndexOf(".");return r>-1&&(t=e.substr(0,r)),t}static parseNamespace(e){if(!e)throw new Error("Namespace is null or undefined.");const t=e.split("@");if(t.length>2)throw new Error(`Invalid namespace ${e}`);if(2===t.length&&!o.valid(t[1]))throw new Error(`Invalid namespace ${e}`);return{name:t[0],escapedNamespace:e.replace("@","_"),version:t.length>1?t[1]:null,versionParsed:t.length>1?o.parse(t[1]):null}}static importFullyQualifiedNames(e){return a.importFullyQualifiedNames(e)}static isPrimitiveType(e){return["Boolean","String","DateTime","Double","Integer","Long"].indexOf(e)>=0}static isAssignableTo(e,t,r){const n=r.getFullyQualifiedTypeName(),a=t===n;if(a||u.isPrimitiveType(t)||u.isPrimitiveType(n))return a;const o=e.getType(t);if(!o)throw new Error("Cannot find type "+t);return o.getAllSuperTypeDeclarations().some((e=>e.getFullyQualifiedName()===n))}static capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}static isEnum(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isEnum()}static isMap(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isMapDeclaration?.()}static isScalar(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isScalarDeclaration?.()}static isValidIdentifier(e){return i.test(e)}static getFullyQualifiedName(e,t){return e?`${e}.${t}`:t}static removeNamespaceVersionFromFullyQualifiedName(e){if(u.isPrimitiveType(e))return e;const t=u.getNamespace(e),{name:r}=u.parseNamespace(t),n=u.getShortName(e);return u.getFullyQualifiedName(r,n)}static isSystemProperty(e){return l.includes(e)}static isPrivateSystemProperty(e){return c.includes(e)}static isValidMapKey(e){return[`${n}.StringMapKeyType`,`${n}.DateTimeMapKeyType`,`${n}.ObjectMapKeyType`].includes(e.$class)}static isValidMapKeyScalar(e){return e?.isScalarDeclaration?.()&&e?.ast.$class===`${n}.StringScalar`||e?.isScalarDeclaration?.()&&e?.ast.$class===`${n}.DateTimeScalar`}static isValidMapValue(e){return[`${n}.BooleanMapValueType`,`${n}.DateTimeMapValueType`,`${n}.StringMapValueType`,`${n}.IntegerMapValueType`,`${n}.LongMapValueType`,`${n}.DoubleMapValueType`,`${n}.ObjectMapValueType`].includes(e.$class)}}e.exports=u},6128:(e,t,r)=>{"use strict";const n=r(6391);e.exports={getRootModel:function(e){const t=e?"concerto_1.0.0.cto":"concerto.cto",r=e?"concerto@1.0.0":"concerto",a=`@DotNetNamespace("AccordProject.Concerto")\n namespace ${r}\n import concerto.decorator@1.0.0.DotNetNamespace\n abstract concept Concept {}\n abstract concept Asset identified {}\n abstract concept Participant identified {}\n abstract concept Transaction {}\n abstract concept Event {}\n `,o=JSON.parse(JSON.stringify(n));return o.namespace=r,{rootModelFile:t,rootModelCto:a,rootModelAst:o}}}},3686:(e,t,r)=>{"use strict";const{BaseException:n}=r(1209);e.exports=class extends n{constructor(e){super(e)}}},3673:(e,t,r)=>{"use strict";const{TypedStack:n}=r(1209),a=r(7624),o=r(2438),s=r(9),i=r(8998),c=r(2523),l=r(2552),{utcOffset:u}=a.setCurrentTime(),p={validate:!0,utcOffset:u};void 0===r.g&&(r(1595),r(9481),r(7755)),e.exports=class{constructor(e,t,r){if(!e)throw new Error(o.formatMessage("serializer-constructor-factorynull"));if(!t)throw new Error(o.formatMessage("serializer-constructor-modelmanagernull"));this.factory=e,this.modelManager=t,this.defaultOptions=Object.assign({},p,r||{})}setDefaultOptions(e){this.defaultOptions=Object.assign({},p,e)}toJSON(e,t){if(!(e instanceof c))throw new Error(o.formatMessage("serializer-tojson-notcobject"));const r={};r.stack=new n(e),r.modelManager=this.modelManager,r.seenResources=new Set,r.dedupeResources=new Set;const a=this.modelManager.getType(e.getFullyQualifiedType());if((t=t?Object.assign({},this.defaultOptions,t):this.defaultOptions).validate){const e=new l(t);a.accept(e,r)}const i=new s(!0===t.convertResourcesToRelationships,!0===t.permitResourcesForRelationships,!0===t.deduplicateResources,!0===t.convertResourcesToId,!1,t.utcOffset);return r.stack.clear(),r.stack.push(e),a.accept(i,r)}fromJSON(e,t){if(t=t?Object.assign({},this.defaultOptions,t):this.defaultOptions,!e.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier.");const r=this.modelManager.getType(e.$class);let a;if(r.isTransaction?.())a=this.factory.newTransaction(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else if(r.isEvent?.())a=this.factory.newEvent(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else if(r.isConcept?.())a=this.factory.newConcept(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else{if(r.isMapDeclaration?.())throw new Error("Attempting to create a Map declaration is not supported.");if(r.isEnum())throw new Error("Attempting to create an ENUM declaration is not supported.");a=this.factory.newResource(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()])}const o={};o.jsonStack=new n(e),o.resourceStack=new n(a),o.modelManager=this.modelManager,o.factory=this.factory;const s=new i(!0===t.acceptResourcesForRelationships,!1,t.utcOffset,!0===t.strictQualifiedDateTimes);return r.accept(s,o),t.validate&&a.validate(),a}}},6422:(e,t,r)=>{"use strict";const n=r(1209).NullUtil,a=r(2438);e.exports=class{visit(e,t){if(e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitClassDeclaration(e,t){const r=t.stack.pop(),a=e.getProperties();for(const e of a){if(!t.includeOptionalFields&&e.isOptional())continue;const a=r[e.getName()];n.isNull(a)&&(r[e.getName()]=e.accept(this,t))}return r}visitField(e,t){if(e.isPrimitive())t.seen.push("Primitve");else{let r=e.getFullyQualifiedTypeName(),n=t.modelManager.getType(r);n=this.findConcreteSubclass(n);let a=n.getFullyQualifiedName();if(t.seen.includes(a)){if(e.isArray())return[];if(e.isOptional())return null;throw new Error("Model is recursive.")}t.seen.push(a)}let r;if(e.isArray()){const n=()=>this.getFieldValue(e,t);r=t.valueGenerator.getArray(n)}else r=this.getFieldValue(e,t);return t.seen.pop(),r}getFieldValue(e,t){let r=e;e.isTypeScalar?.()&&(r=e.getScalarField());let n=e.getFullyQualifiedTypeName();if(e.isPrimitive())switch(n){case"DateTime":return t.valueGenerator.getDateTime();case"Integer":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getInteger();case"Long":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getLong();case"Double":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getDouble();case"Boolean":return t.valueGenerator.getBoolean();default:return r.validator?.regex?t.valueGenerator.getRegex(r.validator.regex,r.validator.minLength,r.validator.maxLength):t.valueGenerator.getString(r.validator?.minLength,r.validator?.maxLength)}let a=t.modelManager.getType(n);if(a.isEnum()){let e=a.getOwnProperties();return t.valueGenerator.getEnum(e).getName()}if(a=this.findConcreteSubclass(a),!a.isMapDeclaration?.()){let e=null;if(a.isIdentified()){let n=a.getIdentifierFieldName(),o=a.getProperty(n);o?.isTypeScalar?.()&&(o=o.getScalarField()),e=o?.validator?.regex?t.valueGenerator.getRegex(r.validator.regex):this.generateRandomId(a)}let n=t.factory.newResource(a.getNamespace(),a.getName(),e);t.stack.push(n)}return a.accept(this,t)}findConcreteSubclass(e){if(e.isMapDeclaration?.()||!e.isAbstract())return e;const t=e.getAssignableClassDeclarations().filter((e=>!e.isAbstract()));if(0===t.length){const t=a.messageFormatter("instancegenerator-newinstance-noconcreteclass");throw new Error(t({type:e.getFullyQualifiedName()}))}return t[0]}visitRelationshipDeclaration(e,t){let r=t.modelManager.getType(e.getFullyQualifiedTypeName());r=this.findConcreteSubclass(r);const n=t.factory,a=()=>{const e=this.generateRandomId(r);return n.newRelationship(r.getNamespace(),r.getName(),e)};return e.isArray()?t.valueGenerator.getArray(a):a()}visitMapDeclaration(e,t){return t.valueGenerator.getMap()}generateRandomId(e){let t=Math.round(9999*Math.random()).toString();return t=t.padStart(4,"0"),t}}},9:(e,t,r)=>{"use strict";const n=r(7755),a=r(2523),o=r(1768),s=r(1209).NullUtil;e.exports=class{constructor(e,t,r,n,a,o){this.convertResourcesToRelationships=e,this.permitResourcesForRelationships=t,this.deduplicateResources=r,this.convertResourcesToId=n,this.utcOffset=o||0}visit(e,t){if(e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitMapDeclaration(e,t){const r=t.stack.pop();let n=new Map;return r.forEach(((r,a)=>{if(!o.isSystemProperty(a)){if("object"==typeof r){let n=e.getModelFile().getAllDeclarations().find((e=>e.name===r.getType()));t.stack.push(r);const a=n.accept(this,t);r=a}n.set(a,r)}})),Object.fromEntries(n)}visitClassDeclaration(e,t){const r=t.stack.pop();if(!(r instanceof n))throw new Error("Expected a Resource, but found "+r);let a={},o=null;if(r.isIdentifiable()&&this.deduplicateResources){if(o=r.toURI(),t.dedupeResources.has(o))return o;t.dedupeResources.add(o)}a.$class=e.getFullyQualifiedName(),this.deduplicateResources&&o&&(a.$id=o);const i=e.getProperties();for(let e in i){const n=i[e],o=r[n.getName()];s.isNull(o)||(t.stack.push(o),a[n.getName()]=n.accept(this,t))}return a}visitField(e,t){const r=t.stack.pop();let n;if(e.isArray()){let s=[];for(let n in r){const i=r[n];if(e.isPrimitive()||o.isEnum(e))s.push(this.convertToJSON(e,i));else{t.stack.push(i,a);const e=t.modelManager.getType(i.getFullyQualifiedType());s.push(e.accept(this,t))}}n=s}else e.isPrimitive()||o.isEnum(e)?n=this.convertToJSON(e,r):o.isMap(e)?(t.stack.push(r),n=t.modelManager.getType(e.getFullyQualifiedTypeName()).accept(this,t)):(t.stack.push(r),n=t.modelManager.getType(r.getFullyQualifiedType()).accept(this,t));return n}convertToJSON(e,t){if("DateTime"===e.getType()){const e=t.utc().utcOffset(this.utcOffset),r=0===e.utcOffset();return e.format("YYYY-MM-DDTHH:mm:ss.SSS"+(r?"[Z]":"Z"))}return t}visitRelationshipDeclaration(e,t){const r=t.stack.pop();let a;if(e.isArray()){let o=[];for(let a in r){const s=r[a];if(this.permitResourcesForRelationships&&s instanceof n){let r=s.getFullyQualifiedIdentifier();if(t.seenResources.has(r)){let t=this.getRelationshipText(e,s);o.push(t)}else{t.seenResources.add(r),t.stack.push(s,n);const a=t.modelManager.getType(e.getFullyQualifiedTypeName());o.push(a.accept(this,t)),t.seenResources.delete(r)}}else{let t=this.getRelationshipText(e,s);o.push(t)}}a=o}else if(this.permitResourcesForRelationships&&r instanceof n){let o=r.getFullyQualifiedIdentifier();t.seenResources.has(o)?a=this.getRelationshipText(e,r):(t.seenResources.add(o),t.stack.push(r,n),a=t.modelManager.getType(e.getFullyQualifiedTypeName()).accept(this,t),t.seenResources.delete(o))}else a=this.getRelationshipText(e,r);return a}getRelationshipText(e,t){if(t instanceof n&&!this.convertResourcesToRelationships&&!this.permitResourcesForRelationships)throw new Error("Did not find a relationship for "+e.getFullyQualifiedTypeName()+" found "+t);return this.convertResourcesToId?t.getIdentifier():t.toURI()}}},8998:(e,t,r)=>{"use strict";const{TypedStack:n}=r(1209),a=r(6113),o=r(1209).NullUtil,s=r(1768),i=r(390),c=r(3464),l=r(7657);c.extend(l);const u=r(4491);c.extend(u);const p=r(3221);c.extend(p);const d=r(279);function m(e,t){const r=Object.keys(e),n=r.filter(s.isPrivateSystemProperty);if(n.length>0){const e=`Unexpected reserved properties for type ${t.getFullyQualifiedName()}: `+n.join(", ");throw new i(e)}if(r.includes("$timestamp")&&!t.isTransaction?.()&&!t.isEvent?.()){const e=`Unexpected property for type ${t.getFullyQualifiedName()}: $timestamp`;throw new i(e)}return r.filter((t=>!s.isSystemProperty(t)&&!o.isNull(e[t])))}c.extend(d),e.exports=class{constructor(e,t,r,n){this.acceptResourcesForRelationships=e,this.utcOffset=r||0,this.strictQualifiedDateTimes=n,{NODE_ENV:"production"}.TZ&&console.warn(`Environment variable 'TZ' is set to '${{NODE_ENV:"production"}.TZ}', this can cause unexpected behaviour when using unqualified date time formats.`)}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.path??(t.path=new n("$")),e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitClassDeclaration(e,t){const r=t.jsonStack.pop(),a=t.resourceStack.pop();t.path??(t.path=new n("$"));const o=m(r,e);return function(e,t){const r=t.getProperties().map((e=>e.getName())),n=e.filter((e=>!r.includes(e)));if(n.length>0){const e=`Unexpected properties for type ${t.getFullyQualifiedName()}: `+n.join(", ");throw new i(e)}}(o,e),o.forEach((n=>{let o=r[n];if(null!==o){t.path.push(`.${n}`),t.jsonStack.push(o);const r=e.getProperty(n);a[n]=r.accept(this,t),t.path.pop()}})),a}visitMapDeclaration(e,t){let r=t.jsonStack.pop();t.path??(t.path=new n("$")),m(r,e),r=new Map(Object.entries(r));let a=new Map;return r.forEach(((r,n)=>{"$class"!==n?(s.isPrimitiveType(e.getKey().getType())||(n=this.processMapType(e,t,n,e.getKey().getType())),s.isPrimitiveType(e.getValue().getType())||(r=this.processMapType(e,t,r,e.getValue().getType())),a.set(n,r)):a.set(n,r)})),a}processMapType(e,t,r,n){let a=e.getModelFile().getAllDeclarations().find((e=>e.name===n));if(a?.isClassDeclaration()){let e=t.factory.newConcept(a.getNamespace(),a.getName(),a.getIdentifierFieldName());return t.jsonStack.push(r),t.resourceStack.push(e),a.accept(this,t)}return r}visitField(e,t){t.path??(t.path=new n("$"));let r=t.jsonStack.pop(),a=null;if(e.isArray()){a=[];for(let n=0;n<r.length;n++){t.path.push(`[${n}]`);const o=r[n];a.push(this.convertItem(e,o,t)),t.path.pop()}}else a=this.convertItem(e,r,t);return a}convertItem(e,t,r){let n=null;if(e.isPrimitive?.()||e.isTypeEnum?.())n=this.convertToObject(e,t,r);else{let a=t.$class;a||(a=e.getFullyQualifiedTypeName());const o=r.modelManager.getType(a);if(!o.isMapDeclaration?.()){let e=null;e=o.isIdentified()?r.factory.newResource(o.getNamespace(),o.getName(),t[o.getIdentifierFieldName()]):r.factory.newConcept(o.getNamespace(),o.getName()),r.resourceStack.push(e)}r.jsonStack.push(t),n=o.accept(this,r)}return n}convertToObject(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=null;r.path??(r.path=new n("$"));const o=r.path.stack.join("");switch(e.getType()){case"DateTime":if(t&&"object"==typeof t&&"function"==typeof t.isBefore)a=t;else{if("string"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);if(this.strictQualifiedDateTimes){if(this.strictQualifiedDateTimes){if(!t.match(/^((?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))(Z|[+-]\d{2}:\d{2}))$/))throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\` with format YYYY-MM-DDTHH:mm:ss[Z]`);a=c.utc(t)}}else a=c.utc(t).utcOffset(this.utcOffset)}if(!a||!a.isValid())throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);break;case"Integer":case"Long":{const r=t;if("number"!=typeof r)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);if(Math.trunc(r)!==r)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=r}break;case"Double":if("number"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=parseFloat(t);break;case"Boolean":if("boolean"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=t;break;case"String":if("string"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=t;break;default:a=t}return a}visitRelationshipDeclaration(e,t){t.path??(t.path=new n("$"));let r=t.jsonStack.pop(),o=null,i=e.getFullyQualifiedTypeName(),c=s.getNamespace(i);c||(c=e.getNamespace());let l=s.getShortName(i);if(e.isArray()){o=[];for(let n=0;n<r.length;n++){let s=r[n];if("string"==typeof s)o.push(a.fromURI(t.modelManager,s,c,l));else{if(!this.acceptResourcesForRelationships)throw new Error("Invalid JSON data. Found a value that is not a string: "+r+" for relationship "+e);if(!s.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier: "+s+" for relationship "+e);const n=t.modelManager.getType(s.$class);let a=t.factory.newResource(n.getNamespace(),n.getName(),s[n.getIdentifierFieldName()]);t.jsonStack.push(s),t.resourceStack.push(a),n.accept(this,t),o.push(a)}}}else if("string"==typeof r)o=a.fromURI(t.modelManager,r,c,l);else{if(!this.acceptResourcesForRelationships)throw new Error("Invalid JSON data. Found a value that is not a string: "+r+" for relationship "+e);if(!r.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier: "+r+" for relationship "+e);const n=t.modelManager.getType(r.$class);let a=t.factory.newResource(n.getNamespace(),n.getName(),r[n.getIdentifierFieldName()]);t.jsonStack.push(r),t.resourceStack.push(a),n.accept(this,t),o=a}return o}}},3561:(e,t,r)=>{"use strict";const n=r(1209).NullUtil,a=r(1768),o=r(390),s=r(2438),i=r(3464),c=r(7657);i.extend(c);class l{constructor(e,t){if(this.options=t||{},this.concerto=e,!this.concerto)throw new Error("Missing concerto instance")}visit(e,t){return e.isEnum?.()?this.visitEnumDeclaration(e,t):e.isClassDeclaration?.()?this.visitClassDeclaration(e,t):e.isRelationship?.()?this.visitRelationshipDeclaration(e,t):e.isTypeScalar?.()?this.visitField(e.getScalarField(),t):e.isField?.()?this.visitField(e,t):void 0}visitEnumDeclaration(e,t){const r=t.stack.pop(),n=e.getProperties();let a=!1;for(let e=0;e<n.length;e++)n[e].getName()===r&&(a=!0);return a||l.reportInvalidEnumValue(t.rootResourceIdentifier,e,r),null}visitClassDeclaration(e,t){const r=t.stack.pop();this.concerto.isIdentifiable(r)&&(t.rootResourceIdentifier=this.concerto.getFullyQualifiedIdentifier(r));const a=this.concerto.getModelManager().getType(r.$class),o=a.getFullyQualifiedName();a.isAbstract()&&l.reportAbstractClass(a);let s=Object.getOwnPropertyNames(r);for(let e=0;e<s.length;e++){let n=s[e];this.isSystemProperty(n)||a.getProperty(n)||(this.concerto.isIdentifiable(r)?l.reportUndeclaredField(this.concerto.getIdentifier(r),n,o):l.reportUndeclaredField(t.currentIdentifier,n,o))}if(this.concerto.isIdentifiable(r)){const e=this.concerto.getIdentifier(r);e&&0!==e.trim().length||l.reportEmptyIdentifier(t.rootResourceIdentifier),t.currentIdentifier=this.concerto.getFullyQualifiedIdentifier(r)}const i=a.getProperties();for(let e=0;e<i.length;e++){const a=i[e],o=r[a.getName()];n.isNull(o)?a.isOptional()||this.isSystemProperty(a.getName())||l.reportMissingRequiredProperty(t.rootResourceIdentifier,a):(t.stack.push(o),a.accept(this,t))}return null}isSystemProperty(e){return"$"===e.charAt(0)}visitField(e,t){const r=t.stack.pop();let n=typeof r,a=e.getName();return"symbol"===n&&l.reportFieldTypeViolation(t.rootResourceIdentifier,a,r,e,this.concerto),e.isTypeEnum()?this.checkEnum(r,e,t):e.isArray()?this.checkArray(r,e,t):this.checkItem(r,e,t),null}checkEnum(e,t,r){!t.isArray()||e instanceof Array||l.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t,this.concerto);const n=t.getParent().getModelFile().getType(t.getType());if(t.isArray())for(let t=0;t<e.length;t++){const a=e[t];r.stack.push(a),n.accept(this,r)}else{const t=e;r.stack.push(t),n.accept(this,r)}}checkArray(e,t,r){e instanceof Array||l.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t,this.concerto);for(let n=0;n<e.length;n++){const a=e[n];this.checkItem(a,t,r)}}checkItem(e,t,r){let n=typeof e,o=t.getName();if("symbol"===n&&l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto),t.isPrimitive()){let a=!1;switch(t.getType()){case"String":"string"!==n&&(a=!0);break;case"Double":case"Long":case"Integer":"number"!==n&&(a=!0);break;case"Boolean":"boolean"!==n&&(a=!0);break;case"DateTime":"string"==typeof e&&i.utc(e).isValid()||(a=!0)}a?l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto):null!==t.getValidator()&&t.getValidator().validate(r.currentIdentifier,e)}else{let n=this.concerto.getModelManager().getType(t.getFullyQualifiedTypeName());try{n=this.concerto.getModelManager().getType(e.$class)}catch(n){l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto)}a.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||l.reportInvalidFieldAssignment(r.rootResourceIdentifier,o,e,t),r.stack.push(e),n.accept(this,r)}}visitRelationshipDeclaration(e,t){const r=t.stack.pop();if(e.isArray()){r instanceof Array||l.reportInvalidFieldAssignment(t.rootResourceIdentifier,e.getName(),r,e);for(let n=0;n<r.length;n++){const a=r[n];this.checkRelationship(t,e,a)}}else this.checkRelationship(t,e,r);return null}checkRelationship(e,t,r){this.concerto.isRelationship(r)||this.concerto.isIdentifiable(r)&&(this.options.convertResourcesToRelationships||this.options.permitResourcesForRelationships)||l.reportNotRelationshipViolation(e.rootResourceIdentifier,t,r);const n=this.concerto.isRelationship(r)?this.concerto.fromURI(r).typeDeclaration:this.concerto.getTypeDeclaration(r);if(!n.getIdentifierFieldName())throw new Error("Relationship can only be to identified types.");a.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||l.reportInvalidFieldAssignment(e.rootResourceIdentifier,t.getName(),r,t)}static reportFieldTypeViolation(e,t,r,n,a){let i=n.isArray()?"[]":"",c=typeof r;if(a.isObject(r)&&a.isIdentifiable(r))c=a.getType(r),r=a.getIdentifier(r);else if(r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}let l=s.messageFormatter("resourcevalidator-fieldtypeviolation");throw new o(l({resourceId:e,propertyName:t,fieldType:n.getType()+i,value:r,typeOfValue:c}))}static reportNotRelationshipViolation(e,t,r){let n=s.messageFormatter("resourcevalidator-notrelationship");throw new o(n({resourceId:e,classFQN:t.getFullyQualifiedTypeName(),invalidValue:r.toString()}))}static reportMissingRequiredProperty(e,t){let r=s.messageFormatter("resourcevalidator-missingrequiredproperty");throw new o(r({resourceId:e,fieldName:t.getName()}))}static reportEmptyIdentifier(e){let t=s.messageFormatter("resourcevalidator-emptyidentifier");throw new o(t({resourceId:e}))}static reportInvalidEnumValue(e,t,r){let n=s.messageFormatter("resourcevalidator-invalidenumvalue");throw new o(n({resourceId:e,value:r,fieldName:t.getName()}))}static reportAbstractClass(e){let t=s.messageFormatter("resourcevalidator-abstractclass");throw new o(t({className:e.getFullyQualifiedName()}))}static reportUndeclaredField(e,t,r){let n=s.messageFormatter("resourcevalidator-undeclaredfield");throw new o(n({resourceId:e,propertyName:t,fullyQualifiedTypeName:r}))}static reportInvalidFieldAssignment(e,t,r,n){let a=s.messageFormatter("resourcevalidator-invalidfieldassignment"),i=n.getFullyQualifiedTypeName();throw n.isArray()&&(i+="[]"),new o(a({resourceId:e,propertyName:t,objectType:r.$class,fieldType:i}))}}e.exports=l},2552:(e,t,r)=>{"use strict";const n=r(6113),a=r(7755),o=r(9259),s=r(1209).NullUtil,i=r(1768),c=r(390),l=r(2438),u=r(3464),p=r(7657);u.extend(p);class d{constructor(e){this.options=e||{}}visit(e,t){return e.isEnum?.()?this.visitEnumDeclaration(e,t):e.isClassDeclaration?.()?this.visitClassDeclaration(e,t):e.isMapDeclaration?.()?this.visitMapDeclaration(e,t):e.isRelationship?.()?this.visitRelationshipDeclaration(e,t):e.isTypeScalar?.()?this.visitField(e.getScalarField(),t):e.isField?.()?this.visitField(e,t):void 0}visitEnumDeclaration(e,t){const r=t.stack.pop(),n=e.getProperties();let a=!1;for(let e=0;e<n.length;e++)n[e].getName()===r&&(a=!0);return a||d.reportInvalidEnumValue(t.rootResourceIdentifier,e,r),null}checkMapType(e,t,r,n){if(i.isPrimitiveType(e.getType()))e=e.getType();else{let a=n.getModelFile().getAllDeclarations().find((t=>t.name===e.getType()));if(i.isScalar(n.getKey())&&(e=a.getType()),a?.isClassDeclaration?.())return r.stack.push(t),void a.accept(this,r)}switch(e){case"String":if("string"!=typeof t)throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of String but found '${t}' instead.`);break;case"DateTime":if(!u.utc(t).isValid())throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of DateTime but found '${t}' instead.`);break;case"Boolean":if("boolean"!=typeof t){const e=typeof t;throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of Boolean but found ${e} instead, for value '${t}'.`)}}}visitMapDeclaration(e,t){const r=t.stack.pop();if(!(r instanceof Map))throw new Error("Expected a Map, but found "+JSON.stringify(r));return r.forEach(((r,n)=>{i.isSystemProperty(n)||(this.checkMapType(e.getKey(),n,t,e),this.checkMapType(e.getValue(),r,t,e))})),null}visitClassDeclaration(e,t){const r=t.stack.pop();r instanceof a||d.reportNotResouceViolation(t.rootResourceIdentifier,e,r),r instanceof o&&(t.rootResourceIdentifier=r.getFullyQualifiedIdentifier());const n=t.modelManager.getType(r.getFullyQualifiedType()),c=n.getFullyQualifiedName(),l=n.getIdentifierFieldName();n.isAbstract()&&d.reportAbstractClass(n);let u=Object.getOwnPropertyNames(r);for(let a=0;a<u.length;a++){let o=u[a];i.isSystemProperty(o)||n.getProperty(o)||(e.isIdentified()&&"$identifier"!==o?d.reportUndeclaredField(r.getIdentifier(),o,c):d.reportUndeclaredField(t.currentIdentifier,o,c))}if(e.isIdentified()){const e=r.getIdentifier();e&&0!==e.trim().length||d.reportEmptyIdentifier(t.rootResourceIdentifier),"$identifier"!==l&&(r.$identifier=e),t.currentIdentifier=r.getFullyQualifiedIdentifier()}const p=n.getProperties();for(let e=0;e<p.length;e++){const n=p[e],a=r[n.getName()];if(s.isNull(a)){if(!n.isOptional()){if("$identifier"===n.getName()&&"$identifier"!==l)continue;if(!s.isNull(n?.defaultValue))continue;d.reportMissingRequiredProperty(t.rootResourceIdentifier,n)}}else t.stack.push(a),n.accept(this,t)}return null}visitField(e,t){const r=t.stack.pop();let n=typeof r,a=e.getName();return"undefined"!==n&&"symbol"!==n||d.reportFieldTypeViolation(t.rootResourceIdentifier,a,r,e),e.isTypeEnum()?this.checkEnum(r,e,t):e.isArray()?this.checkArray(r,e,t):this.checkItem(r,e,t),null}checkEnum(e,t,r){!t.isArray()||e instanceof Array||d.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t);const n=t.getParent().getModelFile().getType(t.getType());if(t.isArray())for(let t=0;t<e.length;t++){const a=e[t];r.stack.push(a),n.accept(this,r)}else{const t=e;r.stack.push(t),n.accept(this,r)}}checkArray(e,t,r){e instanceof Array||d.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t);for(let n=0;n<e.length;n++){const a=e[n];this.checkItem(a,t,r)}}checkItem(e,t,r){let n=typeof e,a=t.getName();if("undefined"!==n&&"symbol"!==n||d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t),t.isPrimitive()){let o=!1;switch(t.getType()){case"String":"string"!==n&&(o=!0);break;case"Long":case"Integer":case"Double":"number"!==n&&(o=!0),isFinite(e)||(o=!0);break;case"Boolean":"boolean"!==n&&(o=!0);break;case"DateTime":"object"==typeof e&&"function"==typeof e.isBefore||(o=!0)}o?d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t):null!==t.getValidator()&&t.getValidator().validate(r.currentIdentifier,e)}else{let n=r.modelManager.getType(t.getFullyQualifiedTypeName());if(e instanceof o){try{n=r.modelManager.getType(e.getFullyQualifiedType())}catch(n){d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t)}i.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||d.reportInvalidFieldAssignment(r.rootResourceIdentifier,a,e,t)}r.stack.push(e),n.accept(this,r)}}visitRelationshipDeclaration(e,t){const r=t.stack.pop();if(e.isArray()){r instanceof Array||d.reportInvalidFieldAssignment(t.rootResourceIdentifier,e.getName(),r,e);for(let n=0;n<r.length;n++){const a=r[n];this.checkRelationship(t,e,a)}}else this.checkRelationship(t,e,r);return null}checkRelationship(e,t,r){r instanceof n||r instanceof a&&(this.options.convertResourcesToRelationships||this.options.permitResourcesForRelationships)||d.reportNotRelationshipViolation(e.rootResourceIdentifier,t,r);const o=e.modelManager.getType(r.getFullyQualifiedType());if(!o.getIdentifierFieldName())throw new Error("Cannot have a relationship to a field that is not identifiable.");i.isAssignableTo(o.getModelFile(),r.getFullyQualifiedType(),t)||d.reportInvalidFieldAssignment(e.rootResourceIdentifier,t.getName(),r,t)}static reportFieldTypeViolation(e,t,r,n){let a=n.isArray()?"[]":"",s=typeof r;if(r instanceof o)s=r.getFullyQualifiedType(),r=r.getFullyQualifiedIdentifier();else if(r)try{r="number"!=typeof r||isFinite(r)?JSON.stringify(r):r.toString()}catch(e){r=r.toString()}let i=l.messageFormatter("resourcevalidator-fieldtypeviolation");throw new c(i({resourceId:e,propertyName:t,fieldType:n.getType()+a,value:r,typeOfValue:s}))}static reportNotResouceViolation(e,t,r){let n=l.messageFormatter("resourcevalidator-notresourceorconcept");throw new c(n({resourceId:e,classFQN:t.getFullyQualifiedName(),invalidValue:r.toString()}))}static reportNotRelationshipViolation(e,t,r){let n=l.messageFormatter("resourcevalidator-notrelationship");throw new c(n({resourceId:e,classFQN:t.getFullyQualifiedTypeName(),invalidValue:r.toString()}))}static reportMissingRequiredProperty(e,t){let r=l.messageFormatter("resourcevalidator-missingrequiredproperty");throw new c(r({resourceId:e,fieldName:t.getName()}))}static reportEmptyIdentifier(e){let t=l.messageFormatter("resourcevalidator-emptyidentifier");throw new c(t({resourceId:e}))}static reportInvalidEnumValue(e,t,r){let n=l.messageFormatter("resourcevalidator-invalidenumvalue");throw new c(n({resourceId:e,value:r,fieldName:t.getName()}))}static reportAbstractClass(e){let t=l.messageFormatter("resourcevalidator-abstractclass");throw new c(t({className:e.getFullyQualifiedName()}))}static reportUndeclaredField(e,t,r){let n=l.messageFormatter("resourcevalidator-undeclaredfield");throw new c(n({resourceId:e,propertyName:t,fullyQualifiedTypeName:r}))}static reportInvalidFieldAssignment(e,t,r,n){let a=l.messageFormatter("resourcevalidator-invalidfieldassignment"),o=n.getFullyQualifiedTypeName();throw n.isArray()&&(o+="[]"),new c(a({resourceId:e,propertyName:t,objectType:r.getFullyQualifiedType(),fieldType:o}))}}e.exports=d},390:(e,t,r)=>{"use strict";const n=r(1209).BaseException;e.exports=class extends n{constructor(e,t){super(e,t)}}},7854:(e,t,r)=>{"use strict";const{loremIpsum:n}=r(7405),a=r(3174),o=r(3464),s=r(7657);o.extend(s);const i=function(e,t,r,n,a){return null===e&&(e=n),e=Math.min(Math.max(e,n),a),(null===t||t>a)&&(t=a),t=Math.max(Math.min(t,a),n),t+=r,t/=r,e/=r,(Math.random()*(t-e)+e)/(1/r)},c=(e,t,r)=>{let n=e,a=t;switch(null!==a&&null!==n&&a<n&&(n=t,a=e),r){case"Long":return Math.floor(i(n,a,1,-Math.pow(2,32),Math.pow(2,32)));case"Integer":return Math.floor(i(n,a,1,-Math.pow(2,16),Math.pow(2,16)));case"Double":return Number(i(n,a,1e-4,-Math.pow(2,8),Math.pow(2,8)).toFixed(3));default:return 0}},l=(e,t,r,n)=>{t??=0,r??=null;const a=c(t,r,"Integer");for(;e.length<a;)e+=n();return e.substring(0,a)},u=(e,t)=>{let r=n({count:1,units:"sentences",sentenceLowerBound:1,sentenceUpperBound:5});return(e||t)&&(r=l(r,e,t,(()=>n({count:1,units:"sentences",sentenceLowerBound:1,sentenceUpperBound:5})))),r},p=(e,t,r)=>{if(!e)return"";const n=new a(e.source,e.flags);let o=n.gen();return(t||r)&&(o=l(o,t,r,(()=>n.gen()))),o};class d{constructor(){this.currentDate=o.utc()}getDateTime(){return this.currentDate}getInteger(){return 0}getLong(){return 0}getDouble(){return 0}getBoolean(){return!1}getString(e,t){return e||t?u(e,t):""}getEnum(e){return e[0]}getMap(){return new Map}getArray(e){return[]}getRegex(e,t,r){return p(e,t,r)}getRange(e,t,r){return c(e,t,r)}}class m extends d{constructor(){super()}getInteger(){return Math.round(Math.random()*Math.pow(2,16))}getLong(){return Math.round(Math.random()*Math.pow(2,32))}getDouble(){return Number((Math.random()*Math.pow(2,8)).toFixed(3))}getBoolean(){return 1===Math.round(Math.random())}getString(e,t){return u(e,t)}getEnum(e){return e[Math.floor(Math.random()*e.length)]}getMap(){return new Map([[this.getString(1,10),this.getString(1,10)]])}getArray(e){return[e()]}getRegex(e,t,r){return p(e,t,r)}getRange(e,t,r){return c(e,t,r)}}e.exports=class{static empty(){return new d}static sample(){return new m}}},5477:(e,t,r)=>{"use strict";const{BaseException:n,ErrorCodes:a}=r(1209),o=r(2438);e.exports=class extends n{constructor(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.TYPE_NOT_FOUND_EXCEPTION;t||(t=o.messageFormatter("typenotfounderror-defaultmessage")({typeName:e})),super(t,r,n),this.typeName=e}getTypeName(){return this.typeName}}},3464:function(e){e.exports=function(){"use strict";var e=6e4,t=36e5,r="millisecond",n="second",a="minute",o="hour",s="day",i="week",c="month",l="quarter",u="year",p="date",d="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},g=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},y={s:g,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),a=r%60;return(t<=0?"+":"-")+g(n,2,"0")+":"+g(a,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),a=t.clone().add(n,c),o=r-a<0,s=t.clone().add(n+(o?-1:1),c);return+(-(n+(r-a)/(o?a-s:s-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:u,w:i,d:s,D:p,h:o,m:a,s:n,ms:r,Q:l}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},v="en",$={};$[v]=f;var A="$isDayjsObject",b=function(e){return e instanceof D||!(!e||!e[A])},C=function e(t,r,n){var a;if(!t)return v;if("string"==typeof t){var o=t.toLowerCase();$[o]&&(a=o),r&&($[o]=r,a=o);var s=t.split("-");if(!a&&s.length>1)return e(s[0])}else{var i=t.name;$[i]=t,a=i}return!n&&a&&(v=a),a||!n&&v},T=function(e,t){if(b(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new D(r)},w=y;w.l=C,w.i=b,w.w=function(e,t){return T(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var D=function(){function f(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[A]=!0}var g=f.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(w.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(m);if(n){var a=n[2]-1||0,o=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)):new Date(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return w},g.isValid=function(){return!(this.$d.toString()===d)},g.isSame=function(e,t){var r=T(e);return this.startOf(t)<=r&&r<=this.endOf(t)},g.isAfter=function(e,t){return T(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<T(e)},g.$g=function(e,t,r){return w.u(e)?this[t]:this.set(r,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var r=this,l=!!w.u(t)||t,d=w.p(e),m=function(e,t){var n=w.w(r.$u?Date.UTC(r.$y,t,e):new Date(r.$y,t,e),r);return l?n:n.endOf(s)},h=function(e,t){return w.w(r.toDate()[e].apply(r.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),r)},f=this.$W,g=this.$M,y=this.$D,v="set"+(this.$u?"UTC":"");switch(d){case u:return l?m(1,0):m(31,11);case c:return l?m(1,g):m(0,g+1);case i:var $=this.$locale().weekStart||0,A=(f<$?f+7:f)-$;return m(l?y-A:y+(6-A),g);case s:case p:return h(v+"Hours",0);case o:return h(v+"Minutes",1);case a:return h(v+"Seconds",2);case n:return h(v+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var i,l=w.p(e),d="set"+(this.$u?"UTC":""),m=(i={},i[s]=d+"Date",i[p]=d+"Date",i[c]=d+"Month",i[u]=d+"FullYear",i[o]=d+"Hours",i[a]=d+"Minutes",i[n]=d+"Seconds",i[r]=d+"Milliseconds",i)[l],h=l===s?this.$D+(t-this.$W):t;if(l===c||l===u){var f=this.clone().set(p,1);f.$d[m](h),f.init(),this.$d=f.set(p,Math.min(this.$D,f.daysInMonth())).$d}else m&&this.$d[m](h);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[w.p(e)]()},g.add=function(r,l){var p,d=this;r=Number(r);var m=w.p(l),h=function(e){var t=T(d);return w.w(t.date(t.date()+Math.round(e*r)),d)};if(m===c)return this.set(c,this.$M+r);if(m===u)return this.set(u,this.$y+r);if(m===s)return h(1);if(m===i)return h(7);var f=(p={},p[a]=e,p[o]=t,p[n]=1e3,p)[m]||1,g=this.$d.getTime()+r*f;return w.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||d;var n=e||"YYYY-MM-DDTHH:mm:ssZ",a=w.z(this),o=this.$H,s=this.$m,i=this.$M,c=r.weekdays,l=r.months,u=r.meridiem,p=function(e,r,a,o){return e&&(e[r]||e(t,n))||a[r].slice(0,o)},m=function(e){return w.s(o%12||12,e,"0")},f=u||function(e,t,r){var n=e<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(h,(function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return w.s(t.$y,4,"0");case"M":return i+1;case"MM":return w.s(i+1,2,"0");case"MMM":return p(r.monthsShort,i,l,3);case"MMMM":return p(l,i);case"D":return t.$D;case"DD":return w.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(r.weekdaysMin,t.$W,c,2);case"ddd":return p(r.weekdaysShort,t.$W,c,3);case"dddd":return c[t.$W];case"H":return String(o);case"HH":return w.s(o,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return f(o,s,!0);case"A":return f(o,s,!1);case"m":return String(s);case"mm":return w.s(s,2,"0");case"s":return String(t.$s);case"ss":return w.s(t.$s,2,"0");case"SSS":return w.s(t.$ms,3,"0");case"Z":return a}return null}(e)||a.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(r,p,d){var m,h=this,f=w.p(p),g=T(r),y=(g.utcOffset()-this.utcOffset())*e,v=this-g,$=function(){return w.m(h,g)};switch(f){case u:m=$()/12;break;case c:m=$();break;case l:m=$()/3;break;case i:m=(v-y)/6048e5;break;case s:m=(v-y)/864e5;break;case o:m=v/t;break;case a:m=v/e;break;case n:m=v/1e3;break;default:m=v}return d?m:w.a(m)},g.daysInMonth=function(){return this.endOf(c).$D},g.$locale=function(){return $[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=C(e,t,!0);return n&&(r.$L=n),r},g.clone=function(){return w.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},f}(),F=D.prototype;return T.prototype=F,[["$ms",r],["$s",n],["$m",a],["$H",o],["$W",s],["$M",c],["$y",u],["$D",p]].forEach((function(e){F[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),T.extend=function(e,t){return e.$i||(e(t,D,T),e.$i=!0),T},T.locale=C,T.isDayjs=b,T.unix=function(e){return T(1e3*e)},T.en=$[v],T.Ls=$,T.p={},T}()},279:function(e){e.exports=function(){"use strict";var e,t,r=1e3,n=6e4,a=36e5,o=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,i=31536e6,c=2628e6,l=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,u={years:i,months:c,days:o,hours:a,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},p=function(e){return e instanceof v},d=function(e,t,r){return new v(e,r,t.$l)},m=function(e){return t.p(e)+"s"},h=function(e){return e<0},f=function(e){return h(e)?Math.ceil(e):Math.floor(e)},g=function(e){return Math.abs(e)},y=function(e,t){return e?h(e)?{negative:!0,format:""+g(e)+t}:{negative:!1,format:""+e+t}:{negative:!1,format:""}},v=function(){function h(e,t,r){var n=this;if(this.$d={},this.$l=r,void 0===e&&(this.$ms=0,this.parseFromMilliseconds()),t)return d(e*u[m(t)],this);if("number"==typeof e)return this.$ms=e,this.parseFromMilliseconds(),this;if("object"==typeof e)return Object.keys(e).forEach((function(t){n.$d[m(t)]=e[t]})),this.calMilliseconds(),this;if("string"==typeof e){var a=e.match(l);if(a){var o=a.slice(2).map((function(e){return null!=e?Number(e):0}));return this.$d.years=o[0],this.$d.months=o[1],this.$d.weeks=o[2],this.$d.days=o[3],this.$d.hours=o[4],this.$d.minutes=o[5],this.$d.seconds=o[6],this.calMilliseconds(),this}}return this}var g=h.prototype;return g.calMilliseconds=function(){var e=this;this.$ms=Object.keys(this.$d).reduce((function(t,r){return t+(e.$d[r]||0)*u[r]}),0)},g.parseFromMilliseconds=function(){var e=this.$ms;this.$d.years=f(e/i),e%=i,this.$d.months=f(e/c),e%=c,this.$d.days=f(e/o),e%=o,this.$d.hours=f(e/a),e%=a,this.$d.minutes=f(e/n),e%=n,this.$d.seconds=f(e/r),e%=r,this.$d.milliseconds=e},g.toISOString=function(){var e=y(this.$d.years,"Y"),t=y(this.$d.months,"M"),r=+this.$d.days||0;this.$d.weeks&&(r+=7*this.$d.weeks);var n=y(r,"D"),a=y(this.$d.hours,"H"),o=y(this.$d.minutes,"M"),s=this.$d.seconds||0;this.$d.milliseconds&&(s+=this.$d.milliseconds/1e3,s=Math.round(1e3*s)/1e3);var i=y(s,"S"),c=e.negative||t.negative||n.negative||a.negative||o.negative||i.negative,l=a.format||o.format||i.format?"T":"",u=(c?"-":"")+"P"+e.format+t.format+n.format+l+a.format+o.format+i.format;return"P"===u||"-P"===u?"P0D":u},g.toJSON=function(){return this.toISOString()},g.format=function(e){var r=e||"YYYY-MM-DDTHH:mm:ss",n={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return r.replace(s,(function(e,t){return t||String(n[e])}))},g.as=function(e){return this.$ms/u[m(e)]},g.get=function(e){var t=this.$ms,r=m(e);return"milliseconds"===r?t%=1e3:t="weeks"===r?f(t/u[r]):this.$d[r],t||0},g.add=function(e,t,r){var n;return n=t?e*u[m(t)]:p(e)?e.$ms:d(e,this).$ms,d(this.$ms+n*(r?-1:1),this)},g.subtract=function(e,t){return this.add(e,t,!0)},g.locale=function(e){var t=this.clone();return t.$l=e,t},g.clone=function(){return d(this.$ms,this)},g.humanize=function(t){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!t)},g.valueOf=function(){return this.asMilliseconds()},g.milliseconds=function(){return this.get("milliseconds")},g.asMilliseconds=function(){return this.as("milliseconds")},g.seconds=function(){return this.get("seconds")},g.asSeconds=function(){return this.as("seconds")},g.minutes=function(){return this.get("minutes")},g.asMinutes=function(){return this.as("minutes")},g.hours=function(){return this.get("hours")},g.asHours=function(){return this.as("hours")},g.days=function(){return this.get("days")},g.asDays=function(){return this.as("days")},g.weeks=function(){return this.get("weeks")},g.asWeeks=function(){return this.as("weeks")},g.months=function(){return this.get("months")},g.asMonths=function(){return this.as("months")},g.years=function(){return this.get("years")},g.asYears=function(){return this.as("years")},h}(),$=function(e,t,r){return e.add(t.years()*r,"y").add(t.months()*r,"M").add(t.days()*r,"d").add(t.hours()*r,"h").add(t.minutes()*r,"m").add(t.seconds()*r,"s").add(t.milliseconds()*r,"ms")};return function(r,n,a){e=a,t=a().$utils(),a.duration=function(e,t){var r=a.locale();return d(e,{$l:r},t)},a.isDuration=p;var o=n.prototype.add,s=n.prototype.subtract;n.prototype.add=function(e,t){return p(e)?$(this,e,1):o.bind(this)(e,t)},n.prototype.subtract=function(e,t){return p(e)?$(this,e,-1):s.bind(this)(e,t)}}}()},3221:function(e){e.exports=function(){"use strict";return function(e,t,r){var n=function(e,t){if(!t||!t.length||1===t.length&&!t[0]||1===t.length&&Array.isArray(t[0])&&!t[0].length)return null;var r;1===t.length&&t[0].length>0&&(t=t[0]),r=(t=t.filter((function(e){return e})))[0];for(var n=1;n<t.length;n+=1)t[n].isValid()&&!t[n][e](r)||(r=t[n]);return r};r.max=function(){var e=[].slice.call(arguments,0);return n("isAfter",e)},r.min=function(){var e=[].slice.call(arguments,0);return n("isBefore",e)}}}()},4491:function(e){e.exports=function(){"use strict";var e="month",t="quarter";return function(r,n){var a=n.prototype;a.quarter=function(e){return this.$utils().u(e)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(e-1))};var o=a.add;a.add=function(r,n){return r=Number(r),this.$utils().p(n)===t?this.add(3*r,e):o.bind(this)(r,n)};var s=a.startOf;a.startOf=function(r,n){var a=this.$utils(),o=!!a.u(n)||n;if(a.p(r)===t){var i=this.quarter()-1;return o?this.month(3*i).startOf(e).startOf("day"):this.month(3*i+2).endOf(e).endOf("day")}return s.bind(this)(r,n)}}}()},7657:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,a,o){var s=a.prototype;o.utc=function(e){return new a({date:e,utc:!0,args:arguments})},s.utc=function(t){var r=o(this.toDate(),{locale:this.$L,utc:!0});return t?r.add(this.utcOffset(),e):r},s.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var i=s.parse;s.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),i.call(this,e)};var c=s.init;s.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else c.call(this)};var l=s.utcOffset;s.utcOffset=function(n,a){var o=this.$utils().u;if(o(n))return this.$u?0:o(this.$offset)?l.call(this):this.$offset;if("string"==typeof n&&(n=function(e){void 0===e&&(e="");var n=e.match(t);if(!n)return null;var a=(""+n[0]).match(r)||["-",0,0],o=a[0],s=60*+a[1]+ +a[2];return 0===s?0:"+"===o?s:-s}(n),null===n))return this;var s=Math.abs(n)<=16?60*n:n,i=this;if(a)return i.$offset=s,i.$u=0===n,i;if(0!==n){var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(i=this.local().add(s+c,e)).$offset=s,i.$x.$localOffset=c}else i=this.utc();return i};var u=s.format;s.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,t)},s.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var p=s.toDate;s.toDate=function(e){return"s"===e&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():p.call(this)};var d=s.diff;s.diff=function(e,t,r){if(e&&this.$u===e.$u)return d.call(this,e,t,r);var n=this.local(),a=o(e).local();return d.call(n,a,t,r)}}}()},124:(e,t,r)=>{var n=r(9907);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(7891)(t);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},7891:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(7250),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},8143:e=>{"use strict";class t{constructor(e,t){this.low=e,this.high=t,this.length=1+t-e}overlaps(e){return!(this.high<e.low||this.low>e.high)}touches(e){return!(this.high+1<e.low||this.low-1>e.high)}add(e){return new t(Math.min(this.low,e.low),Math.max(this.high,e.high))}subtract(e){return e.low<=this.low&&e.high>=this.high?[]:e.low>this.low&&e.high<this.high?[new t(this.low,e.low-1),new t(e.high+1,this.high)]:e.low<=this.low?[new t(e.high+1,this.high)]:[new t(this.low,e.low-1)]}toString(){return this.low==this.high?this.low.toString():this.low+"-"+this.high}}class r{constructor(e,t){this.ranges=[],this.length=0,null!=e&&this.add(e,t)}_update_length(){this.length=this.ranges.reduce(((e,t)=>e+t.length),0)}add(e,n){var a=e=>{for(var t=0;t<this.ranges.length&&!e.touches(this.ranges[t]);)t++;for(var r=this.ranges.slice(0,t);t<this.ranges.length&&e.touches(this.ranges[t]);)e=e.add(this.ranges[t]),t++;r.push(e),this.ranges=r.concat(this.ranges.slice(t)),this._update_length()};return e instanceof r?e.ranges.forEach(a):(null==n&&(n=e),a(new t(e,n))),this}subtract(e,n){var a=e=>{for(var t=0;t<this.ranges.length&&!e.overlaps(this.ranges[t]);)t++;for(var r=this.ranges.slice(0,t);t<this.ranges.length&&e.overlaps(this.ranges[t]);)r=r.concat(this.ranges[t].subtract(e)),t++;this.ranges=r.concat(this.ranges.slice(t)),this._update_length()};return e instanceof r?e.ranges.forEach(a):(null==n&&(n=e),a(new t(e,n))),this}intersect(e,n){var a=[],o=e=>{for(var r=0;r<this.ranges.length&&!e.overlaps(this.ranges[r]);)r++;for(;r<this.ranges.length&&e.overlaps(this.ranges[r]);){var n=Math.max(this.ranges[r].low,e.low),o=Math.min(this.ranges[r].high,e.high);a.push(new t(n,o)),r++}};return e instanceof r?e.ranges.forEach(o):(null==n&&(n=e),o(new t(e,n))),this.ranges=a,this._update_length(),this}index(e){for(var t=0;t<this.ranges.length&&this.ranges[t].length<=e;)e-=this.ranges[t].length,t++;return this.ranges[t].low+e}toString(){return"[ "+this.ranges.join(", ")+" ]"}clone(){return new r(this)}numbers(){return this.ranges.reduce(((e,t)=>{for(var r=t.low;r<=t.high;)e.push(r),r++;return e}),[])}subranges(){return this.ranges.map((e=>({low:e.low,high:e.high,length:1+e.high-e.low})))}}e.exports=r},8575:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FORMAT_PLAIN=t.FORMAT_HTML=t.FORMATS=void 0;var r="html";t.FORMAT_HTML=r;var n="plain";t.FORMAT_PLAIN=n;var a=[r,n];t.FORMATS=a},4801:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LINE_ENDINGS=void 0,t.LINE_ENDINGS={POSIX:"\n",WIN32:"\r\n"}},3647:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SUPPORTED_PLATFORMS=void 0,t.SUPPORTED_PLATFORMS={DARWIN:"darwin",LINUX:"linux",WIN32:"win32"}},9148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UNIT_WORDS=t.UNIT_WORD=t.UNIT_SENTENCES=t.UNIT_SENTENCE=t.UNIT_PARAGRAPHS=t.UNIT_PARAGRAPH=t.UNITS=void 0;var r="words";t.UNIT_WORDS=r;var n="word";t.UNIT_WORD=n;var a="sentences";t.UNIT_SENTENCES=a;var o="sentence";t.UNIT_SENTENCE=o;var s="paragraphs";t.UNIT_PARAGRAPHS=s;var i="paragraph";t.UNIT_PARAGRAPH=i;var c=[r,n,a,o,s,i];t.UNITS=c},938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORDS=void 0,t.WORDS=["ad","adipisicing","aliqua","aliquip","amet","anim","aute","cillum","commodo","consectetur","consequat","culpa","cupidatat","deserunt","do","dolor","dolore","duis","ea","eiusmod","elit","enim","esse","est","et","eu","ex","excepteur","exercitation","fugiat","id","in","incididunt","ipsum","irure","labore","laboris","laborum","Lorem","magna","minim","mollit","nisi","non","nostrud","nulla","occaecat","officia","pariatur","proident","qui","quis","reprehenderit","sint","sit","sunt","tempor","ullamco","ut","velit","veniam","voluptate"]},7405:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"LoremIpsum",{enumerable:!0,get:function(){return i.default}}),t.loremIpsum=void 0;var n,a=r(8575),o=r(9148),s=r(938),i=(n=r(2508))&&n.__esModule?n:{default:n};t.loremIpsum=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.count,r=void 0===t?1:t,n=e.format,c=void 0===n?a.FORMAT_PLAIN:n,l=e.paragraphLowerBound,u=void 0===l?3:l,p=e.paragraphUpperBound,d=void 0===p?7:p,m=e.random,h=e.sentenceLowerBound,f=void 0===h?5:h,g=e.sentenceUpperBound,y=void 0===g?15:g,v=e.units,$=void 0===v?o.UNIT_SENTENCES:v,A=e.words,b=void 0===A?s.WORDS:A,C=e.suffix,T=void 0===C?"":C,w={random:m,sentencesPerParagraph:{max:d,min:u},words:b,wordsPerSentence:{max:y,min:f}},D=new i.default(w,c,T);switch($){case o.UNIT_PARAGRAPHS:case o.UNIT_PARAGRAPH:return D.generateParagraphs(r);case o.UNIT_SENTENCES:case o.UNIT_SENTENCE:return D.generateSentences(r);case o.UNIT_WORDS:case o.UNIT_WORD:return D.generateWords(r);default:return""}}},2508:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=r(8575),o=r(4801),s=(n=r(9888))&&n.__esModule?n:{default:n},i=r(3798);function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.FORMAT_PLAIN,n=arguments.length>2?arguments[2]:void 0;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.format=r,this.suffix=n,function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"generator",void 0),-1===a.FORMATS.indexOf(r.toLowerCase()))throw new Error("".concat(r," is an invalid format. Please use ").concat(a.FORMATS.join(" or "),"."));this.generator=new s.default(t)}var t,r;return t=e,(r=[{key:"getLineEnding",value:function(){return this.suffix?this.suffix:!(0,i.isReactNative)()&&(0,i.isNode)()&&(0,i.isWindows)()?o.LINE_ENDINGS.WIN32:o.LINE_ENDINGS.POSIX}},{key:"formatString",value:function(e){return this.format===a.FORMAT_HTML?"<p>".concat(e,"</p>"):e}},{key:"formatStrings",value:function(e){var t=this;return e.map((function(e){return t.formatString(e)}))}},{key:"generateWords",value:function(e){return this.formatString(this.generator.generateRandomWords(e))}},{key:"generateSentences",value:function(e){return this.formatString(this.generator.generateRandomParagraph(e))}},{key:"generateParagraphs",value:function(e){var t=this.generator.generateRandomParagraph.bind(this.generator);return this.formatStrings((0,i.makeArrayOfStrings)(e,t)).join(this.getLineEnding())}}])&&c(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}(),u=l;t.default=u},9888:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(938),a=r(3798);function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.sentencesPerParagraph,a=void 0===r?{max:7,min:3}:r,o=t.wordsPerSentence,i=void 0===o?{max:15,min:5}:o,c=t.random,l=(t.seed,t.words),u=void 0===l?n.WORDS:l;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),s(this,"sentencesPerParagraph",void 0),s(this,"wordsPerSentence",void 0),s(this,"random",void 0),s(this,"words",void 0),a.min>a.max)throw new Error("Minimum number of sentences per paragraph (".concat(a.min,") cannot exceed maximum (").concat(a.max,")."));if(i.min>i.max)throw new Error("Minimum number of words per sentence (".concat(i.min,") cannot exceed maximum (").concat(i.max,")."));this.sentencesPerParagraph=a,this.words=u,this.wordsPerSentence=i,this.random=c||Math.random}var t,r;return t=e,(r=[{key:"generateRandomInteger",value:function(e,t){return Math.floor(this.random()*(t-e+1)+e)}},{key:"generateRandomWords",value:function(e){var t=this,r=this.wordsPerSentence,n=r.min,o=r.max,s=e||this.generateRandomInteger(n,o);return(0,a.makeArrayOfLength)(s).reduce((function(e,r){return"".concat(t.pluckRandomWord()," ").concat(e)}),"").trim()}},{key:"generateRandomSentence",value:function(e){return"".concat((0,a.capitalize)(this.generateRandomWords(e)),".")}},{key:"generateRandomParagraph",value:function(e){var t=this,r=this.sentencesPerParagraph,n=r.min,o=r.max,s=e||this.generateRandomInteger(n,o);return(0,a.makeArrayOfLength)(s).reduce((function(e,r){return"".concat(t.generateRandomSentence()," ").concat(e)}),"").trim()}},{key:"pluckRandomWord",value:function(){var e=this.words.length-1,t=this.generateRandomInteger(0,e);return this.words[t]}}])&&o(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=i},3670:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){var t=e.trim();return t.charAt(0).toUpperCase()+t.slice(1)}},3798:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"capitalize",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"isNode",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"isReactNative",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"isWindows",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"makeArrayOfLength",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"makeArrayOfStrings",{enumerable:!0,get:function(){return c.default}});var n=l(r(3670)),a=l(r(2392)),o=l(r(458)),s=l(r(8855)),i=l(r(2556)),c=l(r(9480));function l(e){return e&&e.__esModule?e:{default:e}}},2392:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){return!!e.exports}},458:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){var e=!1;try{e="ReactNative"===navigator.product}catch(t){e=!1}return e}},8855:(e,t,r)=>{"use strict";var n=r(9907);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(3647);t.default=function(){var e=!1;try{e=n.platform===a.SUPPORTED_PLATFORMS.WIN32}catch(t){e=!1}return e}},2556:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return Array.apply(null,Array(e)).map((function(e,t){return t}))}},9480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=(n=r(2556))&&n.__esModule?n:{default:n};t.default=function(e,t){return(0,a.default)(e).map((function(){return t()}))}},7250:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},9907:e=>{var t,r,n=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var i,c=[],l=!1,u=-1;function p(){l&&i&&(l=!1,i.length?c=i.concat(c):u=-1,c.length&&d())}function d(){if(!l){var e=s(p);l=!0;for(var t=c.length;t;){for(i=c,c=[];++u<t;)i&&i[u].run();u=-1,t=c.length}i=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function h(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new m(e,t)),1!==c.length||l||s(d)},m.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=h,n.addListener=h,n.once=h,n.off=h,n.removeListener=h,n.removeAllListeners=h,n.emit=h,n.prependListener=h,n.prependOnceListener=h,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},3174:(e,t,r)=>{const n=r(1309),a=r(8143),o=n.types;e.exports=class e{constructor(e,t){if(this._setDefaults(e),e instanceof RegExp)this.ignoreCase=e.ignoreCase,this.multiline=e.multiline,e=e.source;else{if("string"!=typeof e)throw new Error("Expected a regexp or string");this.ignoreCase=t&&-1!==t.indexOf("i"),this.multiline=t&&-1!==t.indexOf("m")}this.tokens=n(e)}_setDefaults(t){this.max=null!=t.max?t.max:null!=e.prototype.max?e.prototype.max:100,this.defaultRange=t.defaultRange?t.defaultRange:this.defaultRange.clone(),t.randInt&&(this.randInt=t.randInt)}gen(){return this._gen(this.tokens,[])}_gen(e,t){var r,n,a,s,i;switch(e.type){case o.ROOT:case o.GROUP:if(e.followedBy||e.notFollowedBy)return"";for(e.remember&&void 0===e.groupNumber&&(e.groupNumber=t.push(null)-1),n="",s=0,i=(r=e.options?this._randSelect(e.options):e.stack).length;s<i;s++)n+=this._gen(r[s],t);return e.remember&&(t[e.groupNumber]=n),n;case o.POSITION:return"";case o.SET:var c=this._expand(e);return c.length?String.fromCharCode(this._randSelect(c)):"";case o.REPETITION:for(a=this.randInt(e.min,e.max===1/0?e.min+this.max:e.max),n="",s=0;s<a;s++)n+=this._gen(e.value,t);return n;case o.REFERENCE:return t[e.value-1]||"";case o.CHAR:var l=this.ignoreCase&&this._randBool()?this._toOtherCase(e.value):e.value;return String.fromCharCode(l)}}_toOtherCase(e){return e+(97<=e&&e<=122?-32:65<=e&&e<=90?32:0)}_randBool(){return!this.randInt(0,1)}_randSelect(e){return e instanceof a?e.index(this.randInt(0,e.length-1)):e[this.randInt(0,e.length-1)]}_expand(e){if(e.type===n.types.CHAR)return new a(e.value);if(e.type===n.types.RANGE)return new a(e.from,e.to);{let t=new a;for(let r=0;r<e.set.length;r++){let n=this._expand(e.set[r]);if(t.add(n),this.ignoreCase)for(let e=0;e<n.length;e++){let r=n.index(e),a=this._toOtherCase(r);r!==a&&t.add(a)}}return e.not?this.defaultRange.clone().subtract(t):this.defaultRange.clone().intersect(t)}}randInt(e,t){return e+Math.floor(Math.random()*(1+t-e))}get defaultRange(){return this._range=this._range||new a(32,126)}set defaultRange(e){this._range=e}static randexp(t,r){var n;return"string"==typeof t&&(t=new RegExp(t,r)),void 0===t._randexp?(n=new e(t,r),t._randexp=n):(n=t._randexp)._setDefaults(t),n.gen()}static sugar(){RegExp.prototype.gen=function(){return e.randexp(this)}}}},1309:(e,t,r)=>{const n=r(4045),a=r(8020),o=r(7732),s=r(5097);e.exports=e=>{var t,r,i=0,c={type:a.ROOT,stack:[]},l=c,u=c.stack,p=[],d=t=>{n.error(e,"Nothing to repeat at column "+(t-1))},m=n.strToChars(e);for(t=m.length;i<t;)switch(r=m[i++]){case"\\":switch(r=m[i++]){case"b":u.push(s.wordBoundary());break;case"B":u.push(s.nonWordBoundary());break;case"w":u.push(o.words());break;case"W":u.push(o.notWords());break;case"d":u.push(o.ints());break;case"D":u.push(o.notInts());break;case"s":u.push(o.whitespace());break;case"S":u.push(o.notWhitespace());break;default:/\d/.test(r)?u.push({type:a.REFERENCE,value:parseInt(r,10)}):u.push({type:a.CHAR,value:r.charCodeAt(0)})}break;case"^":u.push(s.begin());break;case"$":u.push(s.end());break;case"[":var h;"^"===m[i]?(h=!0,i++):h=!1;var f=n.tokenizeClass(m.slice(i),e);i+=f[1],u.push({type:a.SET,set:f[0],not:h});break;case".":u.push(o.anyChar());break;case"(":var g={type:a.GROUP,stack:[],remember:!0};"?"===(r=m[i])&&(r=m[i+1],i+=2,"="===r?g.followedBy=!0:"!"===r?g.notFollowedBy=!0:":"!==r&&n.error(e,`Invalid group, character '${r}' after '?' at column `+(i-1)),g.remember=!1),u.push(g),p.push(l),l=g,u=g.stack;break;case")":0===p.length&&n.error(e,"Unmatched ) at column "+(i-1)),u=(l=p.pop()).options?l.options[l.options.length-1]:l.stack;break;case"|":l.options||(l.options=[l.stack],delete l.stack);var y=[];l.options.push(y),u=y;break;case"{":var v,$,A=/^(\d+)(,(\d+)?)?\}/.exec(m.slice(i));null!==A?(0===u.length&&d(i),v=parseInt(A[1],10),$=A[2]?A[3]?parseInt(A[3],10):1/0:v,i+=A[0].length,u.push({type:a.REPETITION,min:v,max:$,value:u.pop()})):u.push({type:a.CHAR,value:123});break;case"?":0===u.length&&d(i),u.push({type:a.REPETITION,min:0,max:1,value:u.pop()});break;case"+":0===u.length&&d(i),u.push({type:a.REPETITION,min:1,max:1/0,value:u.pop()});break;case"*":0===u.length&&d(i),u.push({type:a.REPETITION,min:0,max:1/0,value:u.pop()});break;default:u.push({type:a.CHAR,value:r.charCodeAt(0)})}return 0!==p.length&&n.error(e,"Unterminated group"),c},e.exports.types=a},5097:(e,t,r)=>{const n=r(8020);t.wordBoundary=()=>({type:n.POSITION,value:"b"}),t.nonWordBoundary=()=>({type:n.POSITION,value:"B"}),t.begin=()=>({type:n.POSITION,value:"^"}),t.end=()=>({type:n.POSITION,value:"$"})},7732:(e,t,r)=>{const n=r(8020),a=()=>[{type:n.RANGE,from:48,to:57}],o=()=>[{type:n.CHAR,value:95},{type:n.RANGE,from:97,to:122},{type:n.RANGE,from:65,to:90}].concat(a()),s=()=>[{type:n.CHAR,value:9},{type:n.CHAR,value:10},{type:n.CHAR,value:11},{type:n.CHAR,value:12},{type:n.CHAR,value:13},{type:n.CHAR,value:32},{type:n.CHAR,value:160},{type:n.CHAR,value:5760},{type:n.RANGE,from:8192,to:8202},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233},{type:n.CHAR,value:8239},{type:n.CHAR,value:8287},{type:n.CHAR,value:12288},{type:n.CHAR,value:65279}];t.words=()=>({type:n.SET,set:o(),not:!1}),t.notWords=()=>({type:n.SET,set:o(),not:!0}),t.ints=()=>({type:n.SET,set:a(),not:!1}),t.notInts=()=>({type:n.SET,set:a(),not:!0}),t.whitespace=()=>({type:n.SET,set:s(),not:!1}),t.notWhitespace=()=>({type:n.SET,set:s(),not:!0}),t.anyChar=()=>({type:n.SET,set:[{type:n.CHAR,value:10},{type:n.CHAR,value:13},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233}],not:!0})},8020:e=>{e.exports={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7}},4045:(e,t,r)=>{const n=r(8020),a=r(7732),o={0:0,t:9,n:10,v:11,f:12,r:13};t.strToChars=function(e){return e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(function(e,t,r,n,a,s,i,c){if(r)return e;var l=t?8:n?parseInt(n,16):a?parseInt(a,16):s?parseInt(s,8):i?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(i):o[c],u=String.fromCharCode(l);return/[[\]{}^$.|?*+()]/.test(u)&&(u="\\"+u),u}))},t.tokenizeClass=(e,r)=>{for(var o,s,i=[],c=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?([^])/g;null!=(o=c.exec(e));)if(o[1])i.push(a.words());else if(o[2])i.push(a.ints());else if(o[3])i.push(a.whitespace());else if(o[4])i.push(a.notWords());else if(o[5])i.push(a.notInts());else if(o[6])i.push(a.notWhitespace());else if(o[7])i.push({type:n.RANGE,from:(o[8]||o[9]).charCodeAt(0),to:o[10].charCodeAt(0)});else{if(!(s=o[12]))return[i,c.lastIndex];i.push({type:n.CHAR,value:s.charCodeAt(0)})}t.error(r,"Unterminated character class")},t.error=(e,t)=>{throw new SyntaxError("Invalid regular expression: /"+e+"/: "+t)}},1565:(e,t,r)=>{const n=Symbol("SemVer ANY");class a{static get ANY(){return n}constructor(e,t){if(t=o(t),e instanceof a){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),l("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===n?this.value="":this.value=this.operator+this.semver.version,l("comp",this)}parse(e){const t=this.options.loose?s[i.COMPARATORLOOSE]:s[i.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new u(r[2],this.options.loose):this.semver=n}toString(){return this.value}test(e){if(l("Comparator.test",e,this.options.loose),this.semver===n||e===n)return!0;if("string"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}return c(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof a))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new p(e.value,t).test(this.value):""===e.operator?""===e.value||new p(this.value,t).test(e.semver):!((t=o(t)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===e.value)||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))||(!this.operator.startsWith(">")||!e.operator.startsWith(">"))&&(!this.operator.startsWith("<")||!e.operator.startsWith("<"))&&(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))&&!(c(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))&&!(c(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}}e.exports=a;const o=r(3990),{safeRe:s,t:i}=r(2841),c=r(4004),l=r(1361),u=r(4517),p=r(7476)},7476:(e,t,r)=>{const n=/\s+/g;class a{constructor(e,t){if(t=s(t),e instanceof a)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new a(e.raw,t);if(e instanceof i)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(n," "),this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!y(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&v(e[0])){this.set=[e];break}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");const t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=" "),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){const t=((this.options.includePrerelease&&f)|(this.options.loose&&g))+":"+e,r=o.get(t);if(r)return r;const n=this.options.loose,a=n?u[p.HYPHENRANGELOOSE]:u[p.HYPHENRANGE];e=e.replace(a,S(this.options.includePrerelease)),c("hyphen replace",e),e=e.replace(u[p.COMPARATORTRIM],d),c("comparator trim",e),e=e.replace(u[p.TILDETRIM],m),c("tilde trim",e),e=e.replace(u[p.CARETTRIM],h),c("caret trim",e);let s=e.split(" ").map((e=>A(e,this.options))).join(" ").split(/\s+/).map((e=>M(e,this.options)));n&&(s=s.filter((e=>(c("loose invalid filter",e,this.options),!!e.match(u[p.COMPARATORLOOSE]))))),c("range list",s);const l=new Map,v=s.map((e=>new i(e,this.options)));for(const e of v){if(y(e))return[e];l.set(e.value,e)}l.size>1&&l.has("")&&l.delete("");const $=[...l.values()];return o.set(t,$),$}intersects(e,t){if(!(e instanceof a))throw new TypeError("a Range is required");return this.set.some((r=>$(r,t)&&e.set.some((e=>$(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(N(this.set[t],e,this.options))return!0;return!1}}e.exports=a;const o=new(r(8953)),s=r(3990),i=r(1565),c=r(1361),l=r(4517),{safeRe:u,t:p,comparatorTrimReplace:d,tildeTrimReplace:m,caretTrimReplace:h}=r(2841),{FLAG_INCLUDE_PRERELEASE:f,FLAG_LOOSE:g}=r(9543),y=e=>"<0.0.0-0"===e.value,v=e=>""===e.value,$=(e,t)=>{let r=!0;const n=e.slice();let a=n.pop();for(;r&&n.length;)r=n.every((e=>a.intersects(e,t))),a=n.pop();return r},A=(e,t)=>(c("comp",e,t),e=w(e,t),c("caret",e),e=C(e,t),c("tildes",e),e=F(e,t),c("xrange",e),e=I(e,t),c("stars",e),e),b=e=>!e||"x"===e.toLowerCase()||"*"===e,C=(e,t)=>e.trim().split(/\s+/).map((e=>T(e,t))).join(" "),T=(e,t)=>{const r=t.loose?u[p.TILDELOOSE]:u[p.TILDE];return e.replace(r,((t,r,n,a,o)=>{let s;return c("tilde",e,t,r,n,a,o),b(r)?s="":b(n)?s=`>=${r}.0.0 <${+r+1}.0.0-0`:b(a)?s=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:o?(c("replaceTilde pr",o),s=`>=${r}.${n}.${a}-${o} <${r}.${+n+1}.0-0`):s=`>=${r}.${n}.${a} <${r}.${+n+1}.0-0`,c("tilde return",s),s}))},w=(e,t)=>e.trim().split(/\s+/).map((e=>D(e,t))).join(" "),D=(e,t)=>{c("caret",e,t);const r=t.loose?u[p.CARETLOOSE]:u[p.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,a,o,s)=>{let i;return c("caret",e,t,r,a,o,s),b(r)?i="":b(a)?i=`>=${r}.0.0${n} <${+r+1}.0.0-0`:b(o)?i="0"===r?`>=${r}.${a}.0${n} <${r}.${+a+1}.0-0`:`>=${r}.${a}.0${n} <${+r+1}.0.0-0`:s?(c("replaceCaret pr",s),i="0"===r?"0"===a?`>=${r}.${a}.${o}-${s} <${r}.${a}.${+o+1}-0`:`>=${r}.${a}.${o}-${s} <${r}.${+a+1}.0-0`:`>=${r}.${a}.${o}-${s} <${+r+1}.0.0-0`):(c("no pr"),i="0"===r?"0"===a?`>=${r}.${a}.${o}${n} <${r}.${a}.${+o+1}-0`:`>=${r}.${a}.${o}${n} <${r}.${+a+1}.0-0`:`>=${r}.${a}.${o} <${+r+1}.0.0-0`),c("caret return",i),i}))},F=(e,t)=>(c("replaceXRanges",e,t),e.split(/\s+/).map((e=>E(e,t))).join(" ")),E=(e,t)=>{e=e.trim();const r=t.loose?u[p.XRANGELOOSE]:u[p.XRANGE];return e.replace(r,((r,n,a,o,s,i)=>{c("xRange",e,r,n,a,o,s,i);const l=b(a),u=l||b(o),p=u||b(s),d=p;return"="===n&&d&&(n=""),i=t.includePrerelease?"-0":"",l?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&d?(u&&(o=0),s=0,">"===n?(n=">=",u?(a=+a+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",u?a=+a+1:o=+o+1),"<"===n&&(i="-0"),r=`${n+a}.${o}.${s}${i}`):u?r=`>=${a}.0.0${i} <${+a+1}.0.0-0`:p&&(r=`>=${a}.${o}.0${i} <${a}.${+o+1}.0-0`),c("xRange return",r),r}))},I=(e,t)=>(c("replaceStars",e,t),e.trim().replace(u[p.STAR],"")),M=(e,t)=>(c("replaceGTE0",e,t),e.trim().replace(u[t.includePrerelease?p.GTE0PRE:p.GTE0],"")),S=e=>(t,r,n,a,o,s,i,c,l,u,p,d)=>`${r=b(n)?"":b(a)?`>=${n}.0.0${e?"-0":""}`:b(o)?`>=${n}.${a}.0${e?"-0":""}`:s?`>=${r}`:`>=${r}${e?"-0":""}`} ${c=b(l)?"":b(u)?`<${+l+1}.0.0-0`:b(p)?`<${l}.${+u+1}.0-0`:d?`<=${l}.${u}.${p}-${d}`:e?`<${l}.${u}.${+p+1}-0`:`<=${c}`}`.trim(),N=(e,t,r)=>{for(let r=0;r<e.length;r++)if(!e[r].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let r=0;r<e.length;r++)if(c(e[r].semver),e[r].semver!==i.ANY&&e[r].semver.prerelease.length>0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}},4517:(e,t,r)=>{const n=r(1361),{MAX_LENGTH:a,MAX_SAFE_INTEGER:o}=r(9543),{safeRe:s,t:i}=r(2841),c=r(3990),{compareIdentifiers:l}=r(3806);class u{constructor(e,t){if(t=c(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a)throw new TypeError(`version is longer than ${a} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?s[i.LOOSE]:s[i.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<o)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(n("SemVer.compare",this.version,this.options,e),!(e instanceof u)){if("string"==typeof e&&e===this.version)return 0;e=new u(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof u||(e=new u(e,this.options)),l(this.major,e.major)||l(this.minor,e.minor)||l(this.patch,e.patch)}comparePre(e){if(e instanceof u||(e=new u(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const r=this.prerelease[t],a=e.prerelease[t];if(n("prerelease compare",t,r,a),void 0===r&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===r)return-1;if(r!==a)return l(r,a)}while(++t)}compareBuild(e){e instanceof u||(e=new u(e,this.options));let t=0;do{const r=this.build[t],a=e.build[t];if(n("build compare",t,r,a),void 0===r&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===r)return-1;if(r!==a)return l(r,a)}while(++t)}inc(e,t,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===l(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=u},2281:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}},4004:(e,t,r)=>{const n=r(8848),a=r(8220),o=r(9761),s=r(2386),i=r(1262),c=r(9639);e.exports=(e,t,r,l)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return n(e,r,l);case"!=":return a(e,r,l);case">":return o(e,r,l);case">=":return s(e,r,l);case"<":return i(e,r,l);case"<=":return c(e,r,l);default:throw new TypeError(`Invalid operator: ${t}`)}}},6783:(e,t,r)=>{const n=r(4517),a=r(3955),{safeRe:o,t:s}=r(2841);e.exports=(e,t)=>{if(e instanceof n)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){const n=t.includePrerelease?o[s.COERCERTLFULL]:o[s.COERCERTL];let a;for(;(a=n.exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&a.index+a[0].length===r.index+r[0].length||(r=a),n.lastIndex=a.index+a[1].length+a[2].length;n.lastIndex=-1}else r=e.match(t.includePrerelease?o[s.COERCEFULL]:o[s.COERCE]);if(null===r)return null;const i=r[2],c=r[3]||"0",l=r[4]||"0",u=t.includePrerelease&&r[5]?`-${r[5]}`:"",p=t.includePrerelease&&r[6]?`+${r[6]}`:"";return a(`${i}.${c}.${l}${u}${p}`,t)}},6106:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r)=>{const a=new n(e,r),o=new n(t,r);return a.compare(o)||a.compareBuild(o)}},2132:(e,t,r)=>{const n=r(7851);e.exports=(e,t)=>n(e,t,!0)},7851:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},3269:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,null,!0),a=n(t,null,!0),o=r.compare(a);if(0===o)return null;const s=o>0,i=s?r:a,c=s?a:r,l=!!i.prerelease.length;if(c.prerelease.length&&!l)return c.patch||c.minor?i.patch?"patch":i.minor?"minor":"major":"major";const u=l?"pre":"";return r.major!==a.major?u+"major":r.minor!==a.minor?u+"minor":r.patch!==a.patch?u+"patch":"prerelease"}},8848:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>0===n(e,t,r)},9761:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)>0},2386:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)>=0},8868:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r,a,o)=>{"string"==typeof r&&(o=a,a=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,a,o).version}catch(e){return null}}},1262:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)<0},9639:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)<=0},6381:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).major},1353:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).minor},8220:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>0!==n(e,t,r)},3955:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}},6082:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).patch},9428:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}},7555:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(t,e,r)},3810:(e,t,r)=>{const n=r(6106);e.exports=(e,t)=>e.sort(((e,r)=>n(r,e,t)))},7229:(e,t,r)=>{const n=r(7476);e.exports=(e,t,r)=>{try{t=new n(t,r)}catch(e){return!1}return t.test(e)}},4042:(e,t,r)=>{const n=r(6106);e.exports=(e,t)=>e.sort(((e,r)=>n(e,r,t)))},8474:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,t);return r?r.version:null}},2722:(e,t,r)=>{const n=r(2841),a=r(9543),o=r(4517),s=r(3806),i=r(3955),c=r(8474),l=r(2281),u=r(8868),p=r(3269),d=r(6381),m=r(1353),h=r(6082),f=r(9428),g=r(7851),y=r(7555),v=r(2132),$=r(6106),A=r(4042),b=r(3810),C=r(9761),T=r(1262),w=r(8848),D=r(8220),F=r(2386),E=r(9639),I=r(4004),M=r(6783),S=r(1565),N=r(7476),O=r(7229),x=r(6364),P=r(5039),L=r(5357),R=r(1280),k=r(7403),_=r(8854),V=r(7226),B=r(7183),j=r(8623),U=r(6486),Q=r(583);e.exports={parse:i,valid:c,clean:l,inc:u,diff:p,major:d,minor:m,patch:h,prerelease:f,compare:g,rcompare:y,compareLoose:v,compareBuild:$,sort:A,rsort:b,gt:C,lt:T,eq:w,neq:D,gte:F,lte:E,cmp:I,coerce:M,Comparator:S,Range:N,satisfies:O,toComparators:x,maxSatisfying:P,minSatisfying:L,minVersion:R,validRange:k,outside:_,gtr:V,ltr:B,intersects:j,simplifyRange:U,subset:Q,SemVer:o,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:a.SEMVER_SPEC_VERSION,RELEASE_TYPES:a.RELEASE_TYPES,compareIdentifiers:s.compareIdentifiers,rcompareIdentifiers:s.rcompareIdentifiers}},9543:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},1361:(e,t,r)=>{const n="object"==typeof r(9907)&&{NODE_ENV:"production"}.NODE_DEBUG&&/\bsemver\b/i.test({NODE_ENV:"production"}.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=n},3806:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const n=t.test(e),a=t.test(r);return n&&a&&(e=+e,r=+r),e===r?0:n&&!a?-1:a&&!n?1:e<r?-1:1};e.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}},8953:e=>{e.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){const t=this.map.get(e);return void 0===t?void 0:(this.map.delete(e),this.map.set(e,t),t)}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&void 0!==t){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}},3990:e=>{const t=Object.freeze({loose:!0}),r=Object.freeze({});e.exports=e=>e?"object"!=typeof e?t:e:r},2841:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:o}=r(9543),s=r(1361),i=(t=e.exports={}).re=[],c=t.safeRe=[],l=t.src=[],u=t.t={};let p=0;const d="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",o],[d,a]],h=(e,t,r)=>{const n=(e=>{for(const[t,r]of m)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),a=p++;s(e,a,t),u[e]=a,l[a]=t,i[a]=new RegExp(t,r?"g":void 0),c[a]=new RegExp(n,r?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),h("MAINVERSION",`(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${l[u.NUMERICIDENTIFIER]}|${l[u.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${l[u.NUMERICIDENTIFIERLOOSE]}|${l[u.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${l[u.PRERELEASEIDENTIFIER]}(?:\\.${l[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${l[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${d}+`),h("BUILD",`(?:\\+(${l[u.BUILDIDENTIFIER]}(?:\\.${l[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${l[u.MAINVERSION]}${l[u.PRERELEASE]}?${l[u.BUILD]}?`),h("FULL",`^${l[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${l[u.MAINVERSIONLOOSE]}${l[u.PRERELEASELOOSE]}?${l[u.BUILD]}?`),h("LOOSE",`^${l[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${l[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${l[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:${l[u.PRERELEASE]})?${l[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:${l[u.PRERELEASELOOSE]})?${l[u.BUILD]}?)?)?`),h("XRANGE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${l[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",l[u.COERCEPLAIN]+`(?:${l[u.PRERELEASE]})?`+`(?:${l[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",l[u.COERCE],!0),h("COERCERTLFULL",l[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${l[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${l[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${l[u.LONECARET]}${l[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${l[u.LONECARET]}${l[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${l[u.GTLT]}\\s*(${l[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]}|${l[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${l[u.XRANGEPLAIN]})\\s+-\\s+(${l[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${l[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},7226:(e,t,r)=>{const n=r(8854);e.exports=(e,t,r)=>n(e,t,">",r)},8623:(e,t,r)=>{const n=r(7476);e.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))},7183:(e,t,r)=>{const n=r(8854);e.exports=(e,t,r)=>n(e,t,"<",r)},5039:(e,t,r)=>{const n=r(4517),a=r(7476);e.exports=(e,t,r)=>{let o=null,s=null,i=null;try{i=new a(t,r)}catch(e){return null}return e.forEach((e=>{i.test(e)&&(o&&-1!==s.compare(e)||(o=e,s=new n(o,r)))})),o}},5357:(e,t,r)=>{const n=r(4517),a=r(7476);e.exports=(e,t,r)=>{let o=null,s=null,i=null;try{i=new a(t,r)}catch(e){return null}return e.forEach((e=>{i.test(e)&&(o&&1!==s.compare(e)||(o=e,s=new n(o,r)))})),o}},1280:(e,t,r)=>{const n=r(4517),a=r(7476),o=r(9761);e.exports=(e,t)=>{e=new a(e,t);let r=new n("0.0.0");if(e.test(r))return r;if(r=new n("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t<e.set.length;++t){const a=e.set[t];let s=null;a.forEach((e=>{const t=new n(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":s&&!o(t,s)||(s=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!s||r&&!o(r,s)||(r=s)}return r&&e.test(r)?r:null}},8854:(e,t,r)=>{const n=r(4517),a=r(1565),{ANY:o}=a,s=r(7476),i=r(7229),c=r(9761),l=r(1262),u=r(9639),p=r(2386);e.exports=(e,t,r,d)=>{let m,h,f,g,y;switch(e=new n(e,d),t=new s(t,d),r){case">":m=c,h=u,f=l,g=">",y=">=";break;case"<":m=l,h=p,f=c,g="<",y="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i(e,t,d))return!1;for(let r=0;r<t.set.length;++r){const n=t.set[r];let s=null,i=null;if(n.forEach((e=>{e.semver===o&&(e=new a(">=0.0.0")),s=s||e,i=i||e,m(e.semver,s.semver,d)?s=e:f(e.semver,i.semver,d)&&(i=e)})),s.operator===g||s.operator===y)return!1;if((!i.operator||i.operator===g)&&h(e,i.semver))return!1;if(i.operator===y&&f(e,i.semver))return!1}return!0}},6486:(e,t,r)=>{const n=r(7229),a=r(7851);e.exports=(e,t,r)=>{const o=[];let s=null,i=null;const c=e.sort(((e,t)=>a(e,t,r)));for(const e of c)n(e,t,r)?(i=e,s||(s=e)):(i&&o.push([s,i]),i=null,s=null);s&&o.push([s,null]);const l=[];for(const[e,t]of o)e===t?l.push(e):t||e!==c[0]?t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`):l.push("*");const u=l.join(" || "),p="string"==typeof t.raw?t.raw:String(t);return u.length<p.length?u:t}},583:(e,t,r)=>{const n=r(7476),a=r(1565),{ANY:o}=a,s=r(7229),i=r(7851),c=[new a(">=0.0.0-0")],l=[new a(">=0.0.0")],u=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===o){if(1===t.length&&t[0].semver===o)return!0;e=r.includePrerelease?c:l}if(1===t.length&&t[0].semver===o){if(r.includePrerelease)return!0;t=l}const n=new Set;let a,u,m,h,f,g,y;for(const t of e)">"===t.operator||">="===t.operator?a=p(a,t,r):"<"===t.operator||"<="===t.operator?u=d(u,t,r):n.add(t.semver);if(n.size>1)return null;if(a&&u){if(m=i(a.semver,u.semver,r),m>0)return null;if(0===m&&(">="!==a.operator||"<="!==u.operator))return null}for(const e of n){if(a&&!s(e,String(a),r))return null;if(u&&!s(e,String(u),r))return null;for(const n of t)if(!s(e,String(n),r))return!1;return!0}let v=!(!u||r.includePrerelease||!u.semver.prerelease.length)&&u.semver,$=!(!a||r.includePrerelease||!a.semver.prerelease.length)&&a.semver;v&&1===v.prerelease.length&&"<"===u.operator&&0===v.prerelease[0]&&(v=!1);for(const e of t){if(y=y||">"===e.operator||">="===e.operator,g=g||"<"===e.operator||"<="===e.operator,a)if($&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===$.major&&e.semver.minor===$.minor&&e.semver.patch===$.patch&&($=!1),">"===e.operator||">="===e.operator){if(h=p(a,e,r),h===e&&h!==a)return!1}else if(">="===a.operator&&!s(a.semver,String(e),r))return!1;if(u)if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),"<"===e.operator||"<="===e.operator){if(f=d(u,e,r),f===e&&f!==u)return!1}else if("<="===u.operator&&!s(u.semver,String(e),r))return!1;if(!e.operator&&(u||a)&&0!==m)return!1}return!(a&&g&&!u&&0!==m||u&&y&&!a&&0!==m||$||v)},p=(e,t,r)=>{if(!e)return t;const n=i(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},d=(e,t,r)=>{if(!e)return t;const n=i(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let a=!1;e:for(const n of e.set){for(const e of t.set){const t=u(n,e,r);if(a=a||null!==t,t)continue e}if(a)return!1}return!0}},6364:(e,t,r)=>{const n=r(7476);e.exports=(e,t)=>new n(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},7403:(e,t,r)=>{const n=r(7476);e.exports=(e,t)=>{try{return new n(e,t).range||"*"}catch(e){return null}}},7431:e=>{"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),r=/[^\u0000-\u0080]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},9825:function(e,t,r){var n,a;!function(o,s){"use strict";e.exports?e.exports=s():void 0===(a="function"==typeof(n=s)?n.call(t,r,t,e):n)||(e.exports=a)}(0,(function(e){"use strict";var t=e&&e.IPv6;return{best:function(e){var t,r,n=e.toLowerCase().split(":"),a=n.length,o=8;for(""===n[0]&&""===n[1]&&""===n[2]?(n.shift(),n.shift()):""===n[0]&&""===n[1]?n.shift():""===n[a-1]&&""===n[a-2]&&n.pop(),-1!==n[(a=n.length)-1].indexOf(".")&&(o=7),t=0;t<a&&""!==n[t];t++);if(t<o)for(n.splice(t,1,"0000");n.length<o;)n.splice(t,0,"0000");for(var s=0;s<o;s++){r=n[s].split("");for(var i=0;i<3&&"0"===r[0]&&r.length>1;i++)r.splice(0,1);n[s]=r.join("")}var c=-1,l=0,u=0,p=-1,d=!1;for(s=0;s<o;s++)d?"0"===n[s]?u+=1:(d=!1,u>l&&(c=p,l=u)):"0"===n[s]&&(d=!0,p=s,u=1);u>l&&(c=p,l=u),l>1&&n.splice(c,l,""),a=n.length;var m="";for(""===n[0]&&(m=":"),s=0;s<a&&(m+=n[s],s!==a-1);s++)m+=":";return""===n[a-1]&&(m+=":"),m},noConflict:function(){return e.IPv6===this&&(e.IPv6=t),this}}}))},1811:function(e,t,r){var n,a;!function(o,s){"use strict";e.exports?e.exports=s():void 0===(a="function"==typeof(n=s)?n.call(t,r,t,e):n)||(e.exports=a)}(0,(function(e){"use strict";var t=e&&e.SecondLevelDomains,r={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return!1;var a=r.list[e.slice(t+1)];return!!a&&a.indexOf(" "+e.slice(n+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var n=r.list[e.slice(t+1)];return!!n&&n.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return null;var a=r.list[e.slice(t+1)];return a?a.indexOf(" "+e.slice(n+1,t)+" ")<0?null:e.slice(n+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return r}))},9472:function(e,t,r){var n,a,o;!function(s,i){"use strict";e.exports?e.exports=i(r(2675),r(9825),r(1811)):(a=[r(2675),r(9825),r(1811)],void 0===(o="function"==typeof(n=i)?n.apply(t,a):n)||(e.exports=o))}(0,(function(e,t,r,n){"use strict";var a=n&&n.URI;function o(e,t){var r=arguments.length>=1;if(!(this instanceof o))return r?arguments.length>=2?new o(e,t):new o(e):new o;if(void 0===e){if(r)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&r)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}o.version="1.19.11";var s=o.prototype,i=Object.prototype.hasOwnProperty;function c(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function u(e){return"Array"===l(e)}function p(e,t){var r,n,a={};if("RegExp"===l(t))a=null;else if(u(t))for(r=0,n=t.length;r<n;r++)a[t[r]]=!0;else a[t]=!0;for(r=0,n=e.length;r<n;r++)(a&&void 0!==a[e[r]]||!a&&t.test(e[r]))&&(e.splice(r,1),n--,r--);return e}function d(e,t){var r,n;if(u(t)){for(r=0,n=t.length;r<n;r++)if(!d(e,t[r]))return!1;return!0}var a=l(t);for(r=0,n=e.length;r<n;r++)if("RegExp"===a){if("string"==typeof e[r]&&e[r].match(t))return!0}else if(e[r]===t)return!0;return!1}function m(e,t){if(!u(e)||!u(t))return!1;if(e.length!==t.length)return!1;e.sort(),t.sort();for(var r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0}function h(e){return e.replace(/^\/+|\/+$/g,"")}function f(e){return escape(e)}function g(e){return encodeURIComponent(e).replace(/[!'()*]/g,f).replace(/\*/g,"%2A")}o._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:o.preventInvalidHostname,duplicateQueryParameters:o.duplicateQueryParameters,escapeQuerySpace:o.escapeQuerySpace}},o.preventInvalidHostname=!1,o.duplicateQueryParameters=!1,o.escapeQuerySpace=!0,o.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,o.idn_expression=/[^a-z0-9\._-]/i,o.punycode_expression=/(xn--)/i,o.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,o.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-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-Fa-f]{1,4}:){5}(((:[0-9A-Fa-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-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-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-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-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-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-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-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-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-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-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*$/,o.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,o.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},o.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,o.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,o.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},o.hostProtocols=["http","https"],o.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,o.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},o.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return o.domAttributes[t]}},o.encode=g,o.decode=decodeURIComponent,o.iso8859=function(){o.encode=escape,o.decode=unescape},o.unicode=function(){o.encode=g,o.decode=decodeURIComponent},o.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},o.encodeQuery=function(e,t){var r=o.encode(e+"");return void 0===t&&(t=o.escapeQuerySpace),t?r.replace(/%20/g,"+"):r},o.decodeQuery=function(e,t){e+="",void 0===t&&(t=o.escapeQuerySpace);try{return o.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var y,v={encode:"encode",decode:"decode"},$=function(e,t){return function(r){try{return o[t](r+"").replace(o.characters[e][t].expression,(function(r){return o.characters[e][t].map[r]}))}catch(e){return r}}};for(y in v)o[y+"PathSegment"]=$("pathname",v[y]),o[y+"UrnPathSegment"]=$("urnpath",v[y]);var A=function(e,t,r){return function(n){var a;a=r?function(e){return o[t](o[r](e))}:o[t];for(var s=(n+"").split(e),i=0,c=s.length;i<c;i++)s[i]=a(s[i]);return s.join(e)}};function b(e){return function(t,r){return void 0===t?this._parts[e]||"":(this._parts[e]=t||null,this.build(!r),this)}}function C(e,t){return function(r,n){return void 0===r?this._parts[e]||"":(null!==r&&(r+="").charAt(0)===t&&(r=r.substring(1)),this._parts[e]=r,this.build(!n),this)}}o.decodePath=A("/","decodePathSegment"),o.decodeUrnPath=A(":","decodeUrnPathSegment"),o.recodePath=A("/","encodePathSegment","decode"),o.recodeUrnPath=A(":","encodeUrnPathSegment","decode"),o.encodeReserved=$("reserved","encode"),o.parse=function(e,t){var r;return t||(t={preventInvalidHostname:o.preventInvalidHostname}),(r=(e=(e=e.replace(o.leading_whitespace_expression,"")).replace(o.ascii_tab_whitespace,"")).indexOf("#"))>-1&&(t.fragment=e.substring(r+1)||null,e=e.substring(0,r)),(r=e.indexOf("?"))>-1&&(t.query=e.substring(r+1)||null,e=e.substring(0,r)),"//"===(e=(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).replace(/^[/\\]{2,}/i,"//")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=o.parseAuthority(e,t)):(r=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,r)||null,t.protocol&&!t.protocol.match(o.protocol_expression)?t.protocol=void 0:"//"===e.substring(r+1,r+3).replace(/\\/g,"/")?(e=e.substring(r+3),e=o.parseAuthority(e,t)):(e=e.substring(r+1),t.urn=!0)),t.path=e,t},o.parseHost=function(e,t){e||(e="");var r,n,a=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===a&&(a=e.length),"["===e.charAt(0))r=e.indexOf("]"),t.hostname=e.substring(1,r)||null,t.port=e.substring(r+2,a)||null,"/"===t.port&&(t.port=null);else{var s=e.indexOf(":"),i=e.indexOf("/"),c=e.indexOf(":",s+1);-1!==c&&(-1===i||c<i)?(t.hostname=e.substring(0,a)||null,t.port=null):(n=e.substring(0,a).split(":"),t.hostname=n[0]||null,t.port=n[1]||null)}return t.hostname&&"/"!==e.substring(a).charAt(0)&&(a++,e="/"+e),t.preventInvalidHostname&&o.ensureValidHostname(t.hostname,t.protocol),t.port&&o.ensureValidPort(t.port),e.substring(a)||"/"},o.parseAuthority=function(e,t){return e=o.parseUserinfo(e,t),o.parseHost(e,t)},o.parseUserinfo=function(e,t){var r=e;-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/"));var n,a=e.indexOf("/"),s=e.lastIndexOf("@",a>-1?a:e.length-1);return s>-1&&(-1===a||s<a)?(n=e.substring(0,s).split(":"),t.username=n[0]?o.decode(n[0]):null,n.shift(),t.password=n[0]?o.decode(n.join(":")):null,e=r.substring(s+1)):(t.username=null,t.password=null),e},o.parseQuery=function(e,t){if(!e)return{};if(!(e=e.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,"")))return{};for(var r,n,a,s={},c=e.split("&"),l=c.length,u=0;u<l;u++)r=c[u].split("="),n=o.decodeQuery(r.shift(),t),a=r.length?o.decodeQuery(r.join("="),t):null,"__proto__"!==n&&(i.call(s,n)?("string"!=typeof s[n]&&null!==s[n]||(s[n]=[s[n]]),s[n].push(a)):s[n]=a);return s},o.build=function(e){var t="",r=!1;return e.protocol&&(t+=e.protocol+":"),e.urn||!t&&!e.hostname||(t+="//",r=!0),t+=o.buildAuthority(e)||"","string"==typeof e.path&&("/"!==e.path.charAt(0)&&r&&(t+="/"),t+=e.path),"string"==typeof e.query&&e.query&&(t+="?"+e.query),"string"==typeof e.fragment&&e.fragment&&(t+="#"+e.fragment),t},o.buildHost=function(e){var t="";return e.hostname?(o.ip6_expression.test(e.hostname)?t+="["+e.hostname+"]":t+=e.hostname,e.port&&(t+=":"+e.port),t):""},o.buildAuthority=function(e){return o.buildUserinfo(e)+o.buildHost(e)},o.buildUserinfo=function(e){var t="";return e.username&&(t+=o.encode(e.username)),e.password&&(t+=":"+o.encode(e.password)),t&&(t+="@"),t},o.buildQuery=function(e,t,r){var n,a,s,c,l="";for(a in e)if("__proto__"!==a&&i.call(e,a))if(u(e[a]))for(n={},s=0,c=e[a].length;s<c;s++)void 0!==e[a][s]&&void 0===n[e[a][s]+""]&&(l+="&"+o.buildQueryParameter(a,e[a][s],r),!0!==t&&(n[e[a][s]+""]=!0));else void 0!==e[a]&&(l+="&"+o.buildQueryParameter(a,e[a],r));return l.substring(1)},o.buildQueryParameter=function(e,t,r){return o.encodeQuery(e,r)+(null!==t?"="+o.encodeQuery(t,r):"")},o.addQuery=function(e,t,r){if("object"==typeof t)for(var n in t)i.call(t,n)&&o.addQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");if(void 0===e[t])return void(e[t]=r);"string"==typeof e[t]&&(e[t]=[e[t]]),u(r)||(r=[r]),e[t]=(e[t]||[]).concat(r)}},o.setQuery=function(e,t,r){if("object"==typeof t)for(var n in t)i.call(t,n)&&o.setQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");e[t]=void 0===r?null:r}},o.removeQuery=function(e,t,r){var n,a,s;if(u(t))for(n=0,a=t.length;n<a;n++)e[t[n]]=void 0;else if("RegExp"===l(t))for(s in e)t.test(s)&&(e[s]=void 0);else if("object"==typeof t)for(s in t)i.call(t,s)&&o.removeQuery(e,s,t[s]);else{if("string"!=typeof t)throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");void 0!==r?"RegExp"===l(r)?!u(e[t])&&r.test(e[t])?e[t]=void 0:e[t]=p(e[t],r):e[t]!==String(r)||u(r)&&1!==r.length?u(e[t])&&(e[t]=p(e[t],r)):e[t]=void 0:e[t]=void 0}},o.hasQuery=function(e,t,r,n){switch(l(t)){case"String":break;case"RegExp":for(var a in e)if(i.call(e,a)&&t.test(a)&&(void 0===r||o.hasQuery(e,a,r)))return!0;return!1;case"Object":for(var s in t)if(i.call(t,s)&&!o.hasQuery(e,s,t[s]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(l(r)){case"Undefined":return t in e;case"Boolean":return r===Boolean(u(e[t])?e[t].length:e[t]);case"Function":return!!r(e[t],t,e);case"Array":return!!u(e[t])&&(n?d:m)(e[t],r);case"RegExp":return u(e[t])?!!n&&d(e[t],r):Boolean(e[t]&&e[t].match(r));case"Number":r=String(r);case"String":return u(e[t])?!!n&&d(e[t],r):e[t]===r;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},o.joinPaths=function(){for(var e=[],t=[],r=0,n=0;n<arguments.length;n++){var a=new o(arguments[n]);e.push(a);for(var s=a.segment(),i=0;i<s.length;i++)"string"==typeof s[i]&&t.push(s[i]),s[i]&&r++}if(!t.length||!r)return new o("");var c=new o("").segment(t);return""!==e[0].path()&&"/"!==e[0].path().slice(0,1)||c.path("/"+c.path()),c.normalize()},o.commonPath=function(e,t){var r,n=Math.min(e.length,t.length);for(r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r)){r--;break}return r<1?e.charAt(0)===t.charAt(0)&&"/"===e.charAt(0)?"/":"":("/"===e.charAt(r)&&"/"===t.charAt(r)||(r=e.substring(0,r).lastIndexOf("/")),e.substring(0,r+1))},o.withinString=function(e,t,r){r||(r={});var n=r.start||o.findUri.start,a=r.end||o.findUri.end,s=r.trim||o.findUri.trim,i=r.parens||o.findUri.parens,c=/[a-z0-9-]=["']?$/i;for(n.lastIndex=0;;){var l=n.exec(e);if(!l)break;var u=l.index;if(r.ignoreHtml){var p=e.slice(Math.max(u-3,0),u);if(p&&c.test(p))continue}for(var d=u+e.slice(u).search(a),m=e.slice(u,d),h=-1;;){var f=i.exec(m);if(!f)break;var g=f.index+f[0].length;h=Math.max(h,g)}if(!((m=h>-1?m.slice(0,h)+m.slice(h).replace(s,""):m.replace(s,"")).length<=l[0].length||r.ignore&&r.ignore.test(m))){var y=t(m,u,d=u+m.length,e);void 0!==y?(y=String(y),e=e.slice(0,u)+y+e.slice(d),n.lastIndex=u+y.length):n.lastIndex=d}}return n.lastIndex=0,e},o.ensureValidHostname=function(t,r){var n=!!t,a=!1;if(!!r&&(a=d(o.hostProtocols,r)),a&&!n)throw new TypeError("Hostname cannot be empty, if protocol is "+r);if(t&&t.match(o.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(o.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},o.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},o.noConflict=function(e){if(e){var t={URI:this.noConflict()};return n.URITemplate&&"function"==typeof n.URITemplate.noConflict&&(t.URITemplate=n.URITemplate.noConflict()),n.IPv6&&"function"==typeof n.IPv6.noConflict&&(t.IPv6=n.IPv6.noConflict()),n.SecondLevelDomains&&"function"==typeof n.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=n.SecondLevelDomains.noConflict()),t}return n.URI===this&&(n.URI=a),this},s.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=o.build(this._parts),this._deferred_build=!1),this},s.clone=function(){return new o(this)},s.valueOf=s.toString=function(){return this.build(!1)._string},s.protocol=b("protocol"),s.username=b("username"),s.password=b("password"),s.hostname=b("hostname"),s.port=b("port"),s.query=C("query","?"),s.fragment=C("fragment","#"),s.search=function(e,t){var r=this.query(e,t);return"string"==typeof r&&r.length?"?"+r:r},s.hash=function(e,t){var r=this.fragment(e,t);return"string"==typeof r&&r.length?"#"+r:r},s.pathname=function(e,t){if(void 0===e||!0===e){var r=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?o.decodeUrnPath:o.decodePath)(r):r}return this._parts.urn?this._parts.path=e?o.recodeUrnPath(e):"":this._parts.path=e?o.recodePath(e):"/",this.build(!t),this},s.path=s.pathname,s.href=function(e,t){var r;if(void 0===e)return this.toString();this._string="",this._parts=o._parts();var n=e instanceof o,a="object"==typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName&&(e=e[o.getDomAttribute(e)]||"",a=!1),!n&&a&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=o.parse(String(e),this._parts);else{if(!n&&!a)throw new TypeError("invalid input");var s=n?e._parts:e;for(r in s)"query"!==r&&i.call(this._parts,r)&&(this._parts[r]=s[r]);s.query&&this.query(s.query,!1)}return this.build(!t),this},s.is=function(e){var t=!1,n=!1,a=!1,s=!1,i=!1,c=!1,l=!1,u=!this._parts.urn;switch(this._parts.hostname&&(u=!1,n=o.ip4_expression.test(this._parts.hostname),a=o.ip6_expression.test(this._parts.hostname),i=(s=!(t=n||a))&&r&&r.has(this._parts.hostname),c=s&&o.idn_expression.test(this._parts.hostname),l=s&&o.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return u;case"absolute":return!u;case"domain":case"name":return s;case"sld":return i;case"ip":return t;case"ip4":case"ipv4":case"inet4":return n;case"ip6":case"ipv6":case"inet6":return a;case"idn":return c;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return l}return null};var T=s.protocol,w=s.port,D=s.hostname;s.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(o.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return T.call(this,e,t)},s.scheme=s.protocol,s.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),o.ensureValidPort(e))),w.call(this,e,t))},s.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var r={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==o.parseHost(e,r))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=r.hostname,this._parts.preventInvalidHostname&&o.ensureValidHostname(e,this._parts.protocol)}return D.call(this,e,t)},s.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=this.protocol();return this.authority()?(r?r+"://":"")+this.authority():""}var n=o(e);return this.protocol(n.protocol()).authority(n.authority()).build(!t),this},s.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildHost(this._parts):"";if("/"!==o.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildAuthority(this._parts):"";if("/"!==o.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=o.buildUserinfo(this._parts);return r?r.substring(0,r.length-1):r}return"@"!==e[e.length-1]&&(e+="@"),o.parseUserinfo(e,this._parts),this.build(!t),this},s.resource=function(e,t){var r;return void 0===e?this.path()+this.search()+this.hash():(r=o.parse(e),this._parts.path=r.path,this._parts.query=r.query,this._parts.fragment=r.fragment,this.build(!t),this)},s.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,r)||""}var n=this._parts.hostname.length-this.domain().length,a=this._parts.hostname.substring(0,n),s=new RegExp("^"+c(a));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&o.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(s,e),this.build(!t),this},s.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.match(/\./g);if(r&&r.length<2)return this._parts.hostname;var n=this._parts.hostname.length-this.tld(t).length-1;return n=this._parts.hostname.lastIndexOf(".",n-1)+1,this._parts.hostname.substring(n)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(o.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var a=new RegExp(c(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(a,e)}return this.build(!t),this},s.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.lastIndexOf("."),a=this._parts.hostname.substring(n+1);return!0!==t&&r&&r.list[a.toLowerCase()]&&r.get(this._parts.hostname)||a}var o;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!r||!r.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}return this.build(!t),this},s.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var r=this._parts.path.length-this.filename().length-1,n=this._parts.path.substring(0,r)||(this._parts.hostname?"/":"");return e?o.decodePath(n):n}var a=this._parts.path.length-this.filename().length,s=this._parts.path.substring(0,a),i=new RegExp("^"+c(s));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=o.recodePath(e),this._parts.path=this._parts.path.replace(i,e),this.build(!t),this},s.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var r=this._parts.path.lastIndexOf("/"),n=this._parts.path.substring(r+1);return e?o.decodePathSegment(n):n}var a=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(a=!0);var s=new RegExp(c(this.filename())+"$");return e=o.recodePath(e),this._parts.path=this._parts.path.replace(s,e),a?this.normalizePath(t):this.build(!t),this},s.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var r,n,a=this.filename(),s=a.lastIndexOf(".");return-1===s?"":(r=a.substring(s+1),n=/^[a-z0-9%]+$/i.test(r)?r:"",e?o.decodePathSegment(n):n)}"."===e.charAt(0)&&(e=e.substring(1));var i,l=this.suffix();if(l)i=e?new RegExp(c(l)+"$"):new RegExp(c("."+l)+"$");else{if(!e)return this;this._parts.path+="."+o.recodePath(e)}return i&&(e=o.recodePath(e),this._parts.path=this._parts.path.replace(i,e)),this.build(!t),this},s.segment=function(e,t,r){var n=this._parts.urn?":":"/",a=this.path(),o="/"===a.substring(0,1),s=a.split(n);if(void 0!==e&&"number"!=typeof e&&(r=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(o&&s.shift(),e<0&&(e=Math.max(s.length+e,0)),void 0===t)return void 0===e?s:s[e];if(null===e||void 0===s[e])if(u(t)){s=[];for(var i=0,c=t.length;i<c;i++)(t[i].length||s.length&&s[s.length-1].length)&&(s.length&&!s[s.length-1].length&&s.pop(),s.push(h(t[i])))}else(t||"string"==typeof t)&&(t=h(t),""===s[s.length-1]?s[s.length-1]=t:s.push(t));else t?s[e]=h(t):s.splice(e,1);return o&&s.unshift(""),this.path(s.join(n),r)},s.segmentCoded=function(e,t,r){var n,a,s;if("number"!=typeof e&&(r=t,t=e,e=void 0),void 0===t){if(u(n=this.segment(e,t,r)))for(a=0,s=n.length;a<s;a++)n[a]=o.decode(n[a]);else n=void 0!==n?o.decode(n):void 0;return n}if(u(t))for(a=0,s=t.length;a<s;a++)t[a]=o.encode(t[a]);else t="string"==typeof t||t instanceof String?o.encode(t):t;return this.segment(e,t,r)};var F=s.query;return s.query=function(e,t){if(!0===e)return o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof e){var r=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace),n=e.call(this,r);return this._parts.query=o.buildQuery(n||r,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this}return void 0!==e&&"string"!=typeof e?(this._parts.query=o.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this):F.call(this,e,t)},s.setQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof e||e instanceof String)n[e]=void 0!==t?t:null;else{if("object"!=typeof e)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var a in e)i.call(e,a)&&(n[a]=e[a])}return this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.addQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.addQuery(n,e,void 0===t?null:t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.removeQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.removeQuery(n,e,t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.hasQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.hasQuery(n,e,t,r)},s.setSearch=s.setQuery,s.addSearch=s.addQuery,s.removeSearch=s.removeQuery,s.hasSearch=s.hasQuery,s.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},s.normalizeProtocol=function(e){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!e)),this},s.normalizeHostname=function(r){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!r)),this},s.normalizePort=function(e){return"string"==typeof this._parts.protocol&&this._parts.port===o.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!e)),this},s.normalizePath=function(e){var t,r=this._parts.path;if(!r)return this;if(this._parts.urn)return this._parts.path=o.recodeUrnPath(this._parts.path),this.build(!e),this;if("/"===this._parts.path)return this;var n,a,s="";for("/"!==(r=o.recodePath(r)).charAt(0)&&(t=!0,r="/"+r),"/.."!==r.slice(-3)&&"/."!==r.slice(-2)||(r+="/"),r=r.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),t&&(s=r.substring(1).match(/^(\.\.\/)+/)||"")&&(s=s[0]);-1!==(n=r.search(/\/\.\.(\/|$)/));)0!==n?(-1===(a=r.substring(0,n).lastIndexOf("/"))&&(a=n),r=r.substring(0,a)+r.substring(n+3)):r=r.substring(3);return t&&this.is("relative")&&(r=s+r.substring(1)),this._parts.path=r,this.build(!e),this},s.normalizePathname=s.normalizePath,s.normalizeQuery=function(e){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(o.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!e)),this},s.normalizeFragment=function(e){return this._parts.fragment||(this._parts.fragment=null,this.build(!e)),this},s.normalizeSearch=s.normalizeQuery,s.normalizeHash=s.normalizeFragment,s.iso8859=function(){var e=o.encode,t=o.decode;o.encode=escape,o.decode=decodeURIComponent;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.unicode=function(){var e=o.encode,t=o.decode;o.encode=g,o.decode=unescape;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.readable=function(){var t=this.clone();t.username("").password("").normalize();var r="";if(t._parts.protocol&&(r+=t._parts.protocol+"://"),t._parts.hostname&&(t.is("punycode")&&e?(r+=e.toUnicode(t._parts.hostname),t._parts.port&&(r+=":"+t._parts.port)):r+=t.host()),t._parts.hostname&&t._parts.path&&"/"!==t._parts.path.charAt(0)&&(r+="/"),r+=t.path(!0),t._parts.query){for(var n="",a=0,s=t._parts.query.split("&"),i=s.length;a<i;a++){var c=(s[a]||"").split("=");n+="&"+o.decodeQuery(c[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),void 0!==c[1]&&(n+="="+o.decodeQuery(c[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}r+="?"+n.substring(1)}return r+o.decodeQuery(t.hash(),!0)},s.absoluteTo=function(e){var t,r,n,a=this.clone(),s=["protocol","username","password","hostname","port"];if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e instanceof o||(e=new o(e)),a._parts.protocol)return a;if(a._parts.protocol=e._parts.protocol,this._parts.hostname)return a;for(r=0;n=s[r];r++)a._parts[n]=e._parts[n];return a._parts.path?(".."===a._parts.path.substring(-2)&&(a._parts.path+="/"),"/"!==a.path().charAt(0)&&(t=(t=e.directory())||(0===e.path().indexOf("/")?"/":""),a._parts.path=(t?t+"/":"")+a._parts.path,a.normalizePath())):(a._parts.path=e._parts.path,a._parts.query||(a._parts.query=e._parts.query)),a.build(),a},s.relativeTo=function(e){var t,r,n,a,s,i=this.clone().normalize();if(i._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e=new o(e).normalize(),t=i._parts,r=e._parts,a=i.path(),s=e.path(),"/"!==a.charAt(0))throw new Error("URI is already relative");if("/"!==s.charAt(0))throw new Error("Cannot calculate a URI relative to another relative URI");if(t.protocol===r.protocol&&(t.protocol=null),t.username!==r.username||t.password!==r.password)return i.build();if(null!==t.protocol||null!==t.username||null!==t.password)return i.build();if(t.hostname!==r.hostname||t.port!==r.port)return i.build();if(t.hostname=null,t.port=null,a===s)return t.path="",i.build();if(!(n=o.commonPath(a,s)))return i.build();var c=r.path.substring(n.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return t.path=c+t.path.substring(n.length)||"./",i.build()},s.equals=function(e){var t,r,n,a,s,c=this.clone(),l=new o(e),p={};if(c.normalize(),l.normalize(),c.toString()===l.toString())return!0;if(n=c.query(),a=l.query(),c.query(""),l.query(""),c.toString()!==l.toString())return!1;if(n.length!==a.length)return!1;for(s in t=o.parseQuery(n,this._parts.escapeQuerySpace),r=o.parseQuery(a,this._parts.escapeQuerySpace),t)if(i.call(t,s)){if(u(t[s])){if(!m(t[s],r[s]))return!1}else if(t[s]!==r[s])return!1;p[s]=!0}for(s in r)if(i.call(r,s)&&!p[s])return!1;return!0},s.preventInvalidHostname=function(e){return this._parts.preventInvalidHostname=!!e,this},s.duplicateQueryParameters=function(e){return this._parts.duplicateQueryParameters=!!e,this},s.escapeQuerySpace=function(e){return this._parts.escapeQuerySpace=!!e,this},o}))},2675:function(e,t,r){var n;e=r.nmd(e),function(){t&&t.nodeType,e&&e.nodeType;var a="object"==typeof r.g&&r.g;a.global!==a&&a.window!==a&&a.self;var o,s=2147483647,i=36,c=/^xn--/,l=/[^\x20-\x7E]/,u=/[\x2E\u3002\uFF0E\uFF61]/g,p={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,m=String.fromCharCode;function h(e){throw new RangeError(p[e])}function f(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function g(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+f((e=e.replace(u,".")).split("."),t).join(".")}function y(e){for(var t,r,n=[],a=0,o=e.length;a<o;)(t=e.charCodeAt(a++))>=55296&&t<=56319&&a<o?56320==(64512&(r=e.charCodeAt(a++)))?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),a--):n.push(t);return n}function v(e){return f(e,(function(e){var t="";return e>65535&&(t+=m((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+m(e)})).join("")}function $(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function A(e,t,r){var n=0;for(e=r?d(e/700):e>>1,e+=d(e/t);e>455;n+=i)e=d(e/35);return d(n+36*e/(e+38))}function b(e){var t,r,n,a,o,c,l,u,p,m,f,g=[],y=e.length,$=0,b=128,C=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n<r;++n)e.charCodeAt(n)>=128&&h("not-basic"),g.push(e.charCodeAt(n));for(a=r>0?r+1:0;a<y;){for(o=$,c=1,l=i;a>=y&&h("invalid-input"),((u=(f=e.charCodeAt(a++))-48<10?f-22:f-65<26?f-65:f-97<26?f-97:i)>=i||u>d((s-$)/c))&&h("overflow"),$+=u*c,!(u<(p=l<=C?1:l>=C+26?26:l-C));l+=i)c>d(s/(m=i-p))&&h("overflow"),c*=m;C=A($-o,t=g.length+1,0==o),d($/t)>s-b&&h("overflow"),b+=d($/t),$%=t,g.splice($++,0,b)}return v(g)}function C(e){var t,r,n,a,o,c,l,u,p,f,g,v,b,C,T,w=[];for(v=(e=y(e)).length,t=128,r=0,o=72,c=0;c<v;++c)(g=e[c])<128&&w.push(m(g));for(n=a=w.length,a&&w.push("-");n<v;){for(l=s,c=0;c<v;++c)(g=e[c])>=t&&g<l&&(l=g);for(l-t>d((s-r)/(b=n+1))&&h("overflow"),r+=(l-t)*b,t=l,c=0;c<v;++c)if((g=e[c])<t&&++r>s&&h("overflow"),g==t){for(u=r,p=i;!(u<(f=p<=o?1:p>=o+26?26:p-o));p+=i)T=u-f,C=i-f,w.push(m($(f+T%C,0))),u=d(T/C);w.push(m($(u,0))),o=A(r,b,n==a),r=0,++n}++r,++t}return w.join("")}o={version:"1.3.2",ucs2:{decode:y,encode:v},decode:b,encode:C,toASCII:function(e){return g(e,(function(e){return l.test(e)?"xn--"+C(e):e}))},toUnicode:function(e){return g(e,(function(e){return c.test(e)?b(e.slice(4).toLowerCase()):e}))}},void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)}()},5237:(e,t,r)=>{"use strict";const n=r(3686),a=r(1861),o=r(5477),s=r(5430),i=r(4404),c=r(8088),l=r(9869),u=r(8058),p=r(953),d=r(6341),m=r(8171),h=r(7337),f=r(3218),g=r(745),y=r(7189),v=r(3135),$=r(8968),A=r(7046),b=r(9852),C=r(1529),T=r(2302),w=r(6099),D=r(6375),F=r(1976),E=r(516),I=r(2523),M=r(9259),S=r(6113),N=r(7755),O=r(1595),x=r(2438),P=r(4471),L=r(6226),R=r(9481),k=r(3673),_=r(1768),V=r(6803),B=r(6033),j=r(7624),U=r(7662),Q=r(3899),z=r(8330);e.exports={SecurityException:n,IllegalModelException:a,TypeNotFoundException:o,MetamodelException:s,Decorator:i,DecoratorFactory:c,DecoratorManager:B,ClassDeclaration:l,IdentifiedDeclaration:u,AssetDeclaration:p,ConceptDeclaration:d,EnumValueDeclaration:m,EventDeclaration:h,ParticipantDeclaration:f,TransactionDeclaration:g,ScalarDeclaration:y,MapDeclaration:v,MapKeyType:$,MapValueType:A,Property:b,Field:C,EnumDeclaration:T,RelationshipDeclaration:w,Validator:D,NumberValidator:F,StringValidator:E,Typed:I,Identifiable:M,Relationship:S,Resource:N,Factory:O,Globalize:x,Introspector:P,ModelFile:L,ModelManager:R,Serializer:k,ModelUtil:_,ModelLoader:V,DateTimeUtil:j,Concerto:U,MetaModel:Q,version:z}},1209:(e,t,r)=>{"use strict";const n=r(6255),a=r(6485),o=r(4584),s=r(9452),i=r(6538),c=r(4318),l=r(4313),u=r(5734),p=r(9416),d=r(4231),m=r(4402),h=r(3233),f=r(4965),g=r(1111),y=r(8313),v=r(6873),$=r(8792),A=r(9025);e.exports={BaseException:n,BaseFileException:a,FileDownloader:o,CompositeFileLoader:s,DefaultFileLoader:i,GitHubFileLoader:c,HTTPFileLoader:l,Writer:u,FileWriter:p,InMemoryWriter:m,ModelWriter:d,Logger:h,TypedStack:f,Label:g,Identifiers:y,ErrorCodes:v,NullUtil:$,Warning:A}},6255:(e,t,r)=>{"use strict";const n=r(4486),a=r(6873);class o extends Error{constructor(e,t,r){super(e),this.component=t||n.name,this.name=this.constructor.name,this.message=e,this.errorType=r||a.DEFAULT_BASE_EXCEPTION,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}e.exports=o},6485:(e,t,r)=>{"use strict";const n=r(6255);e.exports=class extends n{constructor(e,t,r,n,a){super(r||e,a),this.fileLocation=t,this.shortMessage=e,this.fileName=n}getFileLocation(){return this.fileLocation}getShortMessage(){return this.shortMessage}getFileName(){return this.fileName}}},6873:e=>{"use strict";e.exports={DEFAULT_BASE_EXCEPTION:"DefaultBaseException",DEFAULT_VALIDATOR_EXCEPTION:"DefaultValidatorException",REGEX_VALIDATOR_EXCEPTION:"RegexValidatorException",TYPE_NOT_FOUND_EXCEPTION:"TypeNotFoundException",DEPRECATION_WARNING:"DeprecationWarning",CONCERTO_DEPRECATION_001:"concerto-dep:001",CONCERTO_DEPRECATION_002:"concerto-dep:002"}},4584:(e,t,r)=>{"use strict";const n=r(901)("concerto:FileDownloader"),a=r(6573),o=e=>[].concat(...e),s=e=>e.filter(Boolean),i=async(e,t)=>{const r=e.response&&e.response.status&&200!==e.response.status,n=e.code&&"ENOTFOUND"===e.code;if(r||n){const e=new Error(`Unable to download external model dependency '${t.url}'`);throw e.code="MISSING_DEPENDENCY",e}throw new Error("Failed to load model file. Job: "+t.url+" Details: "+e)};e.exports=class{constructor(e,t,r=10){this.fileLoader=e,this.concurrency=r,this.getExternalImports=t}downloadExternalDependencies(e,t){n("downloadExternalDependencies");const r=new Set;t||(t={});const c=o(e.map((e=>{const n=this.getExternalImports(e);return Object.keys(n).map((e=>({downloadedUris:r,url:n[e],options:t})))})));return a.withConcurrency(this.concurrency).for(c).handleError(i).process((e=>this.runJob(e,this.fileLoader))).then((({results:e})=>s(o(e))))}runJob(e,t){const r=e.downloadedUris,c=e.options,l=e.url;return r.add(l),n("runJob","Loading",l),t.load(l,c).then((async e=>{n("runJob","Loaded",l);const u=this.getExternalImports(e),p=Array.from(new Set(Object.keys(u).map((e=>u[e]))));return n("runJob","importedUris",p),(await a.withConcurrency(this.concurrency).for(p).handleError(i).process((e=>{if(!r.has(e))return this.runJob({options:c,url:e,downloadedUris:r},t)})).then((({results:e})=>s(o(e))))).concat([e])}))}}},9416:(e,t,r)=>{"use strict";const n=r(2522),a=r(2338),o=r(5734);e.exports=class extends o{constructor(e){super(),this.outputDirectory=e,this.relativeDir=null,this.fileName=null,n.mkdirSync(e,{recursive:!0})}openFile(e){this.fileName=e,this.relativeDir=null}openRelativeFile(e,t){this.relativeDir=e,this.fileName=t}writeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeLine(e,t)}writeBeforeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeBeforeLine(e,t)}closeFile(){if(!this.fileName)throw new Error("No file open");let e=this.outputDirectory;this.relativeDir&&(e=a.resolve(e,this.relativeDir)),e=a.resolve(e,this.fileName),n.mkdirSync(a.dirname(e),{recursive:!0}),n.writeFileSync(e,this.getBuffer()),this.fileName=null,this.relativeDir=null,this.clearBuffer()}}},8313:e=>{"use strict";const t=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u;e.exports={normalizeIdentifier:function(e,r=-1){const n=(e,t)=>{let r="";for(const e of t)r+=`_${e.codePointAt(0).toString(16)}`;return r};let a=e??String(e);if("string"!=typeof a)throw new Error(`Unsupported identifier type, '${typeof a}'.`);if(a=a.replace(/^\p{Nd}/u,"_$&").replace(/[-‐−@#:;><|/\\\u200c\u200d]/g,"_").replace(/\s/g,"_").replace(/(?!\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D|\\u[0-9A-Fa-f]{4})(.)/gu,n).replace(/([\uD800-\uDFFF])/g,n),r>0&&(a=a.substring(0,r)),!t.test(a))throw new Error(`Unexpected error. Not able to escape identifier '${a}'.`);return a},ID_REGEX:t}},4402:(e,t,r)=>{"use strict";const n=r(5734);e.exports=class extends n{constructor(){super(),this.fileName="",this.data=new Map}openFile(e){this.fileName=e}closeFile(){this.data.set(this.fileName,this.getBuffer()),this.clearBuffer()}getFilesInMemory(){return this.data}}},1111:e=>{"use strict";e.exports={labelToSentence:function(e=""){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(e=>e.toUpperCase())).trim()},sentenceToLabel:function(e=""){const t=e.split(/[^A-Za-z0-9_-]+/);return t.forEach(((e,r)=>{t[r]=t[r].replace(/^./,(e=>e.toUpperCase()))})),t.join("").replace(/^./,(e=>e.toLowerCase()))}}},9452:e=>{"use strict";e.exports=class{constructor(){this.fileLoaders=[]}addFileLoader(e){this.fileLoaders.push(e)}getFileLoaders(){return this.fileLoaders}clearFileLoaders(){this.fileLoaders=[]}accepts(e){for(let t=0;t<this.fileLoaders.length;t++)if(this.fileLoaders[t].accepts(e))return!0;return!1}load(e,t){for(let r=0;r<this.fileLoaders.length;r++){const n=this.fileLoaders[r];if(n.accepts(e))return n.load(e,t)}throw new Error("Failed to find a model file loader that can handle: "+e)}}},6538:(e,t,r)=>{"use strict";const n=r(9452),a=r(4313),o=r(4318);e.exports=class extends n{constructor(e){super();const t=new a(e),r=new o(e);this.addFileLoader(r),this.addFileLoader(t)}}},4318:(e,t,r)=>{"use strict";const n=r(4313);e.exports=class extends n{constructor(e){super(e)}accepts(e){return e.startsWith("github://")}load(e,t){const r="https://raw.githubusercontent.com/"+e.substring(9);return super.load(r,t)}}},4313:e=>{"use strict";e.exports=class{constructor(e){this.processFile=e}accepts(e){return e.startsWith("http://")||e.startsWith("https://")}async load(e,t){t||(t={method:"GET",headers:{"Content-Type":"text/plain"}}),console.log(e);const r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP request failed with status: ${r.status}`);const n=await r.text(),a=new URL(e),o="@"+(a.host+a.pathname).replace(/\//g,".");return this.processFile(o,n)}}},3233:e=>{"use strict";const t={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},r=e=>e,n={};Object.keys(t).forEach((e=>{n[e]=(...n)=>((e,...n)=>{let a=e,o=n,s=o.shift();if(s&&"object"==typeof s&&s.level&&s.message){const e=s.padding&&s.padding[s.level];"error"===s.level&&s.stack?(a="error",s=`${s.message}\n${s.stack}`):Object.keys(t).includes(s.level)&&(a=s.level,s=s.message),s=e?`${e} ${s}`:s}o.unshift(s),(["error","warn"].includes(a)?console.error:console.log)(`${(new Date).toLocaleTimeString()} - ${a}:`,...o.map((e=>e instanceof Error?`${e.message}\n${e.stack}`:e)).map(r))})(e,...n)}));class a{static dispatch(e,...r){t[e]>t[this.level]||this.transports.forEach((t=>{t[e]&&t[e](...r)}))}static add(e){this.transports.push(e)}static error(...e){return this.dispatch("error",...e)}static warn(...e){return this.dispatch("warn",...e)}static info(...e){return this.dispatch("info",...e)}static log(...e){return this.info(...e)}static http(...e){return this.dispatch("http",...e)}static verbose(...e){return this.dispatch("verbose",...e)}static debug(...e){return this.dispatch("debug",...e)}static silly(...e){return this.dispatch("silly",...e)}}a.level="info",a.transports=[n],e.exports=a},4231:(e,t,r)=>{"use strict";const n=r(2522),a=r(2338),o=r(7431);e.exports={writeModelsToFileSystem:function(e,t,r={}){if(!t)throw new Error("`path` is a required parameter of writeModelsToFileSystem");const s=Object.assign({includeExternalModels:!0},r);e.forEach((function(e){if(e.external&&!s.includeExternalModels)return;const r=o(e.fileName).split("/").pop();n.writeFileSync(t+a.sep+r,e.definitions)}))}}},8792:e=>{"use strict";e.exports=class{static isNull(e){return null==e}}},4965:e=>{"use strict";e.exports=class{constructor(e){this.stack=[],this.push(e)}push(e,t){if(t&&!(e instanceof t))throw new Error("Did not find expected type "+t.constructor.name+" as argument to push. Found: "+e.toString());this.stack.push(e)}pop(e){return this.peek(e),this.stack.pop()}peek(e){if(this.stack.length<1)throw new Error("Stack is empty!");const t=this.stack[this.stack.length-1];if(e&&!(t instanceof e))throw new Error("Did not find expected type "+e+" on head of stack. Found: "+t);return t}clear(){this.stack=[]}}},9025:(e,t,r)=>{"use strict";var n=r(9907);let a=!1;e.exports={printDeprecationWarning:function(e,t,r,o){const s=n.emitWarning;a||(a=!0,s(`DEPRECATED: ${e}`,{type:t,code:r,detail:o}))}}},5734:e=>{"use strict";e.exports=class{constructor(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}writeBeforeLine(e,t){for(let t=0;t<e;t++)this.beforeBuffer+=" ";this.beforeBuffer+=t,this.beforeBuffer+="\n",this.linesWritten++}writeLine(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t),this.write("\n"),this.linesWritten++}getLineCount(){return this.linesWritten}writeIndented(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t)}write(e){if("string"!=typeof e)throw new Error("Can only append strings. Argument "+e+" has type "+typeof e);this.buffer+=e,this.linesWritten+=e.split(/\r\n|\r|\n/).length}getBuffer(){return this.beforeBuffer+this.buffer}clearBuffer(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}}},901:(e,t,r)=>{var n=r(9907);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(372)(t);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},372:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(6585),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},6585:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},9967:(e,t,r)=>{var n,a=r(9907);self,n=()=>{return e={348:(e,t,r)=>{"use strict";const n=r(954);e.exports={MetaModelUtil:n,MetaModelNamespace:"concerto.metamodel@1.0.0"}},702:e=>{"use strict";e.exports='/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@DotNetNamespace("AccordProject.Concerto.Metamodel")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nconcept AliasedType{\n o String name\n o String aliasedName\n}\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n o AliasedType[] aliasedTypes optional\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n'},954:(e,t,r)=>{"use strict";const n=r(865),a="concerto.metamodel@1.0.0",o=r(702);function s(e,t){return e.declarations.find((e=>e.name===t))}function i(e,t){if(!t[e])throw new Error(`Name ${e} not found`);return t[e].namespace}function c(e,t){switch((e.decorators||[]).forEach((e=>{c(e,t)})),e.$class){case`${a}.Model`:(e.declarations||[]).forEach((e=>{c(e,t)}));break;case`${a}.AssetDeclaration`:case`${a}.ConceptDeclaration`:case`${a}.EventDeclaration`:case`${a}.TransactionDeclaration`:case`${a}.ParticipantDeclaration`:if(e.superType){const r=e.superType.name;e.superType.namespace=i(r,t),e.superType.name=t[r].name}(e.properties||[]).forEach((e=>{c(e,t)}));break;case`${a}.MapDeclaration`:c(e.key,t),c(e.value,t);break;case`${a}.Decorator`:(e.arguments||[]).forEach((e=>{c(e,t)}));break;case`${a}.EnumProperty`:case`${a}.ObjectProperty`:case`${a}.RelationshipProperty`:case`${a}.DecoratorTypeReference`:case`${a}.ObjectMapKeyType`:case`${a}.ObjectMapValueType`:e.type.namespace=i(e.type.name,t),e.type.name=t[e.type.name].name;break;case`${a}.StringScalar`:case`${a}.BooleanScalar`:case`${a}.DateTimeScalar`:case`${a}.DoubleScalar`:case`${a}.LongScalar`:case`${a}.IntegerScalar`:e.namespace=i(e.name,t),e.name=t[e.name].name}return e}function l(e,t){const r=JSON.parse(JSON.stringify(t)),n=function(e,t){const r="concerto@1.0.0",n={Concept:{namespace:r,name:"Concept"},Asset:{namespace:r,name:"Asset"},Participant:{namespace:r,name:"Participant"},Transaction:{namespace:r,name:"Transaction"},Event:{namespace:r,name:"Event"}};return(t.imports||[]).forEach((t=>{const r=t.namespace,o=function(e,t){return e.models.find((e=>e.namespace===t))}(e,r);if(t.$class===`${a}.ImportType`){if(!s(o,t.name))throw new Error(`Declaration ${t.name} in namespace ${r} not found`);n[t.name]={namespace:r,name:t.name}}else if(t.$class===`${a}.ImportTypes`){const e=t.aliasedTypes?new Map(t.aliasedTypes.map((({name:e,aliasedName:t})=>[e,t]))):new Map;t.types.forEach((t=>{const a=e.get(t)||t;if(!s(o,t))throw new Error(`Declaration ${t} in namespace ${r} not found`);n[a]={namespace:r,name:t}}))}else(o.declarations||[]).forEach((e=>{n[e.name]={namespace:r,name:e.name}}))})),(t.declarations||[]).forEach((e=>{n[e.name]={namespace:t.namespace,name:e.name}})),n}(e,t);return c(r,n),r}function u(e){const t=[];switch(e.$class){case`${a}.ImportAll`:t.push(`${e.namespace}.*`);break;case`${a}.ImportType`:t.push(`${e.namespace}.${e.name}`);break;case`${a}.ImportTypes`:e.types.forEach((r=>{t.push(`${e.namespace}.${r}`)}));break;default:throw new Error(`Unrecognized imports ${e.$class}`)}return t}e.exports={metaModelAst:n,metaModelCto:o,resolveLocalNames:l,resolveLocalNamesForAll:function(e){const t={$class:`${a}.Models`,models:[]};return e.models.forEach((r=>{const n=l(e,r);t.models.push(n)})),t},importFullyQualifiedNames:u,getExternalImports:function(e){const t={};return e.imports&&e.imports.forEach((e=>{const r=u(e);e.uri&&(t[r[0]]=e.uri)})),t}}},573:(e,t,r)=>{"use strict";const n=r(187);e.exports=n.PromisePool},160:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolError=void 0;class r extends Error{constructor(e,t){super(),this.item=t,this.name=this.constructor.name,this.message=this.messageFrom(e),Error.captureStackTrace(this,this.constructor)}static createFrom(e,t){return new this(e,t)}messageFrom(e){return e instanceof Error||"object"==typeof e?e.message:"string"==typeof e||"number"==typeof e?e.toString():""}}t.PromisePoolError=r},241:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolExecutor=void 0;const n=r(160);t.PromisePoolExecutor=class{constructor(){this.tasks=[],this.items=[],this.errors=[],this.results=[],this.concurrency=10,this.handler=()=>{},this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}for(e){return this.items=e,this}withHandler(e){return this.handler=e,this}handleError(e){return this.errorHandler=e,this}hasReachedConcurrencyLimit(){return this.activeCount()>=this.concurrency}activeCount(){return this.tasks.length}async start(){return this.validateInputs(),await this.process()}validateInputs(){if("function"!=typeof this.handler)throw new Error("The first parameter for the .process(fn) method must be a function");if(!("number"==typeof this.concurrency&&this.concurrency>=1))throw new TypeError(`"concurrency" must be a number, 1 or up. Received "${this.concurrency}" (${typeof this.concurrency})`);if(!Array.isArray(this.items))throw new TypeError('"items" must be an array. Received '+typeof this.items);if(this.errorHandler&&"function"!=typeof this.errorHandler)throw new Error("The error handler must be a function. Received "+typeof this.errorHandler)}async process(){for(const e of this.items)this.hasReachedConcurrencyLimit()&&await this.processingSlot(),this.startProcessing(e);return this.drained()}async processingSlot(){return this.waitForTaskToFinish()}async waitForTaskToFinish(){await Promise.race(this.tasks)}startProcessing(e){const t=this.createTaskFor(e).then((e=>{this.results.push(e),this.tasks.splice(this.tasks.indexOf(t),1)})).catch((r=>{if(this.tasks.splice(this.tasks.indexOf(t),1),this.errorHandler)return this.errorHandler(r,e);this.errors.push(n.PromisePoolError.createFrom(r,e))}));this.tasks.push(t)}async createTaskFor(e){return this.handler(e)}async drained(){return await this.drainActiveTasks(),{results:this.results,errors:this.errors}}async drainActiveTasks(){await Promise.all(this.tasks)}}},187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePool=void 0;const n=r(241);class a{constructor(e){this.concurrency=10,this.items=null!=e?e:[],this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}static withConcurrency(e){return(new this).withConcurrency(e)}for(e){return new a(e).withConcurrency(this.concurrency)}static for(e){return(new this).for(e)}handleError(e){return this.errorHandler=e,this}async process(e){return(new n.PromisePoolExecutor).withConcurrency(this.concurrency).withHandler(e).handleError(this.errorHandler).for(this.items).start()}}t.PromisePool=a},786:(e,t,r)=>{"use strict";const n=r(942),{DefaultFileLoader:a,FileDownloader:o}=r(209),s=r(124)("concerto:ModelManager"),i=r(206),{MetaModelUtil:c,MetaModelNamespace:l}=r(348);e.exports={resolveExternal:async function(e,t,r){s("updateExternalModels","updateExternalModels",t),r||(r=new o(new a(((e,t)=>{if(".cto"===n.extname(e))return i.parse(t);throw new Error("External model file references are expected to have a .cto extension")})),c.getExternalImports));const u=await r.downloadExternalDependencies(e.models,t);let p=e;return u.forEach((e=>{p=function(e,t){const r={$class:`${l}.Models`,models:[]},n=t.namespace,a=e.models;let o=!1;return a.forEach(((e,a)=>{e.namespace===n?(r.models.push(t),o=!0):r.models.push(e)})),o||r.models.push(t),r}(p,e)})),p}}},713:(e,t,r)=>{"use strict";const{BaseFileException:n}=r(209);e.exports=class extends n{constructor(e,t,r,n,a){let o=e,s="";r&&(s+=" File "+r),t&&(t.end&&t.start&&t.end.offset&&t.start.offset&&t.end.offset-t.start.offset==1&&(t.end.column=t.start.column,t.end.offset=t.start.offset),s+=s?" line "+t.start.line+" column "+t.start.column:" Line "+t.start.line+" column "+t.start.column),o+=s,super(e,t,n||o,r,a)}}},206:e=>{"use strict";function t(e,r,n,a){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,t.prototype),o.expected=r,o.found=n,o.location=a,o.name="SyntaxError",o}function r(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var n,a=null;for(n=0;n<e.length;n++)if(e[n].source===this.location.source){a=e[n].text.split(/\r\n|\n|\r/g);break}var o=this.location.start,s=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,i=this.location.source+":"+s.line+":"+s.column;if(a){var c=this.location.end,l=r("",s.line.toString().length," "),u=a[o.line-1],p=(o.line===c.line?c.column:u.length+1)-o.column||1;t+="\n --\x3e "+i+"\n"+l+" |\n"+s.line+" | "+u+"\n"+l+" | "+r("",o.column-1," ")+r("",p,"^")}else t+="\n at "+i}return t},t.buildMessage=function(e,t){var r={literal:function(e){return'"'+a(e.text)+'"'},class:function(e){var t=e.parts.map((function(e){return Array.isArray(e)?o(e[0])+"-"+o(e[1]):o(e)}));return"["+(e.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}function a(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+n(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+n(e)}))}function o(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+n(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+n(e)}))}function s(e){return r[e.type](e)}return"Expected "+function(e){var t,r,n=e.map(s);if(n.sort(),n.length>0){for(t=1,r=1;t<n.length;t++)n[t-1]!==n[t]&&(n[r]=n[t],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(e)+" but "+function(e){return e?'"'+a(e)+'"':"end of input"}(t)+" found."},e.exports={StartRules:["Start"],SyntaxError:t,parse:function(e,r){var n,a={},o=(r=void 0!==r?r:{}).grammarSource,s={Start:So},i=So,c="\n",l="\r\n",u="/*",p="*/",d="//",m="\\",h=".",f="0",g="e",y="0x",v='"',$="'",A="b",b="f",C="n",T="r",w="t",D="v",F="x",E="u",I="/",M="[",S="]",N="enum",O="map",x="false",P="import",L="true",R="as",k="}",_="%",V=":",B="?",j="#",U="@",Q="::",z="25",H="2",W="1",G="-",q="+",J="concerto",K="version",Y="namespace",X="abstract",Z="concept",ee="asset",te="transaction",re="event",ne="participant",ae="scalar",oe="from",se="*",ie="Integer",ce="Double",le="Long",ue="String",pe="DateTime",de="Boolean",me="identified by",he="identified",fe="[]",ge="(",ye=",",ve=")",$e="extends",Ae="{",be="optional",Ce="default",Te="=",we="o",De="regex",Fe="length",Ee="range",Ie="--\x3e",Me=".{",Se=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,Ne=/^[\n\r\u2028\u2029]/,Oe=/^[\r\u2028-\u2029]/,xe=/^[$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD-\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0-\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Pe=/^[0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B-\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1885-\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880-\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,Le=/^[+\-]/,Re=/^[0-9]/,ke=/^[1-9]/,_e=/^[0-9a-f]/i,Ve=/^[\n\r"\\\u2028-\u2029]/,Be=/^[\n\r'\\\u2028-\u2029]/,je=/^["'\\]/,Ue=/^[0-9ux]/,Qe=/^[*\\\/[]/,ze=/^[\\\/[]/,He=/^[\]\\]/,We=/^[A-Za-z]/,Ge=/^[A-F]/i,qe=/^[\--.0-9A-Z_a-z~]/,Je=/^[+\--.0-9A-Za-z]/,Ke=/^[!$&-,:-;=]/,Ye=/^[\--.0-:A-Z_a-z~]/,Xe=/^[0-5]/,Ze=/^[0-4]/,et=/^[!$&-,:-;=@]/,tt=/^[\/?]/,rt=/^[a-z0-9\-]/i,nt=/^[a-z\-]/i,at={type:"any"},ot=Fo("whitespace"),st=Do(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),it=Do(["\n","\r","\u2028","\u2029"],!1,!1),ct=Fo("end of line"),lt=wo("\n",!1),ut=wo("\r\n",!1),pt=Do(["\r",["\u2028","\u2029"]],!1,!1),dt=Fo("comment"),mt=wo("/*",!1),ht=wo("*/",!1),ft=wo("//",!1),gt=Fo("identifier"),yt=Do(["$",["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ՠ","ֈ"],["א","ת"],["ׯ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣉ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᲀ","ᲈ"],["Ა","Ჺ"],["Ჽ","Ჿ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꟊ"],["Ꟑ","ꟑ"],"ꟓ",["ꟕ","ꟙ"],["ꟲ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭩ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),vt=wo("\\",!1),$t=Do([["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],"৾",["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ૺ","૿"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["୕","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ఄ"],"఼",["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],"ೳ",["ഀ","ഃ"],["഻","഼"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ඁ","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ຼ"],["່","໎"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜕"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠏","᠙"],["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭","᳴",["᳷","᳹"],["᷀","᷿"],["",""],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],"꠬",["ꢀ","ꢁ"],["ꢴ","ꣅ"],["꣐","꣙"],["꣠","꣱"],["ꣿ","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),At=(Do([["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ՠ","ֈ"],["א","ת"],["ׯ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣉ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᲀ","ᲈ"],["Ა","Ჺ"],["Ჽ","Ჿ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꟊ"],["Ꟑ","ꟑ"],"ꟓ",["ꟕ","ꟙ"],["ꟲ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭩ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Do([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],"৾",["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["ૺ","૿"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["୕","ୗ"],["ୢ","ୣ"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["ఀ","ఄ"],"఼",["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],"ೳ",["ഀ","ഃ"],["഻","഼"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["ඁ","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ຼ"],["່","໎"],["༘","༙"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],"ႏ",["ႚ","ႝ"],["፝","፟"],["ᜒ","᜕"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["᠋","᠍"],"᠏",["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],"᩿",["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬄ"],["᬴","᭄"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᯦","᯳"],["ᰤ","᰷"],["᳐","᳒"],["᳔","᳨"],"᳭","᳴",["᳷","᳹"],["᷀","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],"꠬",["ꢀ","ꢁ"],["ꢴ","ꣅ"],["꣠","꣱"],"ꣿ",["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],"ꧥ",["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],"ﬞ",["︀","️"],["︠","︯"]],!1,!1),Fo("number")),bt=wo(".",!1),Ct=Do(["+","-"],!1,!1),Tt=wo("0",!1),wt=Do([["0","9"]],!1,!1),Dt=Do([["1","9"]],!1,!1),Ft=wo("e",!0),Et=wo("0x",!0),It=Do([["0","9"],["a","f"]],!1,!0),Mt=Fo("string"),St=wo('"',!1),Nt=wo("'",!1),Ot=Do(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),xt=Do(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Pt=Do(['"',"'","\\"],!1,!1),Lt=wo("b",!1),Rt=wo("f",!1),kt=wo("n",!1),_t=wo("r",!1),Vt=wo("t",!1),Bt=wo("v",!1),jt=Do([["0","9"],"u","x"],!1,!1),Ut=wo("x",!1),Qt=wo("u",!1),zt=Fo("regular expression"),Ht=wo("/",!1),Wt=Do(["*","\\","/","["],!1,!1),Gt=Do(["\\","/","["],!1,!1),qt=wo("[",!1),Jt=wo("]",!1),Kt=Do(["]","\\"],!1,!1),Yt=(Do([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ՠ","ֈ"],["ა","ჺ"],["ჽ","ჿ"],["ᏸ","ᏽ"],["ᲀ","ᲈ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱟ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞯ","ꞵ","ꞷ","ꞹ","ꞻ","ꞽ","ꞿ","ꟁ","ꟃ","ꟈ","ꟊ","ꟑ","ꟓ","ꟕ","ꟗ","ꟙ","ꟶ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭨ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Do([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ࣉ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟲ","ꟴ"],["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ꭩ","ー",["゙","゚"]],!1,!1),Do(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["ׯ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣈ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ᄀ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Do(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Do([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],["Ა","Ჺ"],["Ჽ","Ჿ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱟ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɪ"],["Ʞ","Ꞵ"],"Ꞷ","Ꞹ","Ꞻ","Ꞽ","Ꞿ","Ꟁ","Ꟃ",["Ꞔ","Ꟈ"],"Ꟊ","Ꟑ","Ꟗ","Ꟙ","Ꟶ",["A","Z"]],!1,!1),Do(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],"ೳ",["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"᜕","᜴","ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡","᳷",["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦾ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),Do([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],"৾",["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],["ૺ","૿"],"ଁ","଼","ି",["ୁ","ୄ"],"୍",["୕","ୖ"],["ୢ","ୣ"],"ஂ","ீ","்","ఀ","ఄ","఼",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],["ഀ","ഁ"],["഻","഼"],["ു","ൄ"],"്",["ൢ","ൣ"],"ඁ","්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ຼ"],["່","໎"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","ᜳ"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"᠏",["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꠬",["꣄","ꣅ"],["꣠","꣱"],"ꣿ",["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],["ꦼ","ꦽ"],"ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),Do([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),Do([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Do(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),Do([" "," "," ",[" "," "]," "," "," "],!1,!1),wo("enum",!1)),Xt=wo("map",!1),Zt=wo("false",!1),er=wo("import",!1),tr=(wo("null",!1),wo("true",!1)),rr=wo("as",!1),nr=(wo(";",!1),wo("}",!1)),ar=Do([["A","Z"],["a","z"]],!1,!1),or=(Do([["0","1"]],!1,!1),Do([["",""]],!1,!1),wo("\r",!1),Do([["\0",""],""],!1,!1),Do(['"'],!1,!1),Do([["A","F"]],!1,!0)),sr=(wo("\t",!1),Do([["\0","ÿ"]],!1,!1),wo(" ",!1),Do([["!","~"]],!1,!1),Do(["\t"," "],!1,!1),wo("%",!1)),ir=(Do(["!",["#","$"],["&",","],"/",[":",";"],"=",["?","@"],"[","]"],!1,!1),Do(["#","/",":",["?","@"],"[","]"],!1,!1),Do(["!","$",["&",","],";","="],!1,!1),Do([["-","."],["0","9"],["A","Z"],"_",["a","z"],"~"],!1,!1)),cr=wo(":",!1),lr=wo("?",!1),ur=wo("#",!1),pr=Do(["+",["-","."],["0","9"],["A","Z"],["a","z"]],!1,!1),dr=wo("@",!1),mr=Do(["!","$",["&",","],[":",";"],"="],!1,!1),hr=Do([["-","."],["0",":"],["A","Z"],"_",["a","z"],"~"],!1,!1),fr=wo("::",!1),gr=wo("25",!1),yr=Do([["0","5"]],!1,!1),vr=wo("2",!1),$r=Do([["0","4"]],!1,!1),Ar=wo("1",!1),br=(Do(["!","$",["&",","],";","=","@"],!1,!1),Do(["!","$",["&",","],[":",";"],"=","@"],!1,!1)),Cr=Do(["/","?"],!1,!1),Tr=wo("-",!1),wr=wo("+",!1),Dr=Do([["a","z"],["0","9"],"-"],!1,!0),Fr=Do([["a","z"],"-"],!1,!0),Er=wo("concerto",!1),Ir=wo("version",!1),Mr=wo("namespace",!1),Sr=wo("abstract",!1),Nr=wo("concept",!1),Or=wo("asset",!1),xr=wo("transaction",!1),Pr=wo("event",!1),Lr=wo("participant",!1),Rr=wo("scalar",!1),kr=wo("from",!1),_r=wo("*",!1),Vr=wo("Integer",!1),Br=wo("Double",!1),jr=wo("Long",!1),Ur=wo("String",!1),Qr=wo("DateTime",!1),zr=wo("Boolean",!1),Hr=wo("identified by",!1),Wr=wo("identified",!1),Gr=wo("[]",!1),qr=wo("(",!1),Jr=wo(",",!1),Kr=wo(")",!1),Yr=wo("extends",!1),Xr=wo("{",!1),Zr=wo("optional",!1),en=wo("default",!1),tn=wo("=",!1),rn=wo("o",!1),nn=wo("regex",!1),an=wo("length",!1),on=wo("range",!1),sn=wo("--\x3e",!1),cn=wo(".{",!1),ln=function(e){return e},un=function(e){return e},pn=function(e,t){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e+t.join("")}},dn=function(e){return e},mn=function(){return{type:"Literal",value:!0}},hn=function(){return{type:"Literal",value:!1}},fn=function(e){return e},gn=function(e){return e},yn=function(){return{type:"Literal",value:parseFloat(Co())}},vn=function(){return{type:"Literal",value:parseFloat(Co())}},$n=function(){return{type:"Literal",value:parseFloat(Co())}},An=function(){return{type:"Literal",value:parseFloat(Co())}},bn=function(e){return{type:"Literal",value:parseInt(e,16)}},Cn=function(e){return{type:"Literal",value:e.join("")}},Tn=function(e){return{type:"Literal",value:e.join("")}},wn=function(){return Co()},Dn=function(e){return e},Fn=function(){return Co()},En=function(e){return e},In=function(){return""},Mn=function(){return"\0"},Sn=function(){return"\b"},Nn=function(){return"\f"},On=function(){return"\n"},xn=function(){return"\r"},Pn=function(){return"\t"},Ln=function(){return"\v"},Rn=function(){return Co()},kn=function(e){return String.fromCharCode(parseInt(e,16))},_n=function(e){return String.fromCharCode(parseInt(e,16))},Vn=function(e,t){return{$class:`${li}.StringRegexValidator`,pattern:e,flags:t}},Bn=function(e,t,r){return{versionCore:e,pre:t,build:r}},jn=function(e,t,r){return{major:parseInt(e,10),minor:parseInt(t,10),patch:parseInt(r,10)}},Un=function(e,t){return[e,...t]},Qn=function(e,t){return[e,...t]},zn=function(){return"Integer"},Hn=function(){return"Double"},Wn=function(){return"Long"},Gn=function(){return"String"},qn=function(){return"DateTime"},Jn=function(){return"Boolean"},Kn=function(e){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e.name}},Yn=function(e,t){return e+t},Xn=function(e){return{$class:"concerto.metamodel@1.0.0.IdentifiedBy",name:e.name}},Zn=function(){return{$class:"concerto.metamodel@1.0.0.Identified"}},ea=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorString",value:e.value,...mi(To())}},ta=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorNumber",value:+e,...mi(To())}},ra=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorBoolean",value:"true"==e,...mi(To())}},na=function(e,t){return{$class:"concerto.metamodel@1.0.0.DecoratorTypeReference",type:e,isArray:!!t,...mi(To())}},aa=function(e){return e},oa=function(e,t){return t?e.concat(t):[]},sa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.Decorator",name:e,...mi(To())};return t&&(r.arguments=t),r},ia=function(e){return e},ca=function(e){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e.name}},la=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.AssetDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The asset "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ua=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ParticipantDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The participant "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},pa=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.TransactionDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The transaction "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},da=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.EventDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The event "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ma=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ConceptDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The concept "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ha=function(e){const t={$class:"concerto.metamodel@1.0.0.BooleanScalar"};return e&&(t.defaultValue="true"===e),t},fa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.IntegerScalar"};return e&&(r.defaultValue=parseInt(e)),t&&(r.validator=t),r},ga=function(e,t){const r={$class:"concerto.metamodel@1.0.0.LongScalar"};return e&&(r.defaultValue=parseInt(e)),t&&(r.validator=t),r},ya=function(e,t){const r={$class:"concerto.metamodel@1.0.0.DoubleScalar"};return e&&(r.defaultValue=parseFloat(e)),t&&(r.validator=t),r},va=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.StringScalar"};return e&&(n.defaultValue=e),t&&(n.validator=t),r&&(n.lengthValidator=r),n},$a=function(e){return{$class:"concerto.metamodel@1.0.0.DateTimeScalar",defaultValue:e}},Aa=function(e,t,r){const n={...r,name:t.name,...mi(To())};return e.length>0&&(n.decorators=e),n},ba=function(){return{type:"Optional"}},Ca=function(e){return e.value},Ta=function(e){return e},wa=function(e){return e},Da=function(e){return e},Fa=function(e){return{type:"ClassDeclarationBody",declarations:pi(e),...mi(To())}},Ea=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ObjectProperty",name:n.name,type:t,isArray:di(r),isOptional:di(o),...mi(To())};return a&&(s.defaultValue=a),e.length>0&&(s.decorators=e),s},Ia=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.BooleanProperty",name:r.name,isArray:di(t),isOptional:di(a),...mi(To())};return n&&(o.defaultValue="true"===n),e.length>0&&(o.decorators=e),o},Ma=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.DateTimeProperty",name:r.name,isArray:di(t),isOptional:di(a),...mi(To())};return n&&(o.defaultValue=n),e.length>0&&(o.decorators=e),o},Sa=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.StringProperty",name:r.name,isArray:di(t),isOptional:di(s),...mi(To())};return n&&(i.defaultValue=n),e.length>0&&(i.decorators=e),a&&(i.validator=a),o&&(i.lengthValidator=o),i},Na=function(e){return e},Oa=function(e,t){const r={$class:`${li}.StringLengthValidator`};return e&&(r.minLength=parseInt(e)),t&&(r.maxLength=parseInt(t)),r},xa=function(e,t){const r={$class:`${li}.DoubleDomainValidator`};return e&&(r.lower=parseFloat(e)),t&&(r.upper=parseFloat(t)),r},Pa=function(e,t){const r={$class:`${li}.IntegerDomainValidator`};return e&&(r.lower=parseInt(e)),t&&(r.upper=parseInt(t)),r},La=function(e,t){const r={$class:`${li}.LongDomainValidator`};return e&&(r.lower=parseInt(e)),t&&(r.upper=parseInt(t)),r},Ra=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.DoubleProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(To())};return a&&(i.defaultValue=parseFloat(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},ka=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.IntegerProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(To())};return a&&(i.defaultValue=parseInt(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},_a=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.LongProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(To())};return a&&(i.defaultValue=parseInt(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},Va=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.MapDeclaration",name:t.name,key:r.declarations[0],value:r.declarations[1],...mi(To())};return e.length>0&&(n.decorators=e),n},Ba=function(e,t){return{type:"MapDeclarationBody",declarations:pi([e,t])}},ja=function(e){const t={$class:"concerto.metamodel@1.0.0.StringMapKeyType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ua=function(e){const t={$class:"concerto.metamodel@1.0.0.DateTimeMapKeyType",...mi(To())};return e.length>0&&(t.decorators=e),t},Qa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.ObjectMapKeyType",type:t,...mi(To())};return e.length>0&&(r.decorators=e),r},za=function(e){const t={$class:"concerto.metamodel@1.0.0.BooleanMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ha=function(e){const t={$class:"concerto.metamodel@1.0.0.DateTimeMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Wa=function(e){const t={$class:"concerto.metamodel@1.0.0.StringMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ga=function(e){const t={$class:"concerto.metamodel@1.0.0.IntegerMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},qa=function(e){const t={$class:"concerto.metamodel@1.0.0.LongMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ja=function(e){const t={$class:"concerto.metamodel@1.0.0.DoubleMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ka=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.ObjectMapValueType",type:r,...mi(To())};return"--\x3e"===t&&(n.$class="concerto.metamodel@1.0.0.RelationshipMapValueType"),e.length>0&&(n.decorators=e),n},Ya=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.EnumDeclaration",name:t.name,properties:r.declarations,...mi(To())};return e.length>0&&(n.decorators=e),n},Xa=function(e){return{type:"EnumDeclarationBody",declarations:pi(e)}},Za=function(e,t){const r={$class:"concerto.metamodel@1.0.0.EnumProperty",name:t.name,...mi(To())};return e.length>0&&(r.decorators=e),r},eo=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.RelationshipProperty",name:n.name,type:t,isArray:di(r),isOptional:di(a),...mi(To())};return e.length>0&&(o.decorators=e),o},to=function(e,t){return e.concat(JSON.stringify(t).replace(/['"]+/g,""))},ro=function(e,t,r){return`${e}@${t}.${r}`},no=function(e,t){return`${e}@${t}`},ao=function(e){return e},oo=function(e){return e},so=function(e,t){const r={$class:"concerto.metamodel@1.0.0.ImportAll",namespace:e};return t&&(r.uri=t),r},io=function(e,t){const{namespace:r,name:n}=function(e){const t=e.split(".");return{name:t.pop(),namespace:t.join(".")}}(e),a={$class:`${li}.ImportType`,name:n,namespace:r};return t&&(a.uri=t),a},co=function(e,t,r){const{aliasedTypes:n,typesNames:a}=t.reduce(((e,t)=>("concerto.metamodel@1.0.0.AliasedType"===t.$class?(e.aliasedTypes.push(t),e.typesNames.push(t.name)):e.typesNames.push(t),e)),{aliasedTypes:[],typesNames:[]}),o={$class:"concerto.metamodel@1.0.0.ImportTypes",namespace:e,types:a,...n.length>0&&{aliasedTypes:n}};return r&&(o.uri=r),o},lo=function(e,t){if(["Boolean","String","DateTime","Double","Integer","Long"].indexOf(t)>=0)throw new Error(`A type cannot be aliased to a Primitive type, here "${e}" is being aliased as "${t}".`);return{$class:"concerto.metamodel@1.0.0.AliasedType",name:e,aliasedName:t}},uo=function(e,t){return[e,...t.map((e=>e[2]))]},po=function(e){return e.value},mo=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.Model",decorators:pi(t),namespace:r,imports:pi(n),declarations:pi(a)};return e&&(o.concertoVersion=e),o},ho=function(e,t){return ui(e,t,1)},fo=function(e,t){return ui(e,t,1)},go=0|r.peg$currPos,yo=go,vo=[{line:1,column:1}],$o=go,Ao=r.peg$maxFailExpected||[],bo=0|r.peg$silentFails;if(r.startRule){if(!(r.startRule in s))throw new Error("Can't start parsing from rule \""+r.startRule+'".');i=s[r.startRule]}function Co(){return e.substring(yo,go)}function To(){return Io(yo,go)}function wo(e,t){return{type:"literal",text:e,ignoreCase:t}}function Do(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function Fo(e){return{type:"other",description:e}}function Eo(t){var r,n=vo[t];if(n)return n;if(t>=vo.length)r=vo.length-1;else for(r=t;!vo[--r];);for(n={line:(n=vo[r]).line,column:n.column};r<t;)10===e.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return vo[t]=n,n}function Io(e,t,r){var n=Eo(e),a=Eo(t),s={source:o,start:{offset:e,line:n.line,column:n.column},end:{offset:t,line:a.line,column:a.column}};return r&&o&&"function"==typeof o.offset&&(s.start=o.offset(s.start),s.end=o.offset(s.end)),s}function Mo(e){go<$o||(go>$o&&($o=go,Ao=[]),Ao.push(e))}function So(){var t,r;return t=go,ss(),r=function(){var t,r,n,o,s,i;return t=go,r=function(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,8)===J?(r=J,go+=8):(r=a,0===bo&&Mo(Er)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,7)===K?(r=K,go+=7):(r=a,0===bo&&Mo(Ir)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=Go())!==a?(ss(),yo=t,t=po(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r===a&&(r=null),n=Us(),o=function(){var t,r,n;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,9)===Y?(r=Y,go+=9):(r=a,0===bo&&Mo(Mr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),(n=ai())!==a?(ss(),yo=t,t=ao(n)):(go=t,t=a)):(go=t,t=a),t}(),o!==a?(s=function(){var e,t,r,n,o,s;if(e=go,(t=ii())!==a){for(r=[],n=go,o=ss(),(s=ii())!==a?n=o=[o,s]:(go=n,n=a);n!==a;)r.push(n),n=go,o=ss(),(s=ii())!==a?n=o=[o,s]:(go=n,n=a);yo=e,e=ho(t,r)}else go=e,e=a;return e}(),s===a&&(s=null),i=function(){var e,t,r,n,o,s;if(e=go,(t=ci())!==a){for(r=[],n=go,o=ss(),(s=ci())!==a?n=o=[o,s]:(go=n,n=a);n!==a;)r.push(n),n=go,o=ss(),(s=ci())!==a?n=o=[o,s]:(go=n,n=a);yo=e,e=fo(t,r)}else go=e,e=a;return e}(),i===a&&(i=null),yo=t,t=mo(r,n,o,s,i)):(go=t,t=a),t}(),r!==a?(ss(),yo=t,t=ln(r)):(go=t,t=a),t}function No(){var t;return e.length>go?(t=e.charAt(go),go++):(t=a,0===bo&&Mo(at)),t}function Oo(){var t;return bo++,t=e.charAt(go),Se.test(t)?go++:(t=a,0===bo&&Mo(st)),bo--,t===a&&0===bo&&Mo(ot),t}function xo(){var t;return t=e.charAt(go),Ne.test(t)?go++:(t=a,0===bo&&Mo(it)),t}function Po(){var t;return bo++,10===e.charCodeAt(go)?(t=c,go++):(t=a,0===bo&&Mo(lt)),t===a&&(e.substr(go,2)===l?(t=l,go+=2):(t=a,0===bo&&Mo(ut)),t===a&&(t=e.charAt(go),Oe.test(t)?go++:(t=a,0===bo&&Mo(pt)))),bo--,t===a&&0===bo&&Mo(ct),t}function Lo(){var t;return bo++,(t=function(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===u?(r=u,go+=2):(r=a,0===bo&&Mo(mt)),r!==a){for(n=[],o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);e.substr(go,2)===p?(o=p,go+=2):(o=a,0===bo&&Mo(ht)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}())===a&&(t=function(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===d?(r=d,go+=2):(r=a,0===bo&&Mo(ft)),r!==a){for(n=[],o=go,s=go,bo++,i=xo(),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,i=xo(),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);t=r=[r,n]}else go=t,t=a;return t}()),bo--,t===a&&0===bo&&Mo(dt),t}function Ro(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===u?(r=u,go+=2):(r=a,0===bo&&Mo(mt)),r!==a){for(n=[],o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),i===a&&(i=xo()),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),i===a&&(i=xo()),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);e.substr(go,2)===p?(o=p,go+=2):(o=a,0===bo&&Mo(ht)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}function ko(){var e,t;return e=go,t=function(){var e,t,r,n;if(bo++,e=go,(t=_o())!==a){for(r=[],n=Vo();n!==a;)r.push(n),n=Vo();yo=e,e=pn(t,r)}else go=e,e=a;return bo--,e===a&&(t=a,0===bo&&Mo(gt)),e}(),t!==a&&(yo=e,t=un(t)),t}function _o(){var t,r,n;return t=e.charAt(go),xe.test(t)?go++:(t=a,0===bo&&Mo(yt)),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Zo())!==a?(yo=t,t=dn(n)):(go=t,t=a)),t}function Vo(){var t;return(t=_o())===a&&(t=e.charAt(go),Pe.test(t)?go++:(t=a,0===bo&&Mo($t))),t}function Bo(){var t,r;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,4)===L?(r=L,go+=4):(r=a,0===bo&&Mo(tr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a&&(yo=t,r=mn()),(t=r)===a&&(t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,5)===x?(r=x,go+=5):(r=a,0===bo&&Mo(Zt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a&&(yo=t,r=hn()),t=r),t}function jo(){var t,r,n,o,s;if(t=go,r=e.charAt(go),Le.test(r)?go++:(r=a,0===bo&&Mo(Ct)),r===a&&(r=null),Uo()!==a)if(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a){for(o=[],s=Qo();s!==a;)o.push(s),s=Qo();(s=zo())===a&&(s=null),yo=t,t=An()}else go=t,t=a;else go=t,t=a;return t}function Uo(){var t,r,n,o;if(48===e.charCodeAt(go)?(t=f,go++):(t=a,0===bo&&Mo(Tt)),t===a)if(t=go,r=function(){var t;return t=e.charAt(go),ke.test(t)?go++:(t=a,0===bo&&Mo(Dt)),t}(),r!==a){for(n=[],o=Qo();o!==a;)n.push(o),o=Qo();t=r=[r,n]}else go=t,t=a;return t}function Qo(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function zo(){var t,r,n;return t=go,r=function(){var t;return(t=e.charAt(go)).toLowerCase()===g?go++:(t=a,0===bo&&Mo(Ft)),t}(),r!==a&&(n=Ho())!==a?t=r=[r,n]:(go=t,t=a),t}function Ho(){var t,r,n,o;if(t=go,r=e.charAt(go),Le.test(r)?go++:(r=a,0===bo&&Mo(Ct)),r===a&&(r=null),n=[],(o=Qo())!==a)for(;o!==a;)n.push(o),o=Qo();else n=a;return n!==a?t=r=[r,n]:(go=t,t=a),t}function Wo(){var t;return t=e.charAt(go),_e.test(t)?go++:(t=a,0===bo&&Mo(It)),t}function Go(){var t,r,n,o;if(bo++,t=go,34===e.charCodeAt(go)?(r=v,go++):(r=a,0===bo&&Mo(St)),r!==a){for(n=[],o=qo();o!==a;)n.push(o),o=qo();34===e.charCodeAt(go)?(o=v,go++):(o=a,0===bo&&Mo(St)),o!==a?(yo=t,t=Cn(n)):(go=t,t=a)}else go=t,t=a;if(t===a)if(t=go,39===e.charCodeAt(go)?(r=$,go++):(r=a,0===bo&&Mo(Nt)),r!==a){for(n=[],o=Jo();o!==a;)n.push(o),o=Jo();39===e.charCodeAt(go)?(o=$,go++):(o=a,0===bo&&Mo(Nt)),o!==a?(yo=t,t=Tn(n)):(go=t,t=a)}else go=t,t=a;return bo--,t===a&&(r=a,0===bo&&Mo(Mt)),t}function qo(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Ve.test(n)?go++:(n=a,0===bo&&Mo(Ot)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=No())!==a?(yo=t,t=wn()):(go=t,t=a),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Yo())!==a?(yo=t,t=Dn(n)):(go=t,t=a),t===a&&(t=Ko())),t}function Jo(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Be.test(n)?go++:(n=a,0===bo&&Mo(xt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=No())!==a?(yo=t,t=Fn()):(go=t,t=a),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Yo())!==a?(yo=t,t=En(n)):(go=t,t=a),t===a&&(t=Ko())),t}function Ko(){var t,r;return t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&Po()!==a?(yo=t,t=In()):(go=t,t=a),t}function Yo(){var t,r,n,o;return t=function(){var t;return(t=Xo())===a&&(t=function(){var t,r,n;return t=go,r=go,bo++,n=function(){var t;return(t=Xo())===a&&(t=e.charAt(go),Ue.test(t)?go++:(t=a,0===bo&&Mo(jt))),t}(),n===a&&(n=xo()),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=No())!==a?(yo=t,t=Rn()):(go=t,t=a),t}()),t}(),t===a&&(t=go,48===e.charCodeAt(go)?(r=f,go++):(r=a,0===bo&&Mo(Tt)),r!==a?(n=go,bo++,o=Qo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Mn()):(go=t,t=a)):(go=t,t=a),t===a&&(t=function(){var t,r,n,o,s,i;return t=go,120===e.charCodeAt(go)?(r=F,go++):(r=a,0===bo&&Mo(Ut)),r!==a?(n=go,o=go,(s=Wo())!==a&&(i=Wo())!==a?o=s=[s,i]:(go=o,o=a),(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=kn(n)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=Zo()))),t}function Xo(){var t,r;return t=e.charAt(go),je.test(t)?go++:(t=a,0===bo&&Mo(Pt)),t===a&&(t=go,98===e.charCodeAt(go)?(r=A,go++):(r=a,0===bo&&Mo(Lt)),r!==a&&(yo=t,r=Sn()),(t=r)===a&&(t=go,102===e.charCodeAt(go)?(r=b,go++):(r=a,0===bo&&Mo(Rt)),r!==a&&(yo=t,r=Nn()),(t=r)===a&&(t=go,110===e.charCodeAt(go)?(r=C,go++):(r=a,0===bo&&Mo(kt)),r!==a&&(yo=t,r=On()),(t=r)===a&&(t=go,114===e.charCodeAt(go)?(r=T,go++):(r=a,0===bo&&Mo(_t)),r!==a&&(yo=t,r=xn()),(t=r)===a&&(t=go,116===e.charCodeAt(go)?(r=w,go++):(r=a,0===bo&&Mo(Vt)),r!==a&&(yo=t,r=Pn()),(t=r)===a&&(t=go,118===e.charCodeAt(go)?(r=D,go++):(r=a,0===bo&&Mo(Bt)),r!==a&&(yo=t,r=Ln()),t=r)))))),t}function Zo(){var t,r,n,o,s,i,c,l;return t=go,117===e.charCodeAt(go)?(r=E,go++):(r=a,0===bo&&Mo(Qt)),r!==a?(n=go,o=go,(s=Wo())!==a&&(i=Wo())!==a&&(c=Wo())!==a&&(l=Wo())!==a?o=s=[s,i,c,l]:(go=o,o=a),(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=_n(n)):(go=t,t=a)):(go=t,t=a),t}function es(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),ze.test(n)?go++:(n=a,0===bo&&Mo(Gt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts())===a&&(t=ns()),t}function ts(){var t,r,n;return t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t}function rs(){var e,t,r;return e=go,t=go,bo++,r=xo(),bo--,r===a?t=void 0:(go=t,t=a),t!==a&&(r=No())!==a?e=t=[t,r]:(go=e,e=a),e}function ns(){var t,r,n,o;if(t=go,91===e.charCodeAt(go)?(r=M,go++):(r=a,0===bo&&Mo(qt)),r!==a){for(n=[],o=as();o!==a;)n.push(o),o=as();93===e.charCodeAt(go)?(o=S,go++):(o=a,0===bo&&Mo(Jt)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}function as(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),He.test(n)?go++:(n=a,0===bo&&Mo(Kt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts()),t}function os(){var t,r,n,o;return t=go,e.substr(go,6)===P?(r=P,go+=6):(r=a,0===bo&&Mo(er)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function ss(){var e,t;for(e=[],(t=Oo())===a&&(t=Po())===a&&(t=Lo());t!==a;)e.push(t),(t=Oo())===a&&(t=Po())===a&&(t=Lo());return e}function is(){var e,t;for(e=[],(t=Oo())===a&&(t=Ro());t!==a;)e.push(t),(t=Oo())===a&&(t=Ro());return e}function cs(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function ls(){var t;return(t=cs())===a&&(t=e.charAt(go),Ge.test(t)?go++:(t=a,0===bo&&Mo(or))),t}function us(){var t,r,n,o,s;return t=go,r=go,37===e.charCodeAt(go)?(n=_,go++):(n=a,0===bo&&Mo(sr)),n!==a&&(o=ls())!==a&&(s=ls())!==a?r=n=[n,o,s]:(go=r,r=a),r!==a?e.substring(t,go):r}function ps(){var t;return t=e.charAt(go),qe.test(t)?go++:(t=a,0===bo&&Mo(ir)),t}function ds(){var t,r,n,o;return t=go,(r=hs())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a&&(o=hs())!==a?t=r=[r,n,o]:(go=t,t=a)):(go=t,t=a),t===a&&(t=fs()),t}function ms(){var t,r,n;return t=go,(r=hs())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function hs(){var t,r,n,o,s,i,c,l;return t=go,r=go,(n=ls())!==a?(o=go,(s=ls())!==a?(i=go,(c=ls())!==a?((l=ls())===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),r=n=[n,o]):(go=r,r=a),r!==a?e.substring(t,go):r}function fs(){var t,r,n,o,s,i,c,l,u;return t=go,r=go,(n=gs())!==a?(46===e.charCodeAt(go)?(o=h,go++):(o=a,0===bo&&Mo(bt)),o!==a&&(s=gs())!==a?(46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=gs())!==a?(46===e.charCodeAt(go)?(l=h,go++):(l=a,0===bo&&Mo(bt)),l!==a&&(u=gs())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a)):(go=r,r=a)):(go=r,r=a)):(go=r,r=a),r!==a?e.substring(t,go):r}function gs(){var t,r,n,o,s;return t=go,r=go,e.substr(go,2)===z?(n=z,go+=2):(n=a,0===bo&&Mo(gr)),n!==a?(o=e.charAt(go),Xe.test(o)?go++:(o=a,0===bo&&Mo(yr)),o!==a?r=n=[n,o]:(go=r,r=a)):(go=r,r=a),r===a&&(r=go,50===e.charCodeAt(go)?(n=H,go++):(n=a,0===bo&&Mo(vr)),n!==a?(o=e.charAt(go),Ze.test(o)?go++:(o=a,0===bo&&Mo($r)),o!==a&&(s=cs())!==a?r=n=[n,o,s]:(go=r,r=a)):(go=r,r=a),r===a&&(r=go,49===e.charCodeAt(go)?(n=W,go++):(n=a,0===bo&&Mo(Ar)),n!==a&&(o=cs())!==a&&(s=cs())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=e.charAt(go),ke.test(n)?go++:(n=a,0===bo&&Mo(Dt)),n!==a&&(o=cs())!==a?r=n=[n,o]:(go=r,r=a),r===a&&(r=cs())))),r!==a?e.substring(t,go):r}function ys(){var e;return(e=ps())===a&&(e=us()),e}function vs(){var t,r,n,o;for(t=go,r=[],n=go,47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?n=o=[o,$s()]:(go=n,n=a);n!==a;)r.push(n),n=go,47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?n=o=[o,$s()]:(go=n,n=a);return e.substring(t,go)}function $s(){var t,r,n;for(t=go,r=[],n=bs();n!==a;)r.push(n),n=bs();return e.substring(t,go)}function As(){var t,r,n;if(t=go,r=[],(n=bs())!==a)for(;n!==a;)r.push(n),n=bs();else r=a;return r!==a?e.substring(t,go):r}function bs(){var t;return(t=ps())===a&&(t=us())===a&&(t=e.charAt(go),et.test(t)?go++:(t=a,0===bo&&Mo(br))),t}function Cs(){var t,r,n;for(t=go,r=[],(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Cr)));n!==a;)r.push(n),(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Cr)));return e.substring(t,go)}function Ts(){var t,r,n;for(t=go,r=[],(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Cr)));n!==a;)r.push(n),(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Cr)));return e.substring(t,go)}function ws(){var t,r,n,o,s,i;return t=go,r=function(){var t,r,n,o,s,i,c;return t=go,r=go,(r=(n=Is())!==a?e.substring(r,go):n)!==a?(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a?(o=go,(o=(s=Is())!==a?e.substring(o,go):s)!==a?(46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Is())!==a?e.substring(i,go):c)!==a?(yo=t,t=jn(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r!==a?(n=go,45===e.charCodeAt(go)?(o=G,go++):(o=a,0===bo&&Mo(Tr)),o!==a?(s=function(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=Ds())!==a?e.substring(r,go):n)!==a){for(n=[],o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Ds())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Ds())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);yo=t,t=Un(r,n)}else go=t,t=a;return t}(),s!==a?n=s:(go=n,n=a)):(go=n,n=a),n===a&&(n=null),o=go,43===e.charCodeAt(go)?(s=q,go++):(s=a,0===bo&&Mo(wr)),s!==a?(i=function(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=Fs())!==a?e.substring(r,go):n)!==a){for(n=[],o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Fs())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Fs())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);yo=t,t=Qn(r,n)}else go=t,t=a;return t}(),i!==a?o=i:(go=o,o=a)):(go=o,o=a),o===a&&(o=null),yo=t,t=Bn(r,n,o)):(go=t,t=a),t}function Ds(){var e;return(e=Es())===a&&(e=Is()),e}function Fs(){var e,t;if((e=Es())===a)if(e=[],(t=Ss())!==a)for(;t!==a;)e.push(t),t=Ss();else e=a;return e}function Es(){var t,r,n,o,s;for(t=go,r=[],n=Ss();n!==a;)r.push(n),n=Ss();if(n=function(){var t;return t=e.charAt(go),nt.test(t)?go++:(t=a,0===bo&&Mo(Fr)),t}(),n!==a){for(o=[],s=Ms();s!==a;)o.push(s),s=Ms();t=r=[r,n,o]}else go=t,t=a;return t}function Is(){var t,r,n,o;if(48===e.charCodeAt(go)?(t=f,go++):(t=a,0===bo&&Mo(Tt)),t===a)if(t=go,r=function(){var t;return t=e.charAt(go),ke.test(t)?go++:(t=a,0===bo&&Mo(Dt)),t}(),r!==a){for(n=[],o=Ss();o!==a;)n.push(o),o=Ss();t=r=[r,n]}else go=t,t=a;return t}function Ms(){var t;return t=e.charAt(go),rt.test(t)?go++:(t=a,0===bo&&Mo(Dr)),t}function Ss(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function Ns(){var t,r,n,o;return t=go,e.substr(go,8)===X?(r=X,go+=8):(r=a,0===bo&&Mo(Sr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function Os(){var t,r,n,o;return t=go,e.substr(go,7)===ie?(r=ie,go+=7):(r=a,0===bo&&Mo(Vr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=zn()):(go=t,t=a)):(go=t,t=a),t}function xs(){var t,r,n,o;return t=go,e.substr(go,6)===ce?(r=ce,go+=6):(r=a,0===bo&&Mo(Br)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Hn()):(go=t,t=a)):(go=t,t=a),t}function Ps(){var t,r,n,o;return t=go,e.substr(go,4)===le?(r=le,go+=4):(r=a,0===bo&&Mo(jr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Wn()):(go=t,t=a)):(go=t,t=a),t}function Ls(){var t,r,n,o;return t=go,e.substr(go,6)===ue?(r=ue,go+=6):(r=a,0===bo&&Mo(Ur)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Gn()):(go=t,t=a)):(go=t,t=a),t}function Rs(){var t,r,n,o;return t=go,e.substr(go,8)===pe?(r=pe,go+=8):(r=a,0===bo&&Mo(Qr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=qn()):(go=t,t=a)):(go=t,t=a),t}function ks(){var t,r,n,o;return t=go,e.substr(go,7)===de?(r=de,go+=7):(r=a,0===bo&&Mo(zr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Jn()):(go=t,t=a)):(go=t,t=a),t}function _s(){var e,t,r,n,o;return e=go,t=go,bo++,r=function(){var e;return(e=Ls())===a&&(e=function(){var e;return(e=Os())===a&&(e=xs())===a&&(e=Ps()),e}())===a&&(e=Rs())===a&&(e=ks()),e}(),bo--,r===a?t=void 0:(go=t,t=a),t!==a&&(r=ko())!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=e,e=Kn(r)):(go=e,e=a)):(go=e,e=a),e}function Vs(){var t;return(t=function(){var t,r,n;return t=go,e.substr(go,13)===me?(r=me,go+=13):(r=a,0===bo&&Mo(Hr)),r!==a?(ss(),(n=ko())!==a?(yo=t,t=Xn(n)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r;return t=go,e.substr(go,10)===he?(r=he,go+=10):(r=a,0===bo&&Mo(Wr)),r!==a&&(yo=t,r=Zn()),r}()),t}function Bs(){var t;return(t=function(){var e,t;return e=go,(t=Go())!==a&&(yo=e,t=ea(t)),t}())===a&&(t=function(){var t,r,n;return t=go,r=go,(r=(n=Bo())!==a?e.substring(r,go):n)!==a&&(yo=t,r=ra(r)),r}())===a&&(t=function(){var t,r;return t=go,r=function(){var t,r,n,o;return t=go,r=go,45===e.charCodeAt(go)?(n=G,go++):(n=a,0===bo&&Mo(Tr)),n===a&&(n=null),r=e.substring(r,go),n=go,(n=(o=function(){var t,r,n,o;return bo++,t=go,r=function(){var t,r,n,o,s;if(t=go,(r=e.substr(go,2)).toLowerCase()===y?go+=2:(r=a,0===bo&&Mo(Et)),r!==a){if(n=go,o=[],(s=Wo())!==a)for(;s!==a;)o.push(s),s=Wo();else o=a;(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=bn(n)):(go=t,t=a)}else go=t,t=a;return t}(),r!==a?(n=go,bo++,(o=_o())===a&&(o=Qo()),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=fn(r)):(go=t,t=a)):(go=t,t=a),t===a&&(t=go,r=function(){var t,r,n,o,s;if(t=go,(r=Uo())!==a)if(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a){for(o=[],s=Qo();s!==a;)o.push(s),s=Qo();(s=zo())===a&&(s=null),yo=t,t=yn()}else go=t,t=a;else go=t,t=a;if(t===a){if(t=go,46===e.charCodeAt(go)?(r=h,go++):(r=a,0===bo&&Mo(bt)),r!==a){if(n=[],(o=Qo())!==a)for(;o!==a;)n.push(o),o=Qo();else n=a;n!==a?((o=zo())===a&&(o=null),yo=t,t=vn()):(go=t,t=a)}else go=t,t=a;t===a&&(t=go,(r=Uo())!==a?((n=zo())===a&&(n=null),yo=t,t=$n()):(go=t,t=a))}return t}(),r!==a?(n=go,bo++,(o=_o())===a&&(o=Qo()),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=gn(r)):(go=t,t=a)):(go=t,t=a)),bo--,t===a&&(r=a,0===bo&&Mo(At)),t}())!==a?e.substring(n,go):o)!==a?(yo=t,t=Yn(r,n)):(go=t,t=a),t}(),r!==a&&(yo=t,r=ta(r)),r}())===a&&(t=function(){var t,r,n;return t=go,(r=ko())!==a?(ss(),e.substr(go,2)===fe?(n=fe,go+=2):(n=a,0===bo&&Mo(Gr)),n===a&&(n=null),yo=t,t=na(r,n)):(go=t,t=a),t}()),t}function js(){var t,r,n,o;return t=go,64===e.charCodeAt(go)?(r=U,go++):(r=a,0===bo&&Mo(dr)),r!==a?(n=go,(n=(o=ko())!==a?e.substring(n,go):o)!==a?(o=function(){var t,r,n,o,s,i,c;if(t=go,40===e.charCodeAt(go)?(r=ge,go++):(r=a,0===bo&&Mo(qr)),r!==a){for(ss(),n=[],o=go,(s=Bs())!==a?(i=ss(),44===e.charCodeAt(go)?(c=ye,go++):(c=a,0===bo&&Mo(Jr)),c!==a?(ss(),yo=o,o=aa(s)):(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,(s=Bs())!==a?(i=ss(),44===e.charCodeAt(go)?(c=ye,go++):(c=a,0===bo&&Mo(Jr)),c!==a?(ss(),yo=o,o=aa(s)):(go=o,o=a)):(go=o,o=a);(o=Bs())===a&&(o=null),s=ss(),41===e.charCodeAt(go)?(i=ve,go++):(i=a,0===bo&&Mo(Kr)),i!==a?(yo=t,t=oa(n,o)):(go=t,t=a)}else go=t,t=a;return t}(),o===a&&(o=null),yo=t,t=sa(n,o)):(go=t,t=a)):(go=t,t=a),t}function Us(){var e,t,r;for(e=[],t=go,(r=js())!==a?(ss(),yo=t,t=ia(r)):(go=t,t=a);t!==a;)e.push(t),t=go,(r=js())!==a?(ss(),yo=t,t=ia(r)):(go=t,t=a);return e}function Qs(){var t,r,n;return t=go,e.substr(go,7)===$e?(r=$e,go+=7):(r=a,0===bo&&Mo(Yr)),r!==a?(ss(),(n=ko())!==a?(yo=t,t=ca(n)):(go=t,t=a)):(go=t,t=a),t}function zs(){var t,r;return t=go,e.substr(go,8)===be?(r=be,go+=8):(r=a,0===bo&&Mo(Zr)),r!==a&&(yo=t,r=ba()),r}function Hs(){var t,r,n,o;return t=go,e.substr(go,7)===Ce?(r=Ce,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),(o=Go())!==a?(yo=t,t=Ca(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Ws(){var t,r,n,o,s;return t=go,e.substr(go,7)===Ce?(r=Ce,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=Bo())!==a?e.substring(o,go):s)!==a?(yo=t,t=Ta(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Gs(){var t,r,n,o,s;return t=go,e.substr(go,7)===Ce?(r=Ce,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=Ho())!==a?e.substring(o,go):s)!==a?(yo=t,t=wa(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function qs(){var t,r,n,o,s;return t=go,e.substr(go,7)===Ce?(r=Ce,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=jo())!==a?e.substring(o,go):s)!==a?(yo=t,t=Da(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Js(){var t;return(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=ko())!==a?(ss(),(i=Hs())===a&&(i=null),ss(),(c=Ys())===a&&(c=null),ss(),(l=Xs())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=Sa(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=xs())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=qs())===a&&(c=null),ss(),(l=Zs())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=Ra(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),ks()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=ko())!==a?(ss(),(i=Ws())===a&&(i=null),ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=Ia(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=ko())!==a?(ss(),(i=Hs())===a&&(i=null),ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=Ma(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),e.substr(go,3)===Ie?(n=Ie,go+=3):(n=a,0===bo&&Mo(sn)),n!==a?(ss(),(o=ko())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=eo(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=_s())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=Hs())===a&&(c=null),ss(),(l=zs())===a&&(l=null),ss(),yo=t,t=Ea(r,o,s,i,c,l)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=Os())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=Gs())===a&&(c=null),ss(),(l=ei())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=ka(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=Ps())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=Gs())===a&&(c=null),ss(),(l=ti())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=_a(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}()),t}function Ks(){var e,t,r;for(e=go,t=[],r=Js();r!==a;)t.push(r),r=Js();return yo=e,Fa(t)}function Ys(){var t,r,n,o;return t=go,e.substr(go,5)===De?(r=De,go+=5):(r=a,0===bo&&Mo(nn)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),(o=function(){var t,r,n,o,s;return bo++,t=go,47===e.charCodeAt(go)?(r=I,go++):(r=a,0===bo&&Mo(Ht)),r!==a?(n=go,o=function(){var t,r,n,o;if(t=go,r=function(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Qe.test(n)?go++:(n=a,0===bo&&Mo(Wt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts())===a&&(t=ns()),t}(),r!==a){for(n=[],o=es();o!==a;)n.push(o),o=es();t=r=[r,n]}else go=t,t=a;return t}(),(n=o!==a?e.substring(n,go):o)!==a?(47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?(s=go,function(){var e,t;for(e=[],t=Vo();t!==a;)e.push(t),t=Vo()}(),s=e.substring(s,go),yo=t,t=Vn(n,s)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),bo--,t===a&&(r=a,0===bo&&Mo(zt)),t}())!==a?(yo=t,t=Na(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Xs(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,6)===Fe?(r=Fe,go+=6):(r=a,0===bo&&Mo(an)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=S,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=Oa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Zs(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,jo(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,jo(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=S,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=xa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ei(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=S,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=Pa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ti(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=S,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=La(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ri(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=ko())!==a?(ss(),yo=t,t=Za(r,o)):(go=t,t=a)):(go=t,t=a),t}function ni(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=ko())!==a?e.substring(r,go):n)!==a){for(n=go,o=[],s=go,46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=ko())!==a?s=i=[i,c]:(go=s,s=a);s!==a;)o.push(s),s=go,46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=ko())!==a?s=i=[i,c]:(go=s,s=a);n=e.substring(n,go),yo=t,t=to(r,n)}else go=t,t=a;return t}function ai(){var t;return(t=function(){var t,r,n,o,s;return t=go,(r=ni())!==a?(64===e.charCodeAt(go)?(n=U,go++):(n=a,0===bo&&Mo(dr)),n!==a?(o=go,(o=(s=ws())!==a?e.substring(o,go):s)!==a?(yo=t,t=no(r,o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=ni()),t}function oi(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,4)===oe?(r=oe,go+=4):(r=a,0===bo&&Mo(kr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),n=go,(n=(o=function(){var t,r,n,o,s,i,c;return t=go,(r=function(){var t,r,n,o,s;if(t=go,r=go,n=function(){var t;return t=e.charAt(go),We.test(t)?go++:(t=a,0===bo&&Mo(ar)),t}(),n!==a){for(o=[],s=e.charAt(go),Je.test(s)?go++:(s=a,0===bo&&Mo(pr));s!==a;)o.push(s),s=e.charAt(go),Je.test(s)?go++:(s=a,0===bo&&Mo(pr));r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a&&(o=function(){var t,r,n;return t=go,e.substr(go,2)===d?(r=d,go+=2):(r=a,0===bo&&Mo(ft)),r!==a&&(n=function(){var t,r,n,o,s,i;return t=go,r=go,n=function(){var t,r,n;for(t=go,r=[],(n=ps())===a&&(n=us())===a&&(n=e.charAt(go),Ke.test(n)?go++:(n=a,0===bo&&Mo(mr)));n!==a;)r.push(n),(n=ps())===a&&(n=us())===a&&(n=e.charAt(go),Ke.test(n)?go++:(n=a,0===bo&&Mo(mr)));return e.substring(t,go)}(),64===e.charCodeAt(go)?(o=U,go++):(o=a,0===bo&&Mo(dr)),o!==a?r=n=[n,o]:(go=r,r=a),r===a&&(r=null),n=function(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,91===e.charCodeAt(go)?(r=M,go++):(r=a,0===bo&&Mo(qt)),r!==a?(n=function(){var t,r,n,o,s,i,c,l,u,p,d,m,h,f;return t=go,r=go,(n=ms())!==a&&(o=ms())!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,e.substr(go,2)===Q?(n=Q,go+=2):(n=a,0===bo&&Mo(fr)),n!==a&&(o=ms())!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,(n=hs())===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,n=go,(o=ms())===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ds())!==a?r=n=[n,o,s,i,c,l]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?((i=ms())===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ds())!==a?r=n=[n,o,s,i,c]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?((l=ms())===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ds())!==a?r=n=[n,o,s,i]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?((p=ms())===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ds())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?(p=go,(d=ms())!==a?((m=ms())===a&&(m=null),p=d=[d,m]):(go=p,p=a),p===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=hs())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?(p=go,(d=ms())!==a?(m=go,(h=ms())!==a?((f=ms())===a&&(f=null),m=h=[h,f]):(go=m,m=a),m===a&&(m=null),p=d=[d,m]):(go=p,p=a),p===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a?r=n=[n,o]:(go=r,r=a))))))))),r!==a?e.substring(t,go):r}(),n===a&&(n=function(){var t,r,n,o,s,i,c;if(t=go,118===e.charCodeAt(go)?(r=D,go++):(r=a,0===bo&&Mo(Bt)),r!==a){if(n=go,o=[],(s=ls())!==a)for(;s!==a;)o.push(s),s=ls();else o=a;if((n=o!==a?e.substring(n,go):o)!==a)if(46===e.charCodeAt(go)?(o=h,go++):(o=a,0===bo&&Mo(bt)),o!==a){if(s=go,i=[],c=e.charAt(go),Ye.test(c)?go++:(c=a,0===bo&&Mo(hr)),c!==a)for(;c!==a;)i.push(c),c=e.charAt(go),Ye.test(c)?go++:(c=a,0===bo&&Mo(hr));else i=a;(s=i!==a?e.substring(s,go):i)!==a?t=r=[r,n,o,s]:(go=t,t=a)}else go=t,t=a;else go=t,t=a}else go=t,t=a;return t}()),n!==a?(93===e.charCodeAt(go)?(o=S,go++):(o=a,0===bo&&Mo(Jt)),o!==a?t=r=[r,n,o]:(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r!==a?(n=go,bo++,o=ys(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t===a&&(t=go,(r=fs())!==a?(n=go,bo++,o=ys(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t===a&&(t=function(){var t,r,n;for(t=go,r=[],n=ys();n!==a;)r.push(n),n=ys();return e.substring(t,go)}())),t}(),n!==a?(o=go,58===e.charCodeAt(go)?(s=V,go++):(s=a,0===bo&&Mo(cr)),s!==a?(i=function(){var t,r,n;for(t=go,r=[],n=cs();n!==a;)r.push(n),n=cs();return e.substring(t,go)}(),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),t=r=[r,n,o]):(go=t,t=a),t}())!==a?t=r=[r,n,vs()]:(go=t,t=a),t===a&&(t=function(){var t,r,n,o,s,i,c,l;if(t=go,r=go,47===e.charCodeAt(go)?(n=I,go++):(n=a,0===bo&&Mo(Ht)),n!==a){if(o=go,(s=As())!==a){for(i=[],c=go,47===e.charCodeAt(go)?(l=I,go++):(l=a,0===bo&&Mo(Ht)),l!==a?c=l=[l,$s()]:(go=c,c=a);c!==a;)i.push(c),c=go,47===e.charCodeAt(go)?(l=I,go++):(l=a,0===bo&&Mo(Ht)),l!==a?c=l=[l,$s()]:(go=c,c=a);o=s=[s,i]}else go=o,o=a;o===a&&(o=null),r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}())===a&&(t=function(){var t,r,n,o,s,i;if(t=go,r=go,(n=As())!==a){for(o=[],s=go,47===e.charCodeAt(go)?(i=I,go++):(i=a,0===bo&&Mo(Ht)),i!==a?s=i=[i,$s()]:(go=s,s=a);s!==a;)o.push(s),s=go,47===e.charCodeAt(go)?(i=I,go++):(i=a,0===bo&&Mo(Ht)),i!==a?s=i=[i,$s()]:(go=s,s=a);r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}(),t===a&&(t="")),t}())!==a?(s=go,63===e.charCodeAt(go)?(i=B,go++):(i=a,0===bo&&Mo(lr)),i!==a?s=i=[i,c=Cs()]:(go=s,s=a),s===a&&(s=null),i=go,35===e.charCodeAt(go)?(c=j,go++):(c=a,0===bo&&Mo(ur)),c!==a?i=c=[c,Ts()]:(go=i,i=a),i===a&&(i=null),t=r=[r,n,o,s,i]):(go=t,t=a)):(go=t,t=a),t}())!==a?e.substring(n,go):o)!==a?(o=ss(),yo=t,t=oo(n)):(go=t,t=a)):(go=t,t=a),t}function si(){var t,r;return(t=function(){var t,r,n,o,s,i,c;return t=go,r=go,(r=(n=ko())!==a?e.substring(r,go):n)!==a?(n=is(),o=go,s=function(){var t,r,n,o;return t=go,e.substr(go,2)===R?(r=R,go+=2):(r=a,0===bo&&Mo(rr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),(o=s!==a?e.substring(o,go):s)!==a?(s=is(),i=go,(i=(c=ko())!==a?e.substring(i,go):c)!==a?(yo=t,t=lo(r,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=go,t=(r=ko())!==a?e.substring(t,go):r),t}function ii(){var t;return(t=function(){var t,r,n,o,s,i;return t=go,os()!==a?(ss(),(r=ai())!==a?(e.substr(go,2)===Me?(n=Me,go+=2):(n=a,0===bo&&Mo(cn)),n!==a?(is(),o=function(){var t,r,n,o,s,i,c;if(t=go,(r=si())!==a){for(is(),n=[],o=go,44===e.charCodeAt(go)?(s=ye,go++):(s=a,0===bo&&Mo(Jr)),s!==a?(i=is(),(c=si())!==a?o=s=[s,i,c]:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,44===e.charCodeAt(go)?(s=ye,go++):(s=a,0===bo&&Mo(Jr)),s!==a?(i=is(),(c=si())!==a?o=s=[s,i,c]:(go=o,o=a)):(go=o,o=a);yo=t,t=uo(r,n)}else go=t,t=a;return t}(),o!==a?(is(),125===e.charCodeAt(go)?(s=k,go++):(s=a,0===bo&&Mo(nr)),s!==a?(ss(),(i=oi())===a&&(i=null),yo=t,t=co(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s;return t=go,os()!==a?(ss(),(r=ai())!==a?(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a?(o=function(){var t,r,n,o;return t=go,42===e.charCodeAt(go)?(r=se,go++):(r=a,0===bo&&Mo(_r)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=oi())===a&&(s=null),yo=t,t=so(r,s)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n;return t=go,os()!==a?(ss(),(r=function(){var t;return(t=function(){var t,r,n,o,s,i,c;return t=go,(r=ni())!==a?(64===e.charCodeAt(go)?(n=U,go++):(n=a,0===bo&&Mo(dr)),n!==a?(o=go,(o=(s=ws())!==a?e.substring(o,go):s)!==a?(46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=ko())!==a?e.substring(i,go):c)!==a?(yo=t,t=ro(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=ni()),t}())!==a?(ss(),(n=oi())===a&&(n=null),yo=t,t=io(r,n)):(go=t,t=a)):(go=t,t=a),t}()),t}function ci(){var t;return(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,5)===ee?(r=ee,go+=5):(r=a,0===bo&&Mo(Or)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=la(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,11)===te?(r=te,go+=11):(r=a,0===bo&&Mo(xr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=pa(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,5)===re?(r=re,go+=5):(r=a,0===bo&&Mo(Pr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=da(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,11)===ne?(r=ne,go+=11):(r=a,0===bo&&Mo(Lr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=ua(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,4)===N?(r=N,go+=4):(r=a,0===bo&&Mo(Yt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=ko())!==a?(ss(),123===e.charCodeAt(go)?(s=Ae,go++):(s=a,0===bo&&Mo(Xr)),s!==a?(ss(),i=function(){var e,t,r;for(e=go,t=[],r=ri();r!==a;)t.push(r),r=ri();return yo=e,Xa(t)}(),ss(),125===e.charCodeAt(go)?(c=k,go++):(c=a,0===bo&&Mo(nr)),c!==a?(yo=t,t=Ya(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,7)===Z?(r=Z,go+=7):(r=a,0===bo&&Mo(Nr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=ma(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,6)===ae?(r=ae,go+=6):(r=a,0===bo&&Mo(Rr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=ko())!==a?(ss(),e.substr(go,7)===$e?(s=$e,go+=7):(s=a,0===bo&&Mo(Yr)),s!==a?(ss(),(i=function(){var e;return(e=function(){var e,t;return e=go,ks()!==a?(ss(),(t=Ws())===a&&(t=null),ss(),yo=e,e=ha(t)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,Os()!==a?(ss(),(t=Gs())===a&&(t=null),ss(),(r=ei())===a&&(r=null),ss(),yo=e,e=fa(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,Ps()!==a?(ss(),(t=Gs())===a&&(t=null),ss(),(r=ti())===a&&(r=null),ss(),yo=e,e=ga(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,xs()!==a?(ss(),(t=qs())===a&&(t=null),ss(),(r=Zs())===a&&(r=null),ss(),yo=e,e=ya(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r,n;return e=go,Ls()!==a?(ss(),(t=Hs())===a&&(t=null),ss(),(r=Ys())===a&&(r=null),ss(),(n=Xs())===a&&(n=null),ss(),yo=e,e=va(t,r,n)):(go=e,e=a),e}())===a&&(e=function(){var e,t;return e=go,Rs()!==a?(ss(),(t=Hs())===a&&(t=null),ss(),yo=e,e=$a(t)):(go=e,e=a),e}()),e}())!==a?(ss(),yo=t,t=Aa(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,3)===O?(r=O,go+=3):(r=a,0===bo&&Mo(Xt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=ko())!==a?(ss(),123===e.charCodeAt(go)?(s=Ae,go++):(s=a,0===bo&&Mo(Xr)),s!==a?(ss(),i=function(){var t,r,n;return t=go,r=function(){var t;return t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),yo=t,t=ja(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),yo=t,t=Ua(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=_s())!==a?(ss(),yo=t,t=Qa(r,o)):(go=t,t=a)):(go=t,t=a),t}())),t}(),r!==a?(ss(),n=function(){var t;return t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),ks()!==a?(ss(),yo=t,t=za(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),yo=t,t=Ha(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),yo=t,t=Wa(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Os()!==a?(ss(),yo=t,t=Ga(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ps()!==a?(ss(),yo=t,t=qa(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),xs()!==a?(ss(),yo=t,t=Ja(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n===a&&(e.substr(go,3)===Ie?(n=Ie,go+=3):(n=a,0===bo&&Mo(sn))),n!==a?(ss(),(o=_s())!==a?(ss(),yo=t,t=Ka(r,n,o)):(go=t,t=a)):(go=t,t=a),t}())))))),t}(),n!==a?(yo=t,t=Ba(r,n)):(go=t,t=a)):(go=t,t=a),t}(),i!==a?(ss(),125===e.charCodeAt(go)?(c=k,go++):(c=a,0===bo&&Mo(nr)),c!==a?(yo=t,t=Va(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}()),t}const li="concerto.metamodel@1.0.0";function ui(e,t,r){return[e].concat(function(e,t){var r,n=new Array(e.length);for(r=0;r<e.length;r++)n[r]=e[r][t];return n}(t,r))}function pi(e){return null!==e?e:[]}function di(e){return!!e}function mi(e){if(r?.skipLocationNodes)return;const t=e.start,n=e.end;t.$class=`${li}.Position`,n.$class=`${li}.Position`;const a={$class:`${li}.Range`,start:t,end:n};return e.source&&e.source[0]&&(a.source=e.source[0]),{location:a}}if(n=i(),r.peg$library)return{peg$result:n,peg$currPos:go,peg$FAILED:a,peg$maxFailExpected:Ao,peg$maxFailPos:$o};if(n!==a&&go===e.length)return n;throw n!==a&&go<e.length&&Mo({type:"end"}),function(e,r,n){return new t(t.buildMessage(e,r),e,r,n)}(Ao,$o<e.length?e.charAt($o):null,$o<e.length?Io($o,$o+1):Io($o,$o))}}},303:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(348),a=r(206),o=r(713);e.exports={parse:function(e,t,r){try{return a.parse(e,r)}catch(e){throw e.location&&e.location.start?new o(e.message,e.location,t):e}},parseModels:function(e,t){const r={$class:`${n}.Models`,models:[]};return e.forEach((e=>{let n=a.parse(e,t);r.models.push(n)})),r}}},993:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(348),{isNull:a}=r(209).NullUtil;function o(e){let t="";switch(e.$class){case`${n}.DecoratorTypeReference`:t+=`${e.type.name}${e.isArray?"[]":""}`;break;case`${n}.DecoratorString`:t+=`"${e.value}"`;break;default:t+=`${e.value}`}return t}function s(e){let t="";return t+=`@${e.name}`,e.arguments&&(t+="(",t+=e.arguments.map(o).join(","),t+=")"),t}function i(e,t){let r="";return r+=e.map(s).join(`\n${t}`),r+=`\n${t}`,r}function c(e){let t="";switch(e.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanScalar`:case`${n}.BooleanProperty`:case`${n}.BooleanMapValueType`:t+=" Boolean";break;case`${n}.DateTimeProperty`:case`${n}.DateTimeScalar`:case`${n}.DateTimeMapKeyType`:case`${n}.DateTimeMapValueType`:t+=" DateTime";break;case`${n}.DoubleProperty`:case`${n}.DoubleScalar`:case`${n}.DoubleMapValueType`:t+=" Double";break;case`${n}.IntegerProperty`:case`${n}.IntegerScalar`:case`${n}.IntegerMapValueType`:t+=" Integer";break;case`${n}.LongProperty`:case`${n}.LongScalar`:case`${n}.LongMapValueType`:t+=" Long";break;case`${n}.StringProperty`:case`${n}.StringScalar`:case`${n}.StringMapKeyType`:case`${n}.StringMapValueType`:t+=" String";break;case`${n}.ObjectProperty`:case`${n}.ObjectMapKeyType`:case`${n}.ObjectMapValueType`:case`${n}.RelationshipProperty`:case`${n}.RelationshipMapValueType`:t+=` ${e.type.name}`}return t}function l(e){let t="",r="",o="";switch(e.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanProperty`:case`${n}.BooleanScalar`:!0!==e.defaultValue&&!1!==e.defaultValue||(e.defaultValue?r+=" default=true":r+=" default=false");break;case`${n}.DateTimeProperty`:case`${n}.DateTimeScalar`:e.defaultValue&&(t+=` default="${e.defaultValue}"`);break;case`${n}.DoubleProperty`:case`${n}.DoubleScalar`:a(e.defaultValue)||(r+=` default=${e.defaultValue.toFixed(Math.max(1,(e.defaultValue.toString().split(".")[1]||[]).length))}`),e.validator&&(o+=` range=[${e.validator.lower?e.validator.lower:""},${e.validator.upper?e.validator.upper:""}]`);break;case`${n}.IntegerProperty`:case`${n}.IntegerScalar`:case`${n}.LongProperty`:case`${n}.LongScalar`:a(e.defaultValue)||(r+=` default=${e.defaultValue.toString()}`),e.validator&&(o+=` range=[${e.validator.lower?e.validator.lower:""},${e.validator.upper?e.validator.upper:""}]`);break;case`${n}.StringProperty`:case`${n}.StringScalar`:e.defaultValue&&(r+=` default="${e.defaultValue}"`),e.validator&&(o+=` regex=/${e.validator.pattern}/${e.validator.flags}`),e.lengthValidator&&(o+=` length=[${e.lengthValidator.minLength?e.lengthValidator.minLength:""},${e.lengthValidator.maxLength?e.lengthValidator.maxLength:""}]`);break;case`${n}.ObjectProperty`:e.defaultValue&&(r+=` default="${e.defaultValue}"`)}return t+=r,t+=o,t}e.exports={toCTO:function(e){let t="";return e.concertoVersion&&(t+=`concerto version "${e.concertoVersion}"`,t+="\n",t+="\n"),e.decorators&&e.decorators.length>0&&(t+=i(e.decorators,"")),t+=`namespace ${e.namespace}`,e.imports&&e.imports.length>0&&(t+="\n",e.imports.forEach((e=>{switch(e.$class){case`${n}.ImportType`:case`${n}.ImportTypeFrom`:t+=`\nimport ${e.namespace}.${e.name}`;break;case`${n}.ImportAll`:case`${n}.ImportAllFrom`:t+=`\nimport ${e.namespace}.*`;break;case`${n}.ImportTypes`:{const r=e.aliasedTypes?new Map(e.aliasedTypes.map((e=>{let{name:t,aliasedName:r}=e;return[t,r]}))):new Map,n=e.types.map((e=>r.has(e)?`${e} as ${r.get(e)}`:e)).join(",");t+=`\nimport ${e.namespace}.{${n}}`;break}default:throw new Error("Unrecognized import")}e.uri&&(t+=` from ${e.uri}`)}))),e.declarations&&e.declarations.length>0&&e.declarations.forEach((e=>{t+=`\n\n${function(e){let t="";if(e.decorators&&(t+=i(e.decorators,"")),function(e){return[`${n}.BooleanScalar`,`${n}.IntegerScalar`,`${n}.LongScalar`,`${n}.DoubleScalar`,`${n}.StringScalar`,`${n}.DateTimeScalar`].includes(e.$class)}(e))t+=`scalar ${e.name} extends`,t+=c(e),t+=l(e);else if(function(e){return e.$class===`${n}.MapDeclaration`}(e)){const r=[e.key,e.value];t+=`map ${e.name} {`,r.forEach((e=>{t+=`\n ${function(e){let t="";return e.decorators&&(t+=i(e.decorators," ")),e.$class===`${n}.RelationshipMapValueType`?t+="--\x3e":t+="o",t+=c(e),t}(e)}`})),t+="\n}"}else{switch(e.isAbstract&&(t+="abstract "),e.$class){case`${n}.AssetDeclaration`:t+=`asset ${e.name} `;break;case`${n}.ConceptDeclaration`:t+=`concept ${e.name} `;break;case`${n}.EventDeclaration`:t+=`event ${e.name} `;break;case`${n}.ParticipantDeclaration`:t+=`participant ${e.name} `;break;case`${n}.TransactionDeclaration`:t+=`transaction ${e.name} `;break;case`${n}.EnumDeclaration`:t+=`enum ${e.name} `}if(e.identified&&(e.identified.$class===`${n}.IdentifiedBy`?t+=`identified by ${e.identified.name} `:t+="identified "),e.superType){if(e.superType.name===e.name)throw new Error(`The declaration "${e.name}" cannot extend itself.`);t+=`extends ${e.superType.name} `}t+="{",e.properties.forEach((e=>{t+=`\n ${function(e){let t="";return e.decorators&&(t+=i(e.decorators," ")),e.$class===`${n}.RelationshipProperty`?t+="--\x3e":t+="o",t+=c(e),e.isArray&&(t+="[]"),t+=` ${e.name}`,t+=l(e),e.isOptional&&(t+=" optional"),t}(e)}`})),t+="\n}"}return t}(e)}`})),t}}},124:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==a&&"env"in a&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(891)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},891:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(250),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},250:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},942:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",a=0,o=-1,s=0,i=0;i<=e.length;++i){if(i<e.length)r=e.charCodeAt(i);else{if(47===r)break;r=47}if(47===r){if(o===i-1||1===s);else if(o!==i-1&&2===s){if(n.length<2||2!==a||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",a=0):a=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),o=i,s=0;continue}}else if(2===n.length||1===n.length){n="",a=0,o=i,s=0;continue}t&&(n.length>0?n+="/..":n="..",a=2)}else n.length>0?n+="/"+e.slice(o+1,i):n=e.slice(o+1,i),a=i-o-1;o=i,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var e,n="",o=!1,s=arguments.length-1;s>=-1&&!o;s--){var i;s>=0?i=arguments[s]:(void 0===e&&(e=a.cwd()),i=e),t(i),0!==i.length&&(n=i+"/"+n,o=47===i.charCodeAt(0))}return n=r(n,!o),o?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),a=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&a&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var a=arguments[r];t(a),a.length>0&&(void 0===e?e=a:e+="/"+a)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r)return"";if((e=n.resolve(e))===(r=n.resolve(r)))return"";for(var a=1;a<e.length&&47===e.charCodeAt(a);++a);for(var o=e.length,s=o-a,i=1;i<r.length&&47===r.charCodeAt(i);++i);for(var c=r.length-i,l=s<c?s:c,u=-1,p=0;p<=l;++p){if(p===l){if(c>l){if(47===r.charCodeAt(i+p))return r.slice(i+p+1);if(0===p)return r.slice(i+p)}else s>l&&(47===e.charCodeAt(a+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(a+p);if(d!==r.charCodeAt(i+p))break;47===d&&(u=p)}var m="";for(p=a+u+1;p<=o;++p)p!==o&&47!==e.charCodeAt(p)||(0===m.length?m+="..":m+="/..");return m.length>0?m+r.slice(i+u):(i+=u,47===r.charCodeAt(i)&&++i,r.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,a=-1,o=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!o){a=s;break}}else o=!1;return-1===a?n?"/":".":n&&1===a?"//":e.slice(0,a)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');t(e);var n,a=0,o=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var i=r.length-1,c=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(47===l){if(!s){a=n+1;break}}else-1===c&&(s=!1,c=n+1),i>=0&&(l===r.charCodeAt(i)?-1==--i&&(o=n):(i=-1,o=c))}return a===o?o=c:-1===o&&(o=e.length),e.slice(a,o)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){a=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?"":e.slice(a,o)},extname:function(e){t(e);for(var r=-1,n=0,a=-1,o=!0,s=0,i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47!==c)-1===a&&(o=!1,a=i+1),46===c?-1===r?r=i:1!==s&&(s=1):-1!==r&&(s=-1);else if(!o){n=i+1;break}}return-1===r||-1===a||0===s||1===s&&r===a-1&&r===n+1?"":e.slice(r,a)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+"/"+n:n}(0,e)},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,a=e.charCodeAt(0),o=47===a;o?(r.root="/",n=1):n=0;for(var s=-1,i=0,c=-1,l=!0,u=e.length-1,p=0;u>=n;--u)if(47!==(a=e.charCodeAt(u)))-1===c&&(l=!1,c=u+1),46===a?-1===s?s=u:1!==p&&(p=1):-1!==s&&(p=-1);else if(!l){i=u+1;break}return-1===s||-1===c||0===p||1===p&&s===c-1&&s===i+1?-1!==c&&(r.base=r.name=0===i&&o?e.slice(1,c):e.slice(i,c)):(0===i&&o?(r.name=e.slice(1,s),r.base=e.slice(1,c)):(r.name=e.slice(i,s),r.base=e.slice(i,c)),r.ext=e.slice(s,c)),i>0?r.dir=e.slice(0,i-1):o&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n},431:e=>{"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),r=/[^\u0000-\u0080]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},237:(e,t,r)=>{"use strict";const n=r(713),a=r(303),o=r(993),s=r(786);e.exports={ParseException:n,Parser:a,Printer:o,External:s}},209:(e,t,r)=>{"use strict";const n=r(255),a=r(485),o=r(584),s=r(452),i=r(538),c=r(318),l=r(313),u=r(734),p=r(416),d=r(231),m=r(402),h=r(233),f=r(965),g=r(111),y=r(694),v=r(873),$=r(792),A=r(25);e.exports={BaseException:n,BaseFileException:a,FileDownloader:o,CompositeFileLoader:s,DefaultFileLoader:i,GitHubFileLoader:c,HTTPFileLoader:l,Writer:u,FileWriter:p,InMemoryWriter:m,ModelWriter:d,Logger:h,TypedStack:f,Label:g,Identifiers:y,ErrorCodes:v,NullUtil:$,Warning:A}},255:(e,t,r)=>{"use strict";const n=r(486),a=r(873);class o extends Error{constructor(e,t,r){super(e),this.component=t||n.name,this.name=this.constructor.name,this.message=e,this.errorType=r||a.DEFAULT_BASE_EXCEPTION,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}e.exports=o},485:(e,t,r)=>{"use strict";const n=r(255);e.exports=class extends n{constructor(e,t,r,n,a){super(r||e,a),this.fileLocation=t,this.shortMessage=e,this.fileName=n}getFileLocation(){return this.fileLocation}getShortMessage(){return this.shortMessage}getFileName(){return this.fileName}}},873:e=>{"use strict";e.exports={DEFAULT_BASE_EXCEPTION:"DefaultBaseException",DEFAULT_VALIDATOR_EXCEPTION:"DefaultValidatorException",REGEX_VALIDATOR_EXCEPTION:"RegexValidatorException",TYPE_NOT_FOUND_EXCEPTION:"TypeNotFoundException",DEPRECATION_WARNING:"DeprecationWarning",CONCERTO_DEPRECATION_001:"concerto-dep:001",CONCERTO_DEPRECATION_002:"concerto-dep:002"}},584:(e,t,r)=>{"use strict";const n=r(901)("concerto:FileDownloader"),a=r(573),o=e=>[].concat(...e),s=e=>e.filter(Boolean),i=async(e,t)=>{const r=e.response&&e.response.status&&200!==e.response.status,n=e.code&&"ENOTFOUND"===e.code;if(r||n){const e=new Error(`Unable to download external model dependency '${t.url}'`);throw e.code="MISSING_DEPENDENCY",e}throw new Error("Failed to load model file. Job: "+t.url+" Details: "+e)};e.exports=class{constructor(e,t,r=10){this.fileLoader=e,this.concurrency=r,this.getExternalImports=t}downloadExternalDependencies(e,t){n("downloadExternalDependencies");const r=new Set;t||(t={});const c=o(e.map((e=>{const n=this.getExternalImports(e);return Object.keys(n).map((e=>({downloadedUris:r,url:n[e],options:t})))})));return a.withConcurrency(this.concurrency).for(c).handleError(i).process((e=>this.runJob(e,this.fileLoader))).then((({results:e})=>s(o(e))))}runJob(e,t){const r=e.downloadedUris,c=e.options,l=e.url;return r.add(l),n("runJob","Loading",l),t.load(l,c).then((async e=>{n("runJob","Loaded",l);const u=this.getExternalImports(e),p=Array.from(new Set(Object.keys(u).map((e=>u[e]))));return n("runJob","importedUris",p),(await a.withConcurrency(this.concurrency).for(p).handleError(i).process((e=>{if(!r.has(e))return this.runJob({options:c,url:e,downloadedUris:r},t)})).then((({results:e})=>s(o(e))))).concat([e])}))}}},416:(e,t,r)=>{"use strict";const n=r(522),a=r(338),o=r(734);e.exports=class extends o{constructor(e){super(),this.outputDirectory=e,this.relativeDir=null,this.fileName=null,n.mkdirSync(e,{recursive:!0})}openFile(e){this.fileName=e,this.relativeDir=null}openRelativeFile(e,t){this.relativeDir=e,this.fileName=t}writeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeLine(e,t)}writeBeforeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeBeforeLine(e,t)}closeFile(){if(!this.fileName)throw new Error("No file open");let e=this.outputDirectory;this.relativeDir&&(e=a.resolve(e,this.relativeDir)),e=a.resolve(e,this.fileName),n.mkdirSync(a.dirname(e),{recursive:!0}),n.writeFileSync(e,this.getBuffer()),this.fileName=null,this.relativeDir=null,this.clearBuffer()}}},694:e=>{"use strict";const t=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u;e.exports={normalizeIdentifier:function(e,r=-1){const n=(e,t)=>{let r="";for(const e of t)r+=`_${e.codePointAt(0).toString(16)}`;return r};let a=e??String(e);if("string"!=typeof a)throw new Error(`Unsupported identifier type, '${typeof a}'.`);if(a=a.replace(/^\p{Nd}/u,"_$&").replace(/[-‐−@#:;><|/\\\u200c\u200d]/g,"_").replace(/\s/g,"_").replace(/(?!\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D|\\u[0-9A-Fa-f]{4})(.)/gu,n).replace(/([\uD800-\uDFFF])/g,n),r>0&&(a=a.substring(0,r)),!t.test(a))throw new Error(`Unexpected error. Not able to escape identifier '${a}'.`);return a},ID_REGEX:t}},402:(e,t,r)=>{"use strict";const n=r(734);e.exports=class extends n{constructor(){super(),this.fileName="",this.data=new Map}openFile(e){this.fileName=e}closeFile(){this.data.set(this.fileName,this.getBuffer()),this.clearBuffer()}getFilesInMemory(){return this.data}}},111:e=>{"use strict";e.exports={labelToSentence:function(e=""){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(e=>e.toUpperCase())).trim()},sentenceToLabel:function(e=""){const t=e.split(/[^A-Za-z0-9_-]+/);return t.forEach(((e,r)=>{t[r]=t[r].replace(/^./,(e=>e.toUpperCase()))})),t.join("").replace(/^./,(e=>e.toLowerCase()))}}},452:e=>{"use strict";e.exports=class{constructor(){this.fileLoaders=[]}addFileLoader(e){this.fileLoaders.push(e)}getFileLoaders(){return this.fileLoaders}clearFileLoaders(){this.fileLoaders=[]}accepts(e){for(let t=0;t<this.fileLoaders.length;t++)if(this.fileLoaders[t].accepts(e))return!0;return!1}load(e,t){for(let r=0;r<this.fileLoaders.length;r++){const n=this.fileLoaders[r];if(n.accepts(e))return n.load(e,t)}throw new Error("Failed to find a model file loader that can handle: "+e)}}},538:(e,t,r)=>{"use strict";const n=r(452),a=r(313),o=r(318);e.exports=class extends n{constructor(e){super();const t=new a(e),r=new o(e);this.addFileLoader(r),this.addFileLoader(t)}}},318:(e,t,r)=>{"use strict";const n=r(313);e.exports=class extends n{constructor(e){super(e)}accepts(e){return e.startsWith("github://")}load(e,t){const r="https://raw.githubusercontent.com/"+e.substring(9);return super.load(r,t)}}},313:e=>{"use strict";e.exports=class{constructor(e){this.processFile=e}accepts(e){return e.startsWith("http://")||e.startsWith("https://")}async load(e,t){t||(t={method:"GET",headers:{"Content-Type":"text/plain"}}),console.log(e);const r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP request failed with status: ${r.status}`);const n=await r.text(),a=new URL(e),o="@"+(a.host+a.pathname).replace(/\//g,".");return this.processFile(o,n)}}},233:e=>{"use strict";const t={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},r=e=>e,n={};Object.keys(t).forEach((e=>{n[e]=(...n)=>((e,...n)=>{let a=e,o=n,s=o.shift();if(s&&"object"==typeof s&&s.level&&s.message){const e=s.padding&&s.padding[s.level];"error"===s.level&&s.stack?(a="error",s=`${s.message}\n${s.stack}`):Object.keys(t).includes(s.level)&&(a=s.level,s=s.message),s=e?`${e} ${s}`:s}o.unshift(s),(["error","warn"].includes(a)?console.error:console.log)(`${(new Date).toLocaleTimeString()} - ${a}:`,...o.map((e=>e instanceof Error?`${e.message}\n${e.stack}`:e)).map(r))})(e,...n)}));class a{static dispatch(e,...r){t[e]>t[this.level]||this.transports.forEach((t=>{t[e]&&t[e](...r)}))}static add(e){this.transports.push(e)}static error(...e){return this.dispatch("error",...e)}static warn(...e){return this.dispatch("warn",...e)}static info(...e){return this.dispatch("info",...e)}static log(...e){return this.info(...e)}static http(...e){return this.dispatch("http",...e)}static verbose(...e){return this.dispatch("verbose",...e)}static debug(...e){return this.dispatch("debug",...e)}static silly(...e){return this.dispatch("silly",...e)}}a.level="info",a.transports=[n],e.exports=a},231:(e,t,r)=>{"use strict";const n=r(522),a=r(338),o=r(431);e.exports={writeModelsToFileSystem:function(e,t,r={}){if(!t)throw new Error("`path` is a required parameter of writeModelsToFileSystem");const s=Object.assign({includeExternalModels:!0},r);e.forEach((function(e){if(e.external&&!s.includeExternalModels)return;const r=o(e.fileName).split("/").pop();n.writeFileSync(t+a.sep+r,e.definitions)}))}}},792:e=>{"use strict";e.exports=class{static isNull(e){return null==e}}},965:e=>{"use strict";e.exports=class{constructor(e){this.stack=[],this.push(e)}push(e,t){if(t&&!(e instanceof t))throw new Error("Did not find expected type "+t.constructor.name+" as argument to push. Found: "+e.toString());this.stack.push(e)}pop(e){return this.peek(e),this.stack.pop()}peek(e){if(this.stack.length<1)throw new Error("Stack is empty!");const t=this.stack[this.stack.length-1];if(e&&!(t instanceof e))throw new Error("Did not find expected type "+e+" on head of stack. Found: "+t);return t}clear(){this.stack=[]}}},25:e=>{"use strict";let t=!1;e.exports={printDeprecationWarning:function(e,r,n,o){const s=a.emitWarning;t||(t=!0,s(`DEPRECATED: ${e}`,{type:r,code:n,detail:o}))}}},734:e=>{"use strict";e.exports=class{constructor(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}writeBeforeLine(e,t){for(let t=0;t<e;t++)this.beforeBuffer+=" ";this.beforeBuffer+=t,this.beforeBuffer+="\n",this.linesWritten++}writeLine(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t),this.write("\n"),this.linesWritten++}getLineCount(){return this.linesWritten}writeIndented(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t)}write(e){if("string"!=typeof e)throw new Error("Can only append strings. Argument "+e+" has type "+typeof e);this.buffer+=e,this.linesWritten+=e.split(/\r\n|\r|\n/).length}getBuffer(){return this.beforeBuffer+this.buffer}clearBuffer(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}}},901:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==a&&"env"in a&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(372)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},372:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(585),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},585:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},522:()=>{},338:()=>{},865:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto.Metamodel"}]}],"namespace":"concerto.metamodel@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Position","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"line","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"column","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"offset","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Range","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"start","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"end","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"source","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TypeIdentifier","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorLiteral","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorString","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorNumber","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorBoolean","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorTypeReference","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"arguments","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Identified","isAbstract":false,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IdentifiedBy","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Declaration","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapKeyType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapValueType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"key","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"value","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapKeyType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"EnumProperty"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ConceptDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isAbstract","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"identified","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"superType","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AssetDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ParticipantDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TransactionDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EventDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Property","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isOptional","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeProperty","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringRegexValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"pattern","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"flags","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringLengthValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"minLength","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"maxLength","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AliasedType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"aliasedName","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Import","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"uri","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportAll","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportTypes","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"types","isArray":true,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"aliasedTypes","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"AliasedType"},"isArray":true,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Model","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"sourceUri","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"concertoVersion","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"imports","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"declarations","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Models","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"models","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Model"},"isArray":true,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ScalarDeclaration","isAbstract":true,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}}]}')},486:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-util","version":"3.19.6","description":"Utilities for Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":{"main":"dist/concerto-util.js","fs":false,"path":false},"typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint && npm run doc","lint":"eslint .","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"nyc mocha --recursive -t 10000","test:watch":"nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-util"},"keywords":["blockchain","hyperledger","solutions"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","eslint":"8.2.0","jsdoc":"^4.0.2","mocha":"10.0.0","node-polyfill-webpack-plugin":"2.0.1","nyc":"15.1.0","tmp-promise":"3.0.2","typescript":"5.6.3","undici":"^6.19.8"},"dependencies":{"@supercharge/promise-pool":"1.7.0","debug":"4.3.4","slash":"3.0.0"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"all":true,"check-coverage":true,"statements":99,"branches":93,"functions":98,"lines":99}}')}},t={},function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}(237);var e,t},e.exports=n()},6686:()=>{},5558:()=>{},2522:()=>{},2338:()=>{},182:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.validate=t.v7=t.v6ToV1=t.v6=t.v5=t.v4=t.v3=t.v1ToV6=t.v1=t.stringify=t.parse=t.NIL=t.MAX=void 0;var n=r(2196);Object.defineProperty(t,"MAX",{enumerable:!0,get:function(){return n.default}});var a=r(3465);Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return a.default}});var o=r(1797);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return o.default}});var s=r(6011);Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.default}});var i=r(1425);Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return i.default}});var c=r(6568);Object.defineProperty(t,"v1ToV6",{enumerable:!0,get:function(){return c.default}});var l=r(591);Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return l.default}});var u=r(8286);Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return u.default}});var p=r(4557);Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return p.default}});var d=r(6356);Object.defineProperty(t,"v6",{enumerable:!0,get:function(){return d.default}});var m=r(268);Object.defineProperty(t,"v6ToV1",{enumerable:!0,get:function(){return m.default}});var h=r(4299);Object.defineProperty(t,"v7",{enumerable:!0,get:function(){return h.default}});var f=r(9746);Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return f.default}});var g=r(2770);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return g.default}})},2196:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="ffffffff-ffff-ffff-ffff-ffffffffffff"},338:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function a(e,t,r,a,o,s){return n((i=n(n(t,e),n(a,s)))<<(c=o)|i>>>32-c,r);var i,c}function o(e,t,r,n,o,s,i){return a(t&r|~t&n,e,t,o,s,i)}function s(e,t,r,n,o,s,i){return a(t&n|r&~n,e,t,o,s,i)}function i(e,t,r,n,o,s,i){return a(t^r^n,e,t,o,s,i)}function c(e,t,r,n,o,s,i){return a(r^(t|~n),e,t,o,s,i)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(e){const t=new Uint8Array(4*e.length);for(let r=0;r<4*e.length;r++)t[r]=e[r>>2]>>>r%4*8&255;return t}(function(e,t){const a=new Uint32Array(r(t)).fill(0);a.set(e),a[t>>5]|=128<<t%32,a[a.length-1]=t,e=a;let l=1732584193,u=-271733879,p=-1732584194,d=271733878;for(let t=0;t<e.length;t+=16){const r=l,a=u,m=p,h=d;l=o(l,u,p,d,e[t],7,-680876936),d=o(d,l,u,p,e[t+1],12,-389564586),p=o(p,d,l,u,e[t+2],17,606105819),u=o(u,p,d,l,e[t+3],22,-1044525330),l=o(l,u,p,d,e[t+4],7,-176418897),d=o(d,l,u,p,e[t+5],12,1200080426),p=o(p,d,l,u,e[t+6],17,-1473231341),u=o(u,p,d,l,e[t+7],22,-45705983),l=o(l,u,p,d,e[t+8],7,1770035416),d=o(d,l,u,p,e[t+9],12,-1958414417),p=o(p,d,l,u,e[t+10],17,-42063),u=o(u,p,d,l,e[t+11],22,-1990404162),l=o(l,u,p,d,e[t+12],7,1804603682),d=o(d,l,u,p,e[t+13],12,-40341101),p=o(p,d,l,u,e[t+14],17,-1502002290),u=o(u,p,d,l,e[t+15],22,1236535329),l=s(l,u,p,d,e[t+1],5,-165796510),d=s(d,l,u,p,e[t+6],9,-1069501632),p=s(p,d,l,u,e[t+11],14,643717713),u=s(u,p,d,l,e[t],20,-373897302),l=s(l,u,p,d,e[t+5],5,-701558691),d=s(d,l,u,p,e[t+10],9,38016083),p=s(p,d,l,u,e[t+15],14,-660478335),u=s(u,p,d,l,e[t+4],20,-405537848),l=s(l,u,p,d,e[t+9],5,568446438),d=s(d,l,u,p,e[t+14],9,-1019803690),p=s(p,d,l,u,e[t+3],14,-187363961),u=s(u,p,d,l,e[t+8],20,1163531501),l=s(l,u,p,d,e[t+13],5,-1444681467),d=s(d,l,u,p,e[t+2],9,-51403784),p=s(p,d,l,u,e[t+7],14,1735328473),u=s(u,p,d,l,e[t+12],20,-1926607734),l=i(l,u,p,d,e[t+5],4,-378558),d=i(d,l,u,p,e[t+8],11,-2022574463),p=i(p,d,l,u,e[t+11],16,1839030562),u=i(u,p,d,l,e[t+14],23,-35309556),l=i(l,u,p,d,e[t+1],4,-1530992060),d=i(d,l,u,p,e[t+4],11,1272893353),p=i(p,d,l,u,e[t+7],16,-155497632),u=i(u,p,d,l,e[t+10],23,-1094730640),l=i(l,u,p,d,e[t+13],4,681279174),d=i(d,l,u,p,e[t],11,-358537222),p=i(p,d,l,u,e[t+3],16,-722521979),u=i(u,p,d,l,e[t+6],23,76029189),l=i(l,u,p,d,e[t+9],4,-640364487),d=i(d,l,u,p,e[t+12],11,-421815835),p=i(p,d,l,u,e[t+15],16,530742520),u=i(u,p,d,l,e[t+2],23,-995338651),l=c(l,u,p,d,e[t],6,-198630844),d=c(d,l,u,p,e[t+7],10,1126891415),p=c(p,d,l,u,e[t+14],15,-1416354905),u=c(u,p,d,l,e[t+5],21,-57434055),l=c(l,u,p,d,e[t+12],6,1700485571),d=c(d,l,u,p,e[t+3],10,-1894986606),p=c(p,d,l,u,e[t+10],15,-1051523),u=c(u,p,d,l,e[t+1],21,-2054922799),l=c(l,u,p,d,e[t+8],6,1873313359),d=c(d,l,u,p,e[t+15],10,-30611744),p=c(p,d,l,u,e[t+6],15,-1560198380),u=c(u,p,d,l,e[t+13],21,1309151649),l=c(l,u,p,d,e[t+4],6,-145523070),d=c(d,l,u,p,e[t+11],10,-1120210379),p=c(p,d,l,u,e[t+2],15,718787259),u=c(u,p,d,l,e[t+9],21,-343485551),l=n(l,r),u=n(u,a),p=n(p,m),d=n(d,h)}return Uint32Array.of(l,u,p,d)}(function(e){if(0===e.length)return new Uint32Array;const t=new Uint32Array(r(8*e.length)).fill(0);for(let r=0;r<e.length;r++)t[r>>2]|=(255&e[r])<<r%4*8;return t}(e),8*e.length))}},3779:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);t.default={randomUUID:r}},3465:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="00000000-0000-0000-0000-000000000000"},1797:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(9746);t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}},6697:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i},2291:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r=crypto.getRandomValues.bind(crypto)}return r(n)};const n=new Uint8Array(16)},2829:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],a=[1732584193,4023233417,2562383102,271733878,3285377520],o=new Uint8Array(e.length+1);o.set(e),o[e.length]=128;const s=(e=o).length/4+2,i=Math.ceil(s/16),c=new Array(i);for(let t=0;t<i;++t){const r=new Uint32Array(16);for(let n=0;n<16;++n)r[n]=e[64*t+4*n]<<24|e[64*t+4*n+1]<<16|e[64*t+4*n+2]<<8|e[64*t+4*n+3];c[t]=r}c[i-1][14]=8*(e.length-1)/Math.pow(2,32),c[i-1][14]=Math.floor(c[i-1][14]),c[i-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<i;++e){const o=new Uint32Array(80);for(let t=0;t<16;++t)o[t]=c[e][t];for(let e=16;e<80;++e)o[e]=n(o[e-3]^o[e-8]^o[e-14]^o[e-16],1);let s=a[0],i=a[1],l=a[2],u=a[3],p=a[4];for(let e=0;e<80;++e){const a=Math.floor(e/20),c=n(s,5)+r(a,i,l,u)+p+t[a]+o[e]>>>0;p=u,u=l,l=n(i,30)>>>0,i=s,s=c}a[0]=a[0]+s>>>0,a[1]=a[1]+i>>>0,a[2]=a[2]+l>>>0,a[3]=a[3]+u>>>0,a[4]=a[4]+p>>>0}return Uint8Array.of(a[0]>>24,a[0]>>16,a[0]>>8,a[0],a[1]>>24,a[1]>>16,a[1]>>8,a[1],a[2]>>24,a[2]>>16,a[2]>>8,a[2],a[3]>>24,a[3]>>16,a[3]>>8,a[3],a[4]>>24,a[4]>>16,a[4]>>8,a[4])}},6011:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unsafeStringify=o;const n=r(9746),a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));function o(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}t.default=function(e,t=0){const r=o(e,t);if(!(0,n.default)(r))throw TypeError("Stringified UUID is invalid");return r}},1425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateV1State=s;const n=r(2291),a=r(6011),o={};function s(e,t,r){return e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0),e.node||(e.node=r.slice(10,16),e.node[0]|=1,e.clockseq=16383&(r[8]<<8|r[9])),e.msecs=t,e}function i(e,t,r,n,a,o,s=0){o||(o=new Uint8Array(16),s=0),t??=Date.now(),r??=0,n??=16383&(e[8]<<8|e[9]),a??=e.slice(10,16);const i=(1e4*(268435455&(t+=122192928e5))+r)%4294967296;o[s++]=i>>>24&255,o[s++]=i>>>16&255,o[s++]=i>>>8&255,o[s++]=255&i;const c=t/4294967296*1e4&268435455;o[s++]=c>>>8&255,o[s++]=255&c,o[s++]=c>>>24&15|16,o[s++]=c>>>16&255,o[s++]=n>>>8|128,o[s++]=255&n;for(let e=0;e<6;++e)o[s++]=a[e];return o}t.default=function(e,t,r){let c;const l=e?._v6??!1;if(e){const t=Object.keys(e);1===t.length&&"_v6"===t[0]&&(e=void 0)}if(e)c=i(e.random??e.rng?.()??(0,n.default)(),e.msecs,e.nsecs,e.clockseq,e.node,t,r);else{const e=Date.now(),a=(0,n.default)();s(o,e,a),c=i(a,o.msecs,o.nsecs,l?void 0:o.clockseq,l?void 0:o.node,t,r)}return t?c:(0,a.unsafeStringify)(c)}},6568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(r="string"==typeof e?(0,n.default)(e):e,Uint8Array.of((15&r[6])<<4|r[7]>>4&15,(15&r[7])<<4|(240&r[4])>>4,(15&r[4])<<4|(240&r[5])>>4,(15&r[5])<<4|(240&r[0])>>4,(15&r[0])<<4|(240&r[1])>>4,(15&r[1])<<4|(240&r[2])>>4,96|15&r[2],r[3],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]));var r;return"string"==typeof e?(0,a.unsafeStringify)(t):t};const n=r(1797),a=r(6011)},591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0;const n=r(338),a=r(2988);var o=r(2988);function s(e,t,r,o){return(0,a.default)(48,n.default,e,t,r,o)}Object.defineProperty(t,"DNS",{enumerable:!0,get:function(){return o.DNS}}),Object.defineProperty(t,"URL",{enumerable:!0,get:function(){return o.URL}}),s.DNS=a.DNS,s.URL=a.URL,t.default=s},2988:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.stringToBytes=o,t.default=function(e,t,r,s,i,c){const l="string"==typeof r?o(r):r,u="string"==typeof s?(0,n.default)(s):s;if("string"==typeof s&&(s=(0,n.default)(s)),16!==s?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let p=new Uint8Array(16+l.length);if(p.set(u),p.set(l,u.length),p=t(p),p[6]=15&p[6]|e,p[8]=63&p[8]|128,i){c=c||0;for(let e=0;e<16;++e)i[c+e]=p[e];return i}return(0,a.unsafeStringify)(p)};const n=r(1797),a=r(6011);function o(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}t.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",t.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8"},8286:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(3779),a=r(2291),o=r(6011);t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();const s=(e=e||{}).random||(e.rng||a.default)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=s[e];return t}return(0,o.unsafeStringify)(s)}},4557:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0;const n=r(2829),a=r(2988);var o=r(2988);function s(e,t,r,o){return(0,a.default)(80,n.default,e,t,r,o)}Object.defineProperty(t,"DNS",{enumerable:!0,get:function(){return o.DNS}}),Object.defineProperty(t,"URL",{enumerable:!0,get:function(){return o.URL}}),s.DNS=a.DNS,s.URL=a.URL,t.default=s},6356:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(6011),a=r(1425),o=r(6568);t.default=function(e,t,r){e??={},r??=0;let s=(0,a.default)({...e,_v6:!0},new Uint8Array(16));if(s=(0,o.default)(s),t){for(let e=0;e<16;e++)t[r+e]=s[e];return t}return(0,n.unsafeStringify)(s)}},268:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(r="string"==typeof e?(0,n.default)(e):e,Uint8Array.of((15&r[3])<<4|r[4]>>4&15,(15&r[4])<<4|(240&r[5])>>4,(15&r[5])<<4|15&r[6],r[7],(15&r[1])<<4|(240&r[2])>>4,(15&r[2])<<4|(240&r[3])>>4,16|(240&r[0])>>4,(15&r[0])<<4|(240&r[1])>>4,r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]));var r;return"string"==typeof e?(0,a.unsafeStringify)(t):t};const n=r(1797),a=r(6011)},4299:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateV7State=s;const n=r(2291),a=r(6011),o={};function s(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++),e}function i(e,t,r,n,a=0){return n||(n=new Uint8Array(16),a=0),t??=Date.now(),r??=127*e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[a++]=t/1099511627776&255,n[a++]=t/4294967296&255,n[a++]=t/16777216&255,n[a++]=t/65536&255,n[a++]=t/256&255,n[a++]=255&t,n[a++]=112|r>>>28&15,n[a++]=r>>>20&255,n[a++]=128|r>>>14&63,n[a++]=r>>>6&255,n[a++]=r<<2&255|3&e[10],n[a++]=e[11],n[a++]=e[12],n[a++]=e[13],n[a++]=e[14],n[a++]=e[15],n}t.default=function(e,t,r){let c;if(e)c=i(e.random??e.rng?.()??(0,n.default)(),e.msecs,e.seq,t,r);else{const e=Date.now(),a=(0,n.default)();s(o,e,a),c=i(a,o.msecs,o.seq,t,r)}return t?c:(0,a.unsafeStringify)(c)}},9746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(6697);t.default=function(e){return"string"==typeof e&&n.default.test(e)}},2770:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(9746);t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},4865:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto.Metamodel"}]}],"namespace":"concerto.metamodel@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Position","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"line","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"column","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"offset","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Range","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"start","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"end","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"source","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TypeIdentifier","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorLiteral","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorString","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorNumber","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorBoolean","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorTypeReference","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"arguments","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Identified","isAbstract":false,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IdentifiedBy","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Declaration","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapKeyType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapValueType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"key","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"value","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapKeyType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"EnumProperty"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ConceptDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isAbstract","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"identified","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"superType","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AssetDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ParticipantDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TransactionDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EventDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Property","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isOptional","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeProperty","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringRegexValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"pattern","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"flags","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringLengthValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"minLength","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"maxLength","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AliasedType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"aliasedName","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Import","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"uri","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportAll","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportTypes","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"types","isArray":true,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"aliasedTypes","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"AliasedType"},"isArray":true,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Model","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"sourceUri","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"concertoVersion","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"imports","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"declarations","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Models","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"models","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Model"},"isArray":true,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ScalarDeclaration","isAbstract":true,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}}]}')},480:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[],"namespace":"concerto.decorator@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DotNetNamespace","superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false}]}]}')},6391:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto"}]}],"namespace":"concerto@1.0.0","imports":[{"$class":"concerto.metamodel@1.0.0.ImportType","name":"DotNetNamespace","namespace":"concerto.decorator@1.0.0"}],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Concept","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Asset","isAbstract":true,"properties":[],"identified":{"$class":"concerto.metamodel@1.0.0.Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Participant","isAbstract":true,"properties":[],"identified":{"$class":"concerto.metamodel@1.0.0.Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Transaction","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Event","isAbstract":true,"properties":[]}]}')},8168:e=>{"use strict";e.exports=JSON.parse('{"en":{"like":["{0, plural, offset:1"," =0 {Be the first to like this}"," =1 {You liked this}"," one {You and someone else liked this}"," other {You and # others liked this}","}"],"test-hello-array":"Hello, {0} {1} {2}","test-hello-object":"Hello, {first} {middle} {last}","test-repeat-array":"{0} {0} {0}","test-repeat-object":"{value} {value} {value}","classdeclaration-constructor-modelastreq":"\\"ModelFile\\" and \\"AST\\" are required to create a \\"ClassDecl\\".","classdeclaration-process-unrecmodelelem":"Unrecognised model element \\"{type}\\".","classdeclaration-getfield-notfindsupertype":"Could not find supertype \\"{type}\\".","classdeclaration-validate-identifiernotproperty":"Class \\"{class}\\" is identified by field \\"{idField}\\", but does not contain this property.","classdeclaration-validate-identifiernotstring":"Class \\"{class}\\" is identified by field \\"{idField}\\", but the type of the field is not \\"String\\".","classdeclaration-validate-duplicatefieldname":"Class \\"{class}\\" has more than one field named \\"{fieldName}\\".","classdeclaration-validate-missingidentifier":"Class \\"{class}\\" is not declared as \\"abstract\\". It must define an identifying field.","classdeclaration-validate-selfextending":"Class \\"{class}\\" cannot extend itself.","classdeclaration-validate-undefined-properties":"Properties of Class \\"{class}\\" has to be defined.","modelfile-constructor-unrecmodelelem":"Unrecognised model element \\"{type}\\".","modelfile-resolvetype-undecltype":"Undeclared type \\"{type}\\" in \\"{context}\\".","modelfile-resolveimport-failfindimp":"Failed to find \\"{type}\\" in list of imports \\"[{imports}]\\" for namespace \\"{namespace}\\".","transactiondeclaration-getidentifierfieldname-noidentifyingfield":"Transactions do not have an identifying field.","composer-connect-noconopts":"\\"connectOptions\\" not specified.","composer-connect-nokeyvalstore":"\\"connectOptions.keyValStore\\" not specified.","composer-connect-nomembersrvcurl":"\\"connectOptions.membershipServicesURL\\" not specified.","composer-connect-nopeerurl":"\\"connectOptions.peerURL\\" not specified.","composer-connect-noeventhuburl":"\\"connectOptions.eventHubURL\\" not specified.","composer-connect-notconnected":"Connection needs to be connected. Call \\"connect(..)\\".","composer-login-noenrollmentid":"\\"enrollmentID\\" not specified.","composer-login-noenrollmentsecret":"\\"enrollmentSecret\\" not specified.","composer-deploy-nosecuritycontext":"\\"securityContext\\" not specified.","factory-newinstance-missingidentifier":"Missing identifier for Type \\"{type}\\" in namespace \\"{namespace}\\".","factory-newinstance-invalididentifier":"Invalid or missing identifier for Type \\"{type}\\" in namespace \\"{namespace}\\".","factory-newinstance-abstracttype":"Cannot instantiate the abstract type \\"{type}\\" in the \\"{namespace}\\" namespace.","factory-newrelationship-notregisteredwithmm":"Cannot create relationship as namespace \\"{namespace}\\" is not known.","factory-newinstance-typenotdeclaredinns":"Cannot instantiate Type \\"{type}\\" in namespace \\"{namespace}\\".","instancegenerator-newinstance-noconcreteclass":"No concrete extending type for \\"{type}\\".","modelmanager-resolvetype-nonsfortype":"No registered namespace for type \\"{type}\\" in \\"{context}\\".","modelmanager-resolvetype-notypeinnsforcontext":"No type \\"{type}\\" in namespace \\"{namespace}\\" for \\"{context}\\".","modelmanager-gettype-noregisteredns":"Namespace is not defined for type \\"{type}\\".","modelmanager-gettype-duplicatensimport":"Importing types from different versions (\\"{version1}\\", \\"{version2}\\") of the same namespace \\"{namespace}\\" is not permitted.","modelmanager-gettype-notypeinns":"Type \\"{type}\\" is not defined in namespace \\"{namespace}\\".","serializer-constructor-factorynull":"\\"Factory\\" cannot be \\"null\\".","serializer-constructor-modelmanagernull":"\\"ModelManager\\" cannot be \\"null\\".","serializer-tojson-notcobject":"\\"Serializer.toJSON\\" only accepts \\"Concept\\", \\"Event\\", \\"Asset\\", \\"Participant\\" or \\"Transaction\\".","util-securitycheck-novalidcontext":"A valid \\"SecurityContext\\" must be specified.","modelutil-getnamespace-nofnq":"FQN is invalid.","resourcevalidator-notresourceorconcept":"Model violation in the \\"{resourceId}\\" instance. Class \\"{classFQN}\\" has the value of \\"{invalidValue}\\". Expected a \\"Resource\\" or a \\"Concept\\".","resourcevalidator-notrelationship":"Model violation in the \\"{resourceId}\\" instance. Class \\"{classFQN}\\" has a value of \\"{invalidValue}\\". Expected a \\"Relationship\\".","resourcevalidator-fieldtypeviolation":"Model violation in the \\"{resourceId}\\" instance. The field \\"{propertyName}\\" has a value of \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type of value: \\"{fieldType}\\".","resourcevalidator-missingrequiredproperty":"The instance \\"{resourceId}\\" is missing the required field \\"{fieldName}\\".","resourcevalidator-invalidenumvalue":"Model violation in the \\"{resourceId}\\" instance. Invalid enum value of \\"{value}\\" for the field \\"{fieldName}\\".","resourcevalidator-abstractclass":"The class \\"{className}\\" is abstract and should not contain an instance.","resourcevalidator-undeclaredfield":"Instance \\"{resourceId}\\" has a property named \\"{propertyName}\\", which is not declared in \\"{fullyQualifiedTypeName}\\".","resourcevalidator-invalidfieldassignment":"Instance \\"{resourceId}\\" has a property \\"{propertyName}\\" with type \\"{objectType}\\" that is not derived from \\"{fieldType}\\".","resourcevalidator-emptyidentifier":"Instance \\"{resourceId}\\" has an empty identifier.","resourcevalidator-invalidmap":"Model violation in the \\"{resourceId}\\" instance. Invalid Type for Map Key or Value - expected String type.","typenotfounderror-defaultmessage":"Type \\"{typeName}\\" not found.","whereastvalidator-propertytypeviolation":"Property \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"{fieldType}\\".","whereastvalidator-enum-propertytypeviolation":"Enum property \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"String\\".","whereastvalidator-relationship-propertytypeviolation":"Relationship \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"String\\".","whereastvalidator-unsupportedtype":"Property \\"{propertyName}\\" of type \\"{fieldType}\\" cannot be compared with a literal value.","whereastvalidator-invalidoperator":"Property \\"{propertyName}\\" cannot be compared using the \\"{operator}\\" operator."}}')},4486:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-util","version":"3.19.6","description":"Utilities for Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":{"main":"dist/concerto-util.js","fs":false,"path":false},"typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint && npm run doc","lint":"eslint .","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"nyc mocha --recursive -t 10000","test:watch":"nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-util"},"keywords":["blockchain","hyperledger","solutions"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","eslint":"8.2.0","jsdoc":"^4.0.2","mocha":"10.0.0","node-polyfill-webpack-plugin":"2.0.1","nyc":"15.1.0","tmp-promise":"3.0.2","typescript":"5.6.3","undici":"^6.19.8"},"dependencies":{"@supercharge/promise-pool":"1.7.0","debug":"4.3.4","slash":"3.0.0"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"all":true,"check-coverage":true,"statements":99,"branches":93,"functions":98,"lines":99}}')},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-core","version":"3.20.0","description":"Core Implementation for the Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":"dist/concerto-core.js","typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint","lint":"eslint .","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"node ./scripts/api-changelog.js && cross-env TZ=UTC nyc mocha --recursive -t 10000","test:watch":"cross-env TZ=UTC nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-cto"},"keywords":["schema","data model","verification"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"@babel/preset-env":"7.26.0","acorn":"8.14.0","acorn-walk":"8.3.4","babel-loader":"9.2.1","chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","commander":"2.20.0","cross-env":"7.0.3","doctrine":"3.0.0","eslint":"8.57.1","fs-extra":"11.2.0","jsdoc":"^4.0.4","klaw":"4.1.0","mocha":"10.8.2","node-polyfill-webpack-plugin":"4.0.0","nyc":"17.1.0","sinon":"19.0.2","tmp-promise":"3.0.3","typescript":"5.7.2","webpack":"5.96.1","webpack-cli":"^5.1.4","xregexp":"5.1.1","yargs":"17.7.2"},"dependencies":{"@accordproject/concerto-cto":"v3.20.0","@accordproject/concerto-metamodel":"3.10.4","@accordproject/concerto-util":"v3.20.0","dayjs":"1.11.13","debug":"4.3.7","lorem-ipsum":"2.0.8","randexp":"0.5.3","semver":"7.6.3","urijs":"1.19.11","uuid":"11.0.3"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"exclude":[],"all":true,"check-coverage":true,"statements":99,"branches":97,"functions":98,"lines":99}}')}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r(5237)})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["concerto-core"]=t():e["concerto-core"]=t()}(self,(()=>(()=>{var e={3348:(e,t,r)=>{"use strict";const n=r(3954);e.exports={MetaModelUtil:n,MetaModelNamespace:"concerto.metamodel@1.0.0"}},4702:e=>{"use strict";e.exports='/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@DotNetNamespace("AccordProject.Concerto.Metamodel")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nconcept AliasedType{\n o String name\n o String aliasedName\n}\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n o AliasedType[] aliasedTypes optional\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n'},3954:(e,t,r)=>{"use strict";const n=r(4865),a="concerto.metamodel@1.0.0",o=r(4702);function s(e,t){return e.declarations.find((e=>e.name===t))}function i(e,t){if(!t[e])throw new Error(`Name ${e} not found`);return t[e].namespace}function c(e,t){switch((e.decorators||[]).forEach((e=>{c(e,t)})),e.$class){case`${a}.Model`:(e.declarations||[]).forEach((e=>{c(e,t)}));break;case`${a}.AssetDeclaration`:case`${a}.ConceptDeclaration`:case`${a}.EventDeclaration`:case`${a}.TransactionDeclaration`:case`${a}.ParticipantDeclaration`:if(e.superType){const r=e.superType.name;e.superType.namespace=i(r,t),e.superType.name=t[r].name}(e.properties||[]).forEach((e=>{c(e,t)}));break;case`${a}.MapDeclaration`:c(e.key,t),c(e.value,t);break;case`${a}.Decorator`:(e.arguments||[]).forEach((e=>{c(e,t)}));break;case`${a}.EnumProperty`:case`${a}.ObjectProperty`:case`${a}.RelationshipProperty`:case`${a}.DecoratorTypeReference`:case`${a}.ObjectMapKeyType`:case`${a}.ObjectMapValueType`:e.type.namespace=i(e.type.name,t),e.type.name=t[e.type.name].name;break;case`${a}.StringScalar`:case`${a}.BooleanScalar`:case`${a}.DateTimeScalar`:case`${a}.DoubleScalar`:case`${a}.LongScalar`:case`${a}.IntegerScalar`:e.namespace=i(e.name,t),e.name=t[e.name].name}return e}function l(e,t){const r=JSON.parse(JSON.stringify(t)),n=function(e,t){const r="concerto@1.0.0",n={Concept:{namespace:r,name:"Concept"},Asset:{namespace:r,name:"Asset"},Participant:{namespace:r,name:"Participant"},Transaction:{namespace:r,name:"Transaction"},Event:{namespace:r,name:"Event"}};return(t.imports||[]).forEach((t=>{const r=t.namespace,o=function(e,t){return e.models.find((e=>e.namespace===t))}(e,r);if(t.$class===`${a}.ImportType`){if(!s(o,t.name))throw new Error(`Declaration ${t.name} in namespace ${r} not found`);n[t.name]={namespace:r,name:t.name}}else if(t.$class===`${a}.ImportTypes`){const e=t.aliasedTypes?new Map(t.aliasedTypes.map((({name:e,aliasedName:t})=>[e,t]))):new Map;t.types.forEach((t=>{const a=e.get(t)||t;if(!s(o,t))throw new Error(`Declaration ${t} in namespace ${r} not found`);n[a]={namespace:r,name:t}}))}else(o.declarations||[]).forEach((e=>{n[e.name]={namespace:r,name:e.name}}))})),(t.declarations||[]).forEach((e=>{n[e.name]={namespace:t.namespace,name:e.name}})),n}(e,t);return c(r,n),r}function u(e){const t=[];switch(e.$class){case`${a}.ImportAll`:t.push(`${e.namespace}.*`);break;case`${a}.ImportType`:t.push(`${e.namespace}.${e.name}`);break;case`${a}.ImportTypes`:e.types.forEach((r=>{t.push(`${e.namespace}.${r}`)}));break;default:throw new Error(`Unrecognized imports ${e.$class}`)}return t}e.exports={metaModelAst:n,metaModelCto:o,resolveLocalNames:l,resolveLocalNamesForAll:function(e){const t={$class:`${a}.Models`,models:[]};return e.models.forEach((r=>{const n=l(e,r);t.models.push(n)})),t},importFullyQualifiedNames:u,getExternalImports:function(e){const t={};return e.imports&&e.imports.forEach((e=>{const r=u(e);e.uri&&(t[r[0]]=e.uri)})),t}}},6573:(e,t,r)=>{"use strict";const n=r(1187);e.exports=n.PromisePool},5160:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolError=void 0;class r extends Error{constructor(e,t){super(),this.item=t,this.name=this.constructor.name,this.message=this.messageFrom(e),Error.captureStackTrace(this,this.constructor)}static createFrom(e,t){return new this(e,t)}messageFrom(e){return e instanceof Error||"object"==typeof e?e.message:"string"==typeof e||"number"==typeof e?e.toString():""}}t.PromisePoolError=r},2241:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolExecutor=void 0;const n=r(5160);t.PromisePoolExecutor=class{constructor(){this.tasks=[],this.items=[],this.errors=[],this.results=[],this.concurrency=10,this.handler=()=>{},this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}for(e){return this.items=e,this}withHandler(e){return this.handler=e,this}handleError(e){return this.errorHandler=e,this}hasReachedConcurrencyLimit(){return this.activeCount()>=this.concurrency}activeCount(){return this.tasks.length}async start(){return this.validateInputs(),await this.process()}validateInputs(){if("function"!=typeof this.handler)throw new Error("The first parameter for the .process(fn) method must be a function");if(!("number"==typeof this.concurrency&&this.concurrency>=1))throw new TypeError(`"concurrency" must be a number, 1 or up. Received "${this.concurrency}" (${typeof this.concurrency})`);if(!Array.isArray(this.items))throw new TypeError('"items" must be an array. Received '+typeof this.items);if(this.errorHandler&&"function"!=typeof this.errorHandler)throw new Error("The error handler must be a function. Received "+typeof this.errorHandler)}async process(){for(const e of this.items)this.hasReachedConcurrencyLimit()&&await this.processingSlot(),this.startProcessing(e);return this.drained()}async processingSlot(){return this.waitForTaskToFinish()}async waitForTaskToFinish(){await Promise.race(this.tasks)}startProcessing(e){const t=this.createTaskFor(e).then((e=>{this.results.push(e),this.tasks.splice(this.tasks.indexOf(t),1)})).catch((r=>{if(this.tasks.splice(this.tasks.indexOf(t),1),this.errorHandler)return this.errorHandler(r,e);this.errors.push(n.PromisePoolError.createFrom(r,e))}));this.tasks.push(t)}async createTaskFor(e){return this.handler(e)}async drained(){return await this.drainActiveTasks(),{results:this.results,errors:this.errors}}async drainActiveTasks(){await Promise.all(this.tasks)}}},1187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePool=void 0;const n=r(2241);class a{constructor(e){this.concurrency=10,this.items=null!=e?e:[],this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}static withConcurrency(e){return(new this).withConcurrency(e)}for(e){return new a(e).withConcurrency(this.concurrency)}static for(e){return(new this).for(e)}handleError(e){return this.errorHandler=e,this}async process(e){return(new n.PromisePoolExecutor).withConcurrency(this.concurrency).withHandler(e).handleError(this.errorHandler).for(this.items).start()}}t.PromisePool=a},3832:(e,t,r)=>{"use strict";const n=r(5558),{DefaultFileLoader:a,FileDownloader:o,ModelWriter:s}=r(1209),{MetaModelUtil:i,MetaModelNamespace:c}=r(3348),l=r(1595),u=r(2438),p=r(1861),d=r(6226),m=r(1768),h=r(3673),f=r(5477),{getRootModel:g}=r(6128),{getDecoratorModel:y}=r(1051),v=r(5430);void 0===r.g&&(r(5437),r(953),r(9869),r(3135),r(6341),r(8088),r(2302),r(7337),r(3218),r(745));const $=r(124)("concerto:BaseModelManager"),A=(e,t)=>({ast:t,definitions:null,fileName:e}),b={missingDecorator:void 0,invalidDecorator:void 0},C=["concerto@1.0.0","concerto","concerto.decorator@1.0.0"];class T{constructor(e,t){this.processFile=t||A,this.modelFiles={},this.factory=new l(this),this.serializer=new h(this.factory,this,e),this.decoratorFactories=[],this.strict=!!e?.strict,this.options=e,this.addDecoratorModel(),this.addRootModel(),this.decoratorValidation=e?.decoratorValidation?e?.decoratorValidation:b,this.enableMapType=!!e?.enableMapType,this.importAliasing="true"==={NODE_ENV:"production"}?.IMPORT_ALIASING||!!e?.importAliasing,this.metamodelModelFile=new d(this,i.metaModelAst,void 0,c),e?.addMetamodel&&this.addModelFile(this.metamodelModelFile)}isModelManager(){return!0}isStrict(){return this.strict}isAliasedTypeEnabled(){return this.importAliasing}addRootModel(){const{rootModelAst:e,rootModelCto:t,rootModelFile:r}=g(!0),n=new d(this,e,t,r);if(this.strict)this.addModelFile(n,t,r,!0);else{this.addModelFile(n,t,r,!0);const e=g(!1),a=new d(this,e.rootModelAst,e.rootModelCto,e.rootModelFile);this.addModelFile(a,e.rootModelCto,e.rootModelFile,!0)}}addDecoratorModel(){const{decoratorModelAst:e,decoratorModelCto:t,decoratorModelFile:r}=y(),n=new d(this,e,t,r);this.addModelFile(n,t,r,!0)}accept(e,t){return e.visit(this,t)}validateModelFile(e,t){if("string"==typeof e){const{ast:r}=this.processFile(t,e);new d(this,r,e,t).validate()}else e.validate()}_throwAlreadyExists(e){const t=this.modelFiles[e.getNamespace()].getName(),r=t?` in file ${t}`:"",n=e.getName()?` specified in file ${e.getName()}`:"";let a=`Namespace ${e.getNamespace()}${n} is already declared${r}`;throw new Error(a)}addModelFile(e,t,r,n){if($("addModelFile","addModelFile",e,r),this.isStrict()&&!e.getVersion())throw new Error("Cannot add an unversioned namespace when 'strict' is true");return this.modelFiles[e.getNamespace()]?this._throwAlreadyExists(e):(n||(this.options?.metamodelValidation&&this.validateAst(e),e.validate()),this.modelFiles[e.getNamespace()]=e),e}validateAst(e){const{version:t}=m.parseNamespace(m.getNamespace(e.getAst().$class)),{version:r}=m.parseNamespace(c);if(t!==r)throw new v(`Model file version ${t} does not match metamodel version ${r}`);const n=!!this.getModelFile(c);n||this.addModelFile(this.metamodelModelFile,void 0,c,!0);try{this.getSerializer().fromJSON(e.getAst())}catch(e){if(this.isStrict())throw new v(e.message);console.warn("Invalid metamodel found. This will throw an exception in a future release. ",e.message)}n||this.deleteModelFile(c)}addModel(e,t,r,n){$("addModel","addModel",e,r);const{ast:a,definitions:o}=this.processFile(r,e),s=t||o,i=new d(this,a,s,r);return this.addModelFile(i,s,r,n),i}updateModelFile(e,t,r){if($("updateModelFile","updateModelFile",e,t),"string"==typeof e){const{ast:n}=this.processFile(t,e);let a=new d(this,n,e,t);return this.updateModelFile(a,t,r)}if(!this.modelFiles[e.getNamespace()])throw new Error(`Model file for namespace ${e.getNamespace()} not found`);return r||e.validate(),this.modelFiles[e.getNamespace()]=e,e}deleteModelFile(e){if(!this.modelFiles[e])throw new Error("Model file does not exist");delete this.modelFiles[e]}addModelFiles(e,t,r){const n="addModelFiles";$(n,"addModelFiles",e,t);const a={};Object.assign(a,this.modelFiles);let o=[];try{for(let r=0;r<e.length;r++){const n=e[r];let a,s=null;if(t&&(s=t[r]),"string"==typeof n){const{ast:e}=this.processFile(s,n);a=new d(this,e,n,s)}else a=n;this.modelFiles[a.getNamespace()]?this._throwAlreadyExists(a):(this.modelFiles[a.getNamespace()]=a,o.push(a))}return r||this.validateModelFiles(),o}catch(e){throw this.modelFiles={},Object.assign(this.modelFiles,a),e}finally{$(n,o)}}validateModelFiles(){for(let e in this.modelFiles)this.modelFiles[e].validate()}async updateExternalModels(e,t){$("updateExternalModels","updateExternalModels",e),t||(t=new o(new a(this.processFile),(e=>i.getExternalImports(e.ast))));const r={};Object.assign(r,this.modelFiles);try{const r=await t.downloadExternalDependencies(this.getModelFiles(),e),n=[];return r.forEach((e=>{const t=new d(this,e.ast,e.definitions,e.fileName);this.modelFiles[t.getNamespace()]?n.push(this.updateModelFile(t,t.getName(),!0)):n.push(this.addModelFile(t,null,t.getName(),!0))})),this.validateModelFiles(),n}catch(e){throw this.modelFiles={},Object.assign(this.modelFiles,r),e}}writeModelsToFileSystem(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};s.writeModelsToFileSystem(this.getModelFiles(),e,t)}getDecoratorValidation(){return this.decoratorValidation}getModelFiles(e){let t=Object.keys(this.modelFiles),r=[];for(let n=0;n<t.length;n++){const a=t[n];!e&&C.includes(a)||r.push(this.modelFiles[a])}return r}getModels(e){const t=this.getModelFiles();let r=[];const a=Object.assign({includeExternalModels:!0},e);return t.forEach((function(e){if(e.isExternal()&&!a.includeExternalModels)return;let t;if("UNKNOWN"!==e.fileName&&null!==e.fileName&&e.fileName){let r=e.fileName;t=n.basename(r)}else t=e.namespace+".cto";r.push({name:t,content:e.definitions})})),r}resolveType(e,t){if(m.isPrimitiveType(t))return t;let r=m.getNamespace(t),n=this.getModelFile(r);if(!n){let r=u.messageFormatter("modelmanager-resolvetype-nonsfortype");throw new p(r({type:t,context:e}))}if(n.isLocalType(t))return t;let a=u.messageFormatter("modelmanager-resolvetype-notypeinnsforcontext");throw new p(a({context:e,type:t,namespace:n.getNamespace()}))}clearModelFiles(){this.modelFiles={},this.addDecoratorModel(),this.addRootModel()}getModelFile(e){return this.modelFiles[e]}getModelFileByFileName(e){return this.getModelFiles().filter((t=>t.getName()===e))[0]}getNamespaces(){return Object.keys(this.modelFiles)}getType(e){const t=m.getNamespace(e),r=this.getModelFile(t);if(!r){const t=u.messageFormatter("modelmanager-gettype-noregisteredns");throw new f(e,t({type:e}))}const n=r.getType(e);if(!n){const r=u.messageFormatter("modelmanager-gettype-notypeinns");throw new f(e,r({type:m.getShortName(e),namespace:t}))}return n}getAssetDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getAssetDeclarations())),[])}getTransactionDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getTransactionDeclarations())),[])}getEventDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getEventDeclarations())),[])}getParticipantDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getParticipantDeclarations())),[])}getMapDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getMapDeclarations())),[])}getEnumDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getEnumDeclarations())),[])}getConceptDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getConceptDeclarations())),[])}getFactory(){return this.factory}getSerializer(){return this.serializer}getDecoratorFactories(){return this.decoratorFactories}addDecoratorFactory(e){this.decoratorFactories.push(e)}derivesFrom(e,t){let r=this.getType(e);for(;r;){if(r.getFullyQualifiedName()===t)return!0;r=r.getSuperTypeDeclaration()}return!1}resolveMetaModel(e){const t=this.getAst(!1,!0);return i.resolveLocalNames(t,e)}fromAst(e){this.clearModelFiles(),e.models.forEach((e=>{if(!C.includes(e.namespace)){const t=new d(this,e);this.addModelFile(t,null,null,!0)}})),this.validateModelFiles()}getAst(e,t){const r={$class:`${c}.Models`,models:[]};return this.getModelFiles(t).forEach((t=>{let n=t.getAst();e&&(n=this.resolveMetaModel(n)),r.models.push(n)})),r}filter(e){const t=new T({...this.options},this.processFile),r=[];let n=Object.values(this.modelFiles).map((n=>n.filter(e,t,r))).filter(Boolean);n=n.filter((e=>!e.isSystemModelFile()));const a=n.map((e=>{const t=e.getAst();let n=!1;return r.forEach((r=>{const a=m.getNamespace(r);if(!a.startsWith("concerto@")&&"concerto"!==a&&e.getImports().includes(r)){const e=m.getShortName(r),a=m.getNamespace(r);t.imports=t.imports.filter((t=>{const r="ImportType"===m.getShortName(t.$class)&&t.name===e&&t.namespace===a;return r&&(n=!0),!r})),t.imports.forEach((t=>{t.namespace===a&&"ImportTypes"===m.getShortName(t.$class)&&(t.types=t.types.filter((t=>{const r=t===e;return r&&(n=!0),!r})))}))}})),n?new d(this,t,void 0,e.fileName):e}));return t.addModelFiles(a),t}}e.exports=T},7662:(e,t,r)=>{"use strict";const n=r(9472),a="resource",{TypedStack:o}=r(1209),s=r(3561);void 0===r.g&&r(9481),e.exports=class{constructor(e){this.modelManager=e}validate(e,t){const r=this.getTypeDeclaration(e),n={};n.stack=new o(e);const a=new s(this,t);r.accept(a,n)}getModelManager(){return this.modelManager}isObject(e){return"object"==typeof e&&e.$class}getTypeDeclaration(e){if(!e.$class)throw new Error("Input object does not have a $class attribute.");return this.modelManager.getType(e.$class)}getIdentifier(e){const t=this.getTypeDeclaration(e).getIdentifierFieldName();if(!t)throw new Error(`Object does not have an identifier: ${JSON.stringify(e)}`);return e[t]}isIdentifiable(e){const t=this.getTypeDeclaration(e);return!t.isSystemIdentified()&&null!==t.getIdentifierFieldName()}isRelationship(e){return"string"==typeof e&&e.startsWith(`${a}:`)}setIdentifier(e,t){const r=this.getTypeDeclaration(e).getIdentifierFieldName(),n=JSON.parse(JSON.stringify(e));return n[r]=t,n}getFullyQualifiedIdentifier(e){return this.getTypeDeclaration(e),`${e.$class}#${this.getIdentifier(e)}`}toURI(e){return this.getTypeDeclaration(e),`${a}:${e.$class}#${encodeURI(this.getIdentifier(e))}`}fromURI(e){let t;try{t=n.parse(e)}catch(t){throw new Error("Invalid URI: "+e)}const r=t.protocol;if(r&&r!==a)throw new Error("Invalid URI scheme: "+e);if(t.username||t.password||t.port||t.query)throw new Error("Invalid resource URI format: "+e);return{typeDeclaration:this.getTypeDeclaration({$class:t.path}),id:decodeURIComponent(t.fragment)}}getType(e){return this.getTypeDeclaration(e).getName()}getNamespace(e){return this.getTypeDeclaration(e).getNamespace()}}},7624:(e,t,r)=>{"use strict";const n=r(3464),a=r(7657);n.extend(a);const o=r(4491);n.extend(o);const s=r(3221);n.extend(s);const i=r(279);n.extend(i),e.exports={setCurrentTime:function(e,t){const r="number"==typeof t?t:n().utcOffset(),a=e?n.utc(e):n().utc();if(!a.isValid())throw new Error(`Current time '${e}' is not in standard UTC format`);const o=a.utcOffset(r);if(!o.isValid())throw new Error(`Cannot set current time to '${e}' with UTC offset '${t}'`);return{currentTime:o,utcOffset:r}}}},8298:(e,t,r)=>{"use strict";const n=r(9481),a=r(1768),{MetaModelNamespace:o}=r(3348);class s{static Action={EXTRACT_ALL:0,EXTRACT_VOCAB:1,EXTRACT_NON_VOCAB:2};constructor(e,t,r,n){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.Action.EXTRACT_ALL;this.extractionDictionary={},this.removeDecoratorsFromModel=e,this.locale=t,this.dcs_version=r,this.sourceModelAst=n,this.updatedModelAst=n,this.action=Object.values(s.Action).includes(a)?a:s.Action.EXTRACT_ALL}isVocabDecorator(e){return"Term"===e||e.startsWith("Term_")}constructDCSDictionary(e,t,r){const n={declaration:r?.declaration||"",property:r?.property||"",mapElement:r?.mapElement||"",dcs:JSON.stringify(t)};this.extractionDictionary[e]&&Array.isArray(this.extractionDictionary[e])?this.extractionDictionary[e].push(n):this.extractionDictionary[e]=[n]}transformNonVocabularyDecorators(e,t,r){const{name:n,version:o}=a.parseNamespace(t),s=n,i=o;if(e?.length>0){const t={$class:`org.accordproject.decoratorcommands@${this.dcs_version}.DecoratorCommandSet`,name:s,version:i,commands:e};r.push(t)}return r}transformVocabularyDecorators(e,t,r){if(Object.keys(e).length>0){let n="";n+=`locale: ${this.locale}\n`,n+=`namespace: ${t}\n`,n+="declarations:\n",Object.keys(e).forEach((t=>{e[t].term&&(n+=` - ${t}: ${e[t].term}\n`);const r=Object.keys(e[t]).filter((e=>"term"!==e&&"propertyVocabs"!==e));r.length>0&&(e[t].term||(n+=` - ${t}: ${t}\n`),r.forEach((r=>{n+=` ${r}: ${e[t][r]}\n`}))),e[t].propertyVocabs&&Object.keys(e[t].propertyVocabs).length>0&&(e[t].term||0!==r.length||(n+=` - ${t}: ${t}\n`),n+=" properties:\n",Object.keys(e[t].propertyVocabs).forEach((r=>{n+=` - ${r}: ${e[t].propertyVocabs[r].term||""}\n`,Object.keys(e[t].propertyVocabs[r]).filter((e=>"term"!==e)).forEach((a=>{n+=` ${a}: ${e[t].propertyVocabs[r][a]}\n`}))})))})),r.push(n)}return r}constructTarget(e,t){const r={$class:`org.accordproject.decoratorcommands@${this.dcs_version}.CommandTarget`,namespace:e};return t.declaration&&""!==t.declaration&&(r.declaration=t.declaration),t.property&&""!==t.property&&(r.property=t.property),t.mapElement&&""!==t.mapElement&&(r.mapElement=t.mapElement),r}parseNonVocabularyDecorators(e,t,r,n){const a={$class:"concerto.metamodel@1.0.0.Decorator",name:t.name};if(t.arguments){const e=t.arguments.map((e=>({$class:e.$class,value:e.value})));a.arguments=e}let o={$class:`org.accordproject.decoratorcommands@${r}.Command`,type:"UPSERT",target:n,decorator:a};return e.push(o),e}parseVocabularies(e,t,r){if(e[t.declaration]=e[t.declaration]||{propertyVocabs:{}},""!==t.property)if(e[t.declaration].propertyVocabs[t.property]||(e[t.declaration].propertyVocabs[t.property]={}),"Term"===r.name)e[t.declaration].propertyVocabs[t.property].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration].propertyVocabs[t.property][n]=r.arguments[0].value}else if(""!==t.mapElement)if(e[t.declaration].propertyVocabs[t.mapElement]||(e[t.declaration].propertyVocabs[t.mapElement]={}),"Term"===r.name)e[t.declaration].propertyVocabs[t.mapElement].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration].propertyVocabs[t.mapElement][n]=r.arguments[0].value}else if("Term"===r.name)e[t.declaration].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration][n]=r.arguments[0].value}return e}transformDecoratorsAndVocabularies(){let e=[],t=[];return Object.keys(this.extractionDictionary).forEach((r=>{const n=this.extractionDictionary[r];let a=[],o={};n.forEach((e=>{const t=JSON.parse(e.dcs),n=this.constructTarget(r,e);t.forEach((t=>{const r=this.isVocabDecorator(t.name);r||this.action===s.Action.EXTRACT_VOCAB||(a=this.parseNonVocabularyDecorators(a,t,this.dcs_version,n)),r&&this.action!==s.Action.EXTRACT_NON_VOCAB&&(o=this.parseVocabularies(o,e,t))}))})),this.action!==s.Action.EXTRACT_VOCAB&&(e=this.transformNonVocabularyDecorators(a,r,e)),this.action!==s.Action.EXTRACT_NON_VOCAB&&(t=this.transformVocabularyDecorators(o,r,t))})),{decoratorCommandSet:e,vocabularies:t}}filterOutDecorators(e){return this.removeDecoratorsFromModel?this.action===s.Action.EXTRACT_ALL?void 0:this.action===s.Action.EXTRACT_VOCAB?e.filter((e=>!this.isVocabDecorator(e.name))):e.filter((e=>this.isVocabDecorator(e.name))):e}processMapDeclaration(e,t){if(e.key&&e.key.decorators){const r={declaration:e.name,mapElement:"KEY"};this.constructDCSDictionary(t,e.key.decorators,r),e.key.decorators=this.filterOutDecorators(e.key.decorators)}if(e.value&&e.value.decorators){const r={declaration:e.name,mapElement:"VALUE"};this.constructDCSDictionary(t,e.value.decorators,r),e.value.decorators=this.filterOutDecorators(e.value.decorators)}return e}processProperties(e,t,r){return e.map((e=>{if(e.decorators){const n={declaration:t,property:e.name};this.constructDCSDictionary(r,e.decorators,n),e.decorators=this.filterOutDecorators(e.decorators)}return e}))}processDeclarations(e,t){return e.map((e=>{if(e.decorators){const r={declaration:e.name};this.constructDCSDictionary(t,e.decorators,r),e.decorators=this.filterOutDecorators(e.decorators)}if(e.$class===`${o}.MapDeclaration`&&(e=this.processMapDeclaration(e,t)),e.properties){const r=this.processProperties(e.properties,e.name,t);e.properties=r}return e}))}processModels(){const e=this.sourceModelAst.models.map((e=>{e?.decorators?.length>0&&(this.constructDCSDictionary(e.namespace,e.decorators,{}),e.decorators=this.filterOutDecorators(e.decorators));const t=this.processDeclarations(e.declarations,e.namespace);return e.declarations=t,e}));this.updatedModelAst={...this.updatedModelAst,models:e}}extract(){this.processModels();const e=new n;e.fromAst(this.updatedModelAst);const t=this.transformDecoratorsAndVocabularies();return{updatedModelManager:e,decoratorCommandSet:t.decoratorCommandSet,vocabularies:t.vocabularies}}}e.exports=s},6033:(e,t,r)=>{"use strict";const n=r(9481),a=r(3673),o=r(1595),s=r(1768),{MetaModelNamespace:i}=r(3348),c=r(2722),l=r(8298),{Warning:u,ErrorCodes:p}=r(1209);void 0===r.g&&r(6226);const d="0.4.0",m="concerto version \"^3.0.0\"\nnamespace org.accordproject.decoratorcommands@0.4.0\n\nimport concerto.metamodel@1.0.0.Decorator\n\n/**\n * A reference to an existing named & versioned DecoratorCommandSet\n */\nconcept DecoratorCommandSetReference {\n o String name\n o String version\n}\n\n/**\n * Whether to upsert or append the decorator\n */\nenum CommandType {\n o UPSERT\n o APPEND\n}\n\n/**\n * Which models elements to add the decorator to. Any null\n * elements are 'wildcards'.\n */\nconcept CommandTarget {\n o String namespace optional\n o String declaration optional\n o String property optional\n o String[] properties optional // property and properties are mutually exclusive\n o String type optional\n o MapElement mapElement optional\n}\n\n/**\n * Map Declaration elements which might be used as a target\n */\nenum MapElement {\n o KEY\n o VALUE\n o KEY_VALUE\n}\n\n/**\n * Applies a decorator to a given target\n */\nconcept Command {\n o CommandTarget target\n o Decorator decorator\n o CommandType type\n o String decoratorNamespace optional\n}\n\n/**\n * A named and versioned set of commands. Includes are supported for modularity/reuse.\n */\nconcept DecoratorCommandSet {\n o String name\n o String version\n o DecoratorCommandSetReference[] includes optional // not yet supported\n o Command[] commands\n}\n";class h{constructor(e,t){this.command=e,this.index=t}getCommand(){return this.command}getIndex(){return this.index}}class f{static validate(e,t){const r=new n({strict:!0,metamodelValidation:!0,addMetamodel:!0});t&&r.addModelFiles(t),r.addCTOModel(m,"decoratorcommands@0.3.0.cto");const s=new o(r);return new a(s,r).fromJSON(e),r}static migrateTo(e,t){if(e instanceof Object)for(let r in e){if("$class"===r&&e[r].includes("org.accordproject.decoratorcommands")){const t=s.getNamespace(e.$class);e[r]=e[r].replace(s.parseNamespace(t).version,d)}(e[r]instanceof Object||e[r]instanceof Array)&&this.migrateTo(e[r],t)}return e}static canMigrate(e,t){const r=s.parseNamespace(s.getNamespace(e.$class)).version;return c.major(r)===c.major(t)&&c.minor(r)<c.minor(t)}static addDcsWithIndexToMap(e,t,r){const n=e.get(t);n?n.push(r):e.set(t,[r])}static getDecoratorMaps(e){const t=new Map,r=new Map,n=new Map,a=new Map,o=new Map;return e.commands.map(((e,s)=>{const i=new h(e,s);switch(!0){case!!e?.target?.type:this.addDcsWithIndexToMap(o,e.target.type,i);break;case!!e?.target?.property:this.addDcsWithIndexToMap(n,e.target.property,i);break;case!!e?.target?.properties:e.target.properties.forEach((e=>{this.addDcsWithIndexToMap(n,e,i)}));break;case!!e?.target?.mapElement:this.addDcsWithIndexToMap(a,e.target.mapElement,i);break;case!!e?.target?.declaration:this.addDcsWithIndexToMap(r,e.target.declaration,i);break;case!!e?.target?.namespace:this.addDcsWithIndexToMap(t,e.target.namespace,i)}})),{namespaceCommandsMap:t,declarationCommandsMap:r,propertyCommandsMap:n,mapElementCommandsMap:a,typeCommandsMap:o}}static migrateAndValidate(e,t,r,s,i){if(r&&this.canMigrate(t,d)&&(t=this.migrateTo(t,d)),s){const r=new n({strict:!0,metamodelValidation:!0,addMetamodel:!0,enableMapType:!!e?.enableMapType,importAliasing:e.isAliasedTypeEnabled()});r.addModelFiles(e.getModelFiles()),r.addCTOModel(m,"decoratorcommands@0.4.0.cto");const s=new o(r);new a(s,r).fromJSON(t),i&&t.commands.forEach((e=>{f.validateCommand(r,e)}))}}static pushMapValues(e,t,r){const n=t.get(r);n&&e.push(...n)}static decorateModels(e,t,r){this.migrateAndValidate(e,t,r?.migrate,r?.validate,r?.validateCommands);const a=t.commands.map((e=>[{$class:`${i}.ImportType`,name:e.decorator.name,namespace:e.decorator.namespace?e.decorator.namespace:r?.defaultNamespace}].concat(e.decorator.arguments?e.decorator.arguments?.filter((e=>e.type)).map((e=>({$class:`${i}.ImportType`,name:e.type.name,namespace:e.type.namespace?e.type.namespace:r?.defaultNamespace}))):[]))).flat().filter((e=>e.namespace)),{namespaceCommandsMap:o,declarationCommandsMap:c,propertyCommandsMap:l,mapElementCommandsMap:u,typeCommandsMap:p}=this.getDecoratorMaps(t),d=e.getAst(!0,!0),m=JSON.parse(JSON.stringify(d));m.models.forEach((e=>{const t=a.filter((t=>t.namespace!==e.namespace));e.imports=e.imports?e.imports.concat(t):t,e.declarations.forEach((t=>{const n=[],{name:a,$class:d}=t;this.pushMapValues(n,c,a),this.pushMapValues(n,o,e.namespace);const m=s.parseNamespace(e.namespace).name;if(this.pushMapValues(n,o,m),this.pushMapValues(n,p,d),n.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((n=>{this.executeCommand(e.namespace,t,n.getCommand(),null,r),this.isNamespaceTargetEnabled(r?.enableDcsNamespaceTarget)&&this.executeNamespaceCommand(e,n.getCommand())})),d===`${i}.MapDeclaration`){const r=[];this.pushMapValues(r,p,t.key.$class),this.pushMapValues(r,p,t.value.$class),this.pushMapValues(r,u,"KEY"),this.pushMapValues(r,u,"VALUE"),this.pushMapValues(r,u,"KEY_VALUE"),r.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((r=>{this.executeCommand(e.namespace,t,r.getCommand())}))}t.properties&&t.properties.forEach((r=>{const n=[],{name:a,$class:o}=r;this.pushMapValues(n,l,a),this.pushMapValues(n,p,o),n.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((n=>{this.executeCommand(e.namespace,t,n.getCommand(),r)}))}))}))}));const h=!!e?.enableMapType,f=new n({strict:e.isStrict(),enableMapType:h,importAliasing:e.isAliasedTypeEnabled(),decoratorValidation:e.getDecoratorValidation()});return f.fromAst(m),f}static extractDecorators(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0,!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_ALL).extract();return{modelManager:n.updatedModelManager,decoratorCommandSet:n.decoratorCommandSet,vocabularies:n.vocabularies}}static extractVocabularies(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0,!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_VOCAB).extract();return{modelManager:n.updatedModelManager,vocabularies:n.vocabularies}}static extractNonVocabDecorators(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_NON_VOCAB).extract();return{modelManager:n.updatedModelManager,decoratorCommandSet:n.decoratorCommandSet}}static validateCommand(e,t){t.target.type&&e.resolveType("DecoratorCommand.type",t.target.type);let r=null;if(t.target.namespace&&(r=e.getModelFile(t.target.namespace),!r)){const{name:n,version:a}=s.parseNamespace(t.target.namespace);a||(r=e.getModelFiles().find((e=>function(e,t){const{name:r}=s.parseNamespace(e.getNamespace());return r===t}(e,n))))}if(t.target.namespace&&!r)throw new Error(`Decorator Command references namespace "${t.target.namespace}" which does not exist: ${JSON.stringify(t,null,2)}`);if(t.target.namespace&&t.target.declaration&&e.resolveType("DecoratorCommand.target.declaration",`${r.getNamespace()}.${t.target.declaration}`),t.target.properties&&t.target.property)throw new Error("Decorator Command references both property and properties. You must either reference a single property or a list of properites.");if(t.target.namespace&&t.target.declaration&&t.target.property&&!e.getType(`${r.getNamespace()}.${t.target.declaration}`).getProperty(t.target.property))throw new Error(`Decorator Command references property "${t.target.namespace}.${t.target.declaration}.${t.target.property}" which does not exist.`);if(t.target.namespace&&t.target.declaration&&t.target.properties){const n=e.getType(`${r.getNamespace()}.${t.target.declaration}`);t.target.properties.forEach((e=>{if(!n.getProperty(e))throw new Error(`Decorator Command references property "${t.target.namespace}.${t.target.declaration}.${e}" which does not exist.`)}))}}static applyDecoratorForMapElement(e,t,r,n,a){const o="KEY"===e?r.key:r.value;t.type?this.falsyOrEqual(t.type,o.$class)&&this.applyDecorator(o,n,a):this.applyDecorator(o,n,a)}static falsyOrEqual(e,t){return Array.isArray(e)?function(e,t){const r=new Set(e),n=new Set(t),a=new Set([...r].filter((e=>n.has(e))));return Array.from(a)}(e,t).length>0:!e||t.includes(e)}static applyDecorator(e,t,r){if("UPSERT"===t){let t=!1;if(e.decorators)for(let n=0;n<e.decorators.length;n++)e.decorators[n].name===r.name&&(e.decorators[n]=r,t=!0);t||(e.decorators?e.decorators.push(r):e.decorators=[r])}else{if("APPEND"!==t)throw new Error(`Unknown command type ${t}`);e.decorators?e.decorators.push(r):e.decorators=[r]}}static executeNamespaceCommand(e,t){const{target:r,decorator:n,type:a}=t;if(2===Object.keys(r).length&&r.namespace){const{name:t}=s.parseNamespace(e.namespace);this.falsyOrEqual(r.namespace,[e.namespace,t])&&this.applyDecorator(e,a,n)}}static executeCommand(e,t,r,n,a){const{target:o,decorator:c,type:l}=r,{name:u}=s.parseNamespace(e);if(this.falsyOrEqual(o.namespace,[e,u])&&this.falsyOrEqual(o.declaration,[t.name]))if(t.$class===`${i}.MapDeclaration`)if(o.mapElement)switch(o.mapElement){case"KEY":case"VALUE":this.applyDecoratorForMapElement(o.mapElement,o,t,l,c);break;case"KEY_VALUE":this.applyDecoratorForMapElement("KEY",o,t,l,c),this.applyDecoratorForMapElement("VALUE",o,t,l,c)}else o.type?(this.falsyOrEqual(o.type,t.key.$class)&&this.applyDecorator(t.key,l,c),this.falsyOrEqual(o.type,t.value.$class)&&this.applyDecorator(t.value,l,c)):this.checkForNamespaceTargetAndApplyDecorator(t,l,c,o,a?.enableDcsNamespaceTarget);else o.property||o.properties||o.type?n&&this.executePropertyCommand(n,r):this.checkForNamespaceTargetAndApplyDecorator(t,l,c,o,a?.enableDcsNamespaceTarget)}static executePropertyCommand(e,t){const{target:r,decorator:n,type:a}=t;(r.properties||r.property||r.type)&&this.falsyOrEqual(r.property?r.property:r.properties,[e.name])&&this.falsyOrEqual(r.type,[e.$class])&&this.applyDecorator(e,a,n)}static checkForNamespaceTargetAndApplyDecorator(e,t,r,n,a){this.isNamespaceTargetEnabled(a)?n.declaration&&this.applyDecorator(e,t,r):this.applyDecorator(e,t,r)}static isNamespaceTargetEnabled(e){return!(!e&&"true"!=={NODE_ENV:"production"}.ENABLE_DCS_NAMESPACE_TARGET&&(u.printDeprecationWarning("Functionality for namespace targeted Decorator Command Sets has changed. Using namespace targets to apply decorators on all declarations in a namespace will be deprecated soon.",p.DEPRECATION_WARNING,p.CONCERTO_DEPRECATION_001,"Please refer to https://concerto.accordproject.org/deprecation/001"),1))}}e.exports=f},1051:(e,t,r)=>{"use strict";const n=r(480);e.exports={getDecoratorModel:function(){return{decoratorModelFile:"concerto_decorator_1.0.0.cto",decoratorModelCto:"namespace concerto.decorator@1.0.0\n abstract concept Decorator {}\n concept DotNetNamespace extends Decorator {\n o String namespace\n }",decoratorModelAst:JSON.parse(JSON.stringify(n))}}}},1595:(e,t,r)=>{"use strict";const{TypedStack:n}=r(1209),a=r(124)("concerto:Factory"),o=r(2438),s=r(1768),i=r(6422),c=r(7854),l=r(2552),u=r(6113),p=r(7755),d=r(289),m=r(182),h=r(3464),f=r(7657);h.extend(f),void 0===r.g&&r(9481);class g{static newId(){return m.v4()}constructor(e){this.modelManager=e}newResource(e,t,r,n){n=n||{};const i=s.getFullyQualifiedName(e,t),c=this.modelManager.getType(i);if(c.isAbstract()){let r=o.messageFormatter("factory-newinstance-abstracttype");throw new Error(r({namespace:e,type:t}))}let u=c.getIdentifierFieldName();if(c.isSystemIdentified()&&(r=null==r?g.newId():r),u){if("string"!=typeof r){let r=o.messageFormatter("factory-newinstance-invalididentifier");throw new Error(r({namespace:e,type:t}))}if(0===r.trim().length){let r=o.messageFormatter("factory-newinstance-missingidentifier");throw new Error(r({namespace:e,type:t}))}if(r){let e=c.getProperty(u);if(e?.isTypeScalar?.()&&(e=e.getScalarField()),e?.validator?.regex&&!1===e.validator?.regex.test(r))throw new Error("Provided id does not match regex: "+e?.validator?.regex)}}else if(r)throw new Error("Type is not identifiable "+c.getFullyQualifiedName());let m=null,f=null;return(c.isTransaction()||c.isEvent())&&(f=h.utc()),m=n.disableValidation?new p(this.modelManager,c,e,t,r,f):new d(this.modelManager,c,e,t,r,f,new l),m.assignFieldDefaults(),this.initializeNewObject(m,c,n),u&&(m[u]=r),a("newResource","Factory.newResource created ",r||"valid"),m}newConcept(e,t,r,n){return this.newResource(e,t,r,n)}newRelationship(e,t,r){const n=s.getFullyQualifiedName(e,t),a=this.modelManager.getType(n);if(!a.isIdentified())throw new Error(`Cannot create a relationship to ${n}, it is not identifiable.`);return new u(this.modelManager,a,e,t,r)}newTransaction(e,t,r,n){if(!e)throw new Error("ns not specified");if(!t)throw new Error("type not specified");let a=this.newResource(e,t,r,n);if(!a.getClassDeclaration().isTransaction())throw new Error(a.getClassDeclaration().getFullyQualifiedName()+" is not a transaction");return a}newEvent(e,t,r,n){if(!e)throw new Error("ns not specified");if(!t)throw new Error("type not specified");let a=this.newResource(e,t,r,n);if(!a.getClassDeclaration().isEvent())throw new Error(a.getClassDeclaration().getFullyQualifiedName()+" is not an event");return a}initializeNewObject(e,t,r){const a=this.parseGenerateOptions(r);if(a){a.stack=new n(e),a.seen=[e.getFullyQualifiedType()];const r=new i;t.accept(r,a)}}parseGenerateOptions(e){if(!e.generate)return null;const t={};return t.modelManager=this.modelManager,t.factory=this,/^empty$/i.test(e.generate)?t.valueGenerator=c.empty():t.valueGenerator=c.sample(),t.includeOptionalFields=!!e.includeOptionalFields,t}}e.exports=g},2438:(e,t,r)=>{"use strict";const n=r(8168);function a(e){return function(t){let r=n.en[e];for(let e in t)r=r.replace(new RegExp(`\\{${e}\\}`,"g"),t[e]);return r}}function o(e){return n.en[e]}function s(e){return{messageFormatter:a,formatMessage:o}}s.messageFormatter=a,s.formatMessage=o,e.exports=s},953:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"AssetDeclaration"}}},9869:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(5437),o=r(8171),s=r(1529),i=r(2438),c=r(1861),l=r(4471),u=r(6099),p=r(1768);void 0===r.g&&r(9852),e.exports=class extends a{process(){if(super.process(),this.properties=[],this.superType=null,this.superTypeDeclaration=null,this.idField=null,this.timestamped=!1,this.abstract=!1,this.type=this.ast.$class,this.ast.isAbstract&&(this.abstract=!0),this.ast.superType?this.superType=this.ast.superType.name:this.modelFile.isSystemModelFile()&&"Concept"===this.name||(this.superType="Concept"),this.ast.identified&&(this.ast.identified.$class===`${n}.IdentifiedBy`?this.idField=this.ast.identified.name:(this.idField="$identifier",this.addIdentifierField())),!Array.isArray(this.ast.properties)){let e=i.messageFormatter("classdeclaration-validate-undefined-properties");throw new c(e({class:this.name}),this.modelFile,this.ast.location)}for(let e=0;e<this.ast.properties.length;e++){let t=this.ast.properties[e];if(p.isSystemProperty(t.name))throw new c(`Invalid field name '${t.name}'`,this.modelFile,this.ast.location);if(t.$class===`${n}.RelationshipProperty`)this.properties.push(new u(this,t));else if(t.$class===`${n}.EnumProperty`)this.properties.push(new o(this,t));else{if(t.$class!==`${n}.BooleanProperty`&&t.$class!==`${n}.StringProperty`&&t.$class!==`${n}.IntegerProperty`&&t.$class!==`${n}.LongProperty`&&t.$class!==`${n}.DoubleProperty`&&t.$class!==`${n}.DateTimeProperty`&&t.$class!==`${n}.ObjectProperty`){let e=i.messageFormatter("classdeclaration-process-unrecmodelelem");throw new c(e({type:t.$class}),this.modelFile,this.ast.location)}this.properties.push(new s(this,t))}}"concerto@1.0.0.Transaction"!==this.fqn&&"concerto@1.0.0.Event"!==this.fqn||this.addTimestampField()}addTimestampField(){const e={};e.$class=`${n}.DateTimeProperty`,e.name="$timestamp",this.properties.push(new s(this,e))}addIdentifierField(){const e={};e.$class=`${n}.StringProperty`,e.name="$identifier",this.properties.push(new s(this,e))}_resolveSuperType(){if(!this.superType)return null;this.superTypeDeclaration=null;let e=null;if(this.getModelFile().isImportedType(this.superType)){let t=this.getModelFile().resolveImport(this.superType);e=this.modelFile.getModelManager().getType(t)}else e=this.getModelFile().getType(this.superType);if(!e)throw new c("Could not find super type "+this.superType,this.modelFile,this.ast.location);if("ConceptDeclaration"!==e.declarationKind()&&this.declarationKind()!==e.declarationKind())throw new c(`${this.declarationKind()} (${this.getName()}) cannot extend ${e.declarationKind()} (${e.getName()})`,this.modelFile,this.ast.location);return this.superTypeDeclaration=e,e}validate(){if(super.validate(),null!==this.superType){if(this.superType===this.name&&!["Asset","Concept","Event","Participant","Transaction"].includes(this.superType)){let e=i("en").messageFormatter("classdeclaration-validate-selfextending");throw new c(e({class:this.name}),this.modelFile,this.ast.location)}this._resolveSuperType()}if(this.idField){const e=this.getProperty(this.idField);if(!e){let e=i("en").messageFormatter("classdeclaration-validate-identifiernotproperty");throw new c(e({class:this.name,idField:this.idField}),this.modelFile,this.ast.location)}{const t="String"===e.getType(),r=e.getParent().getModelFile().getType(e.getType()),n=null!==r&&r.isScalarDeclaration?.()&&"String"===r.getType?.();if(!t&&!n){let e=i("en").messageFormatter("classdeclaration-validate-identifiernotstring");throw new c(e({class:this.name,idField:this.idField}),this.modelFile,this.ast.location)}if(e.isOptional())throw new c("Identifying fields cannot be optional.",this.modelFile,this.ast.location);if(this.superType){const e=this.getModelFile().getType(this.superType);if(e&&e.isIdentified())if(this.isSystemIdentified()){if(!e.isSystemIdentified())throw new c(`Super class ${e.getFullyQualifiedName()} has an explicit identifier ${e.getIdentifierFieldName()} that cannot be redeclared.`,this.modelFile,this.ast.location)}else if(e.isExplicitlyIdentified())throw new c(`Super class ${e.getFullyQualifiedName()} has an explicit identifier ${e.getIdentifierFieldName()} that cannot be redeclared.`,this.modelFile,this.ast.location)}}}const e=this.getProperties(),t=new Set;e.forEach((e=>{const r=e.getName();if(t.has(r)){const e=i("en").messageFormatter("classdeclaration-validate-duplicatefieldname");throw new c(e({class:this.name,fieldName:r}),this.modelFile,this.ast.location)}t.add(r)}));for(let t=0;t<e.length;t++){let r=e[t];if(r.isPrimitive()||this.isEnum()||r.getNamespace()===this.getNamespace())r.validate(this);else{const e=r.getFullyQualifiedTypeName(),t=this.modelFile.getModelManager().getType(e);r.validate(t)}}}isAbstract(){return this.abstract}isIdentified(){return!!this.getIdentifierFieldName()}isSystemIdentified(){return"$identifier"===this.getIdentifierFieldName()}isExplicitlyIdentified(){return!!this.idField&&"$identifier"!==this.idField}getIdentifierFieldName(){if(this.idField)return this.idField;if(this.getSuperType()){let e=this.getModelFile().getLocalType(this.getSuperType());return e||(e=this.modelFile.getModelManager().getType(this.getSuperType())),e.getIdentifierFieldName()}return null}getOwnProperty(e){for(let t=0;t<this.properties.length;t++){const r=this.properties[t];if(r.getName()===e)return r}return null}getOwnProperties(){return this.properties}getSuperType(){const e=this.getSuperTypeDeclaration();return e?e.getFullyQualifiedName():null}getSuperTypeDeclaration(){return this.superType?this.superTypeDeclaration?this.superTypeDeclaration:this._resolveSuperType():null}getAssignableClassDeclarations(){const e=new Set,t=this.getModelFile().getModelManager(),r=new l(t).getClassDeclarations(),n=new Map;r.forEach((e=>{const t=e.getSuperType();if(t){const r=n.get(t)||new Set;r.add(e),n.set(t,r)}}));const a=t=>{t.forEach((t=>{e.add(t);const r=t.getFullyQualifiedName(),o=n.get(r);o&&a(o)}))};return a([this]),Array.from(e)}getDirectSubclasses(){const e=this.getModelFile().getModelManager(),t=new l(e).getClassDeclarations(),r=new Map;t.forEach((e=>{const t=e.getSuperType();if(t){const n=r.get(t)||new Set;n.add(e),r.set(t,n)}}));const n=this.getFullyQualifiedName(),a=r.get(n);return a?Array.from(a):[]}getAllSuperTypeDeclarations(){const e=[];for(let t=this;t=t.getSuperTypeDeclaration();)e.push(t);return e}getProperty(e){let t=this.getOwnProperty(e),r=null;if(null===t&&null!==this.superType){if(this.getModelFile().isImportedType(this.superType)){let e=this.getModelFile().resolveImport(this.superType);r=this.modelFile.getModelManager().getType(e)}else r=this.getModelFile().getType(this.superType);t=r.getProperty(e)}return t}getProperties(){let e=this.getOwnProperties(),t=null;if(null!==this.superType){if(this.getModelFile().isImportedType(this.superType)){let e=this.getModelFile().resolveImport(this.superType);t=this.modelFile.getModelManager().getType(e)}else t=this.getModelFile().getType(this.superType);if(!t)throw new c("Could not find super type "+this.superType,this.modelFile,this.ast.location);e=e.concat(t.getProperties())}return e}getNestedProperty(e){const t=e.split(".");let r=this,n=null;for(let a=0;a<t.length;a++){if(n=r.getProperty(t[a]),null===n)throw new c("Property "+t[a]+" does not exist on "+r.getFullyQualifiedName(),this.modelFile,this.ast.location);if(a<t.length-1){if(n.isPrimitive()||n.isTypeEnum())throw new Error("Property "+t[a]+" is a primitive or enum. Invalid property path: "+e);r=r.getModelFile().getModelManager().getType(n.getFullyQualifiedTypeName())}}return n}toString(){let e="";return this.superType&&(e=" super="+this.superType),"ClassDeclaration {id="+this.getFullyQualifiedName()+e+" enum="+this.isEnum()+" abstract="+this.isAbstract()+"}"}isAsset(){return this.type===`${n}.AssetDeclaration`}isParticipant(){return this.type===`${n}.ParticipantDeclaration`}isTransaction(){return this.type===`${n}.TransactionDeclaration`}isEvent(){return this.type===`${n}.EventDeclaration`}isConcept(){return this.type===`${n}.ConceptDeclaration`}isEnum(){return this.type===`${n}.EnumDeclaration`}isMapDeclaration(){return this.type===`${n}.MapDeclaration`}isClassDeclaration(){return!0}}},6341:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"ConceptDeclaration"}}},5437:(e,t,r)=>{"use strict";const n=r(7688),a=r(1768),o=r(1861);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(t),this.modelFile=e,this.process()}process(){if(super.process(),!a.isValidIdentifier(this.ast.name))throw new o(`Invalid class name '${this.ast.name}'`,this.modelFile,this.ast.location);this.name=this.ast.name,this.fqn=a.getFullyQualifiedName(this.modelFile.getNamespace(),this.name)}getModelFile(){return this.modelFile}getName(){return this.name}getNamespace(){return this.modelFile.getNamespace()}getFullyQualifiedName(){return this.fqn}isIdentified(){return!1}isSystemIdentified(){return!1}getIdentifierFieldName(){return null}getType(){return null}toString(){return null}isEnum(){return!1}isClassDeclaration(){return!1}isScalarDeclaration(){return!1}isMapDeclaration(){return!1}}},7688:(e,t,r)=>{"use strict";const n=r(4404),a=r(1861);void 0===r.g&&r(6226),e.exports=class{constructor(e){if(!e)throw new Error("ast not specified");this.ast=e}getModelFile(){throw new Error("not implemented")}accept(e,t){return e.visit(this,t)}process(){if(this.decorators=[],this.ast.decorators)for(let e=0;e<this.ast.decorators.length;e++){let t,r=this.ast.decorators[e],a=this.getModelFile().getModelManager().getDecoratorFactories();for(let e of a)if(t=e.newDecorator(this,r),t)break;t||(t=new n(this,r)),this.decorators.push(t)}}validate(){if(this.decorators&&this.decorators.length>0){for(let e=0;e<this.decorators.length;e++)this.decorators[e].validate();const e=new Set;this.decorators.forEach((t=>{const r=t.getName();if(e.has(r)){const e=this.getModelFile();throw new a(`Duplicate decorator ${r}`,e,this.ast.location)}e.add(r)}))}}getDecorators(){return this.decorators}getDecorator(e){for(let t=0;t<this.decorators.length;t++){let r=this.decorators[t];if(r.getName()===e)return r}return null}}},4404:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),{Logger:a}=r(1209),o=r(1768),s=r(1861);void 0===r.g&&(r(9869),r(9852)),e.exports=class{constructor(e,t){this.ast=t,this.parent=e,this.arguments=null,this.process()}handleError(e,t){if(a.dispatch(e,t),"error"===e)throw new s(t,this.getParent().getModelFile(),this.ast.location)}accept(e,t){return e.visit(this,t)}getParent(){return this.parent}process(){if(this.name=this.ast.name,this.arguments=[],this.ast.arguments)for(let e=0;e<this.ast.arguments.length;e++){let t=this.ast.arguments[e];t&&(t.$class===`${n}.DecoratorTypeReference`?this.arguments.push({type:"Identifier",name:t.type.name,array:t.isArray}):this.arguments.push(t.value))}}validate(){const e=this.getParent().getModelFile(),t=this.getParent().getFullyQualifiedName?.(),r=e.getModelManager().getDecoratorValidation();if(r.missingDecorator||r.invalidDecorator)try{e.resolveType(t,this.getName(),this.ast.location);const n=e.getType(this.getName()),a=n.getProperties().filter((e=>!e.isOptional())),s=n.getProperties().filter((e=>e.isOptional())),i=[...a,...s];if(this.getArguments().length<a.length){const e=`Decorator ${this.getName()} has too few arguments. Required properties are: [${a.map((e=>e.getName())).join()}]`;this.handleError(r.invalidDecorator,e)}const c=this.getArguments();for(let t=0;t<c.length;t++){const n=c[t];if(t>i.length-1){const e=`Decorator ${this.getName()} has too many arguments. Properties are: [${i.map((e=>e.getName())).join()}]`;this.handleError(r.invalidDecorator,e)}else{const a=i[t],s=typeof n;switch(a.getType()){case"Integer":case"Double":case"Long":if("number"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected number. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;case"String":if("string"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected string. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;case"Boolean":if("boolean"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected boolean. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;default:{if("object"!==s||"Identifier"!==n?.type){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected object. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}const t=e.getType(n.name);if(t){if(!o.isAssignableTo(t.getModelFile(),t.getFullyQualifiedName(),a)){const e=`Decorator ${this.getName()} references a type ${n.name} which cannot be assigned to the declared type ${a.getFullyQualifiedTypeName()}`;this.handleError(r.invalidDecorator,e)}}else{const e=`Decorator ${this.getName()} references a type ${n.name} which has not been defined/imported.`;this.handleError(r.invalidDecorator,e)}break}}}}}catch(e){this.handleError(r.missingDecorator,e)}}getName(){return this.name}getArguments(){return this.arguments}isDecorator(){return!0}}},8088:(e,t,r)=>{"use strict";void 0===r.g&&(r(9869),r(4404),r(9852)),e.exports=class{newDecorator(e,t){throw new Error("abstract function called")}}},2302:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}toString(){return"EnumDeclaration {id="+this.getFullyQualifiedName()+"}"}declarationKind(){return"EnumDeclaration"}}},8171:(e,t,r)=>{"use strict";const n=r(9852);void 0===r.g&&r(9869),e.exports=class extends n{constructor(e,t){super(e,t)}validate(e){super.validate(e)}isEnumValue(){return!0}}},7337:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}process(){super.process()}declarationKind(){return"EventDeclaration"}}},1529:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(9852),o=r(1976),s=r(516),i=r(1209).NullUtil;void 0===r.g&&(r(9869),r(6375));class c extends a{constructor(e,t){super(e,t),this.scalarField=null}process(){switch(super.process(),this.validator=null,this.getType()){case"Integer":case"Double":case"Long":this.ast.validator&&(this.validator=new o(this,this.ast.validator));break;case"String":(this.ast.validator||this.ast.lengthValidator)&&(this.validator=new s(this,this.ast.validator,this.ast.lengthValidator))}i.isNull(this.ast.defaultValue)?this.defaultValue=null:this.defaultValue=this.ast.defaultValue}getValidator(){return this.validator}getDefaultValue(){return this.defaultValue}toString(){return"Field {name="+this.name+", type="+this.getFullyQualifiedTypeName()+", array="+this.array+", optional="+this.optional+"}"}isField(){return!0}isTypeScalar(){if(this.isPrimitive())return!1;{this.getParent().getModelFile().resolveType("property "+this.getFullyQualifiedName(),this.getType());const e=this.getParent().getModelFile().getType(this.getType());return e.isScalarDeclaration?.()}}getScalarField(){if(this.scalarField)return this.scalarField;if(!this.isTypeScalar())throw new Error(`Field ${this.name} is not a scalar property.`);const e=this.getParent().getModelFile().getType(this.getType()),t=JSON.parse(JSON.stringify(e.ast));switch(e.ast.$class){case`${n}.StringScalar`:t.$class=`${n}.StringProperty`;break;case`${n}.BooleanScalar`:t.$class=`${n}.BooleanProperty`;break;case`${n}.DateTimeScalar`:t.$class=`${n}.DateTimeProperty`;break;case`${n}.DoubleScalar`:t.$class=`${n}.DoubleProperty`;break;case`${n}.IntegerScalar`:t.$class=`${n}.IntegerProperty`;break;case`${n}.LongScalar`:t.$class=`${n}.LongProperty`;break;default:throw new Error(`Unrecognized scalar type ${e.ast.$class}`)}return t.name=this.ast.name,this.scalarField=new c(this.getParent(),t),this.scalarField.array=this.isArray(),this.scalarField}}e.exports=c},8058:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t),this.process()}}},1861:(e,t,r)=>{"use strict";const{BaseFileException:n}=r(1209);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t,r,n){let a="",o=null;t&&t.getName()&&(o=t.getName(),a="File '"+o+"': "),r&&(a=a+"line "+r.start.line+" column "+r.start.column+", to line "+r.end.line+" column "+r.end.column+". "),a=a.charAt(0).toUpperCase()+a.slice(1),super(e,r,e+" "+a,o,n)}}},4471:(e,t,r)=>{"use strict";void 0===r.g&&(r(9869),r(9481)),e.exports=class{constructor(e){this.modelManager=e}accept(e,t){return e.visit(this,t)}getClassDeclarations(){let e=[];const t=this.modelManager.getModelFiles();for(let r=0;r<t.length;r++){const n=t[r].getAllDeclarations().filter((e=>!e.isMapDeclaration?.()&&!e.isScalarDeclaration?.()));e=e.concat(n)}return e}getClassDeclaration(e){return this.modelManager.getType(e)}getModelManager(){return this.modelManager}}},3135:(e,t,r)=>{"use strict";const n=r(5437),a=r(1861),o=r(7046),s=r(8968),i=r(1768);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){const r=e.getModelManager();if("true"!=={NODE_ENV:"production"}.ENABLE_MAP_TYPE&&!r.enableMapType)throw new Error('MapType feature is not enabled. Please set the environment variable "ENABLE_MAP_TYPE=true", or add {enableMapType: true} to the ModelManger options, to access this functionality.');super(e,t),this.modelFile=e,this.process()}process(){if(super.process(),!this.ast.key||!this.ast.value)throw new a(`MapDeclaration must contain Key & Value properties ${this.ast.name}`,this.modelFile,this.ast.location);if(!i.isValidMapKey(this.ast.key))throw new a(`MapDeclaration must contain valid MapKeyType ${this.ast.name}`,this.modelFile,this.ast.location);if(!i.isValidMapValue(this.ast.value))throw new a(`MapDeclaration must contain valid MapValueType, for MapDeclaration ${this.ast.name}`,this.modelFile,this.ast.location);this.name=this.ast.name,this.key=new s(this,this.ast.key),this.value=new o(this,this.ast.value),this.fqn=i.getFullyQualifiedName(this.modelFile.getNamespace(),this.ast.name)}validate(){super.validate(),this.key.validate(),this.value.validate()}getFullyQualifiedName(){return this.fqn}getModelFile(){return this.modelFile}getName(){return this.name}getKey(){return this.key}getValue(){return this.value}toString(){return"MapDeclaration {id="+this.getFullyQualifiedName()+"}"}declarationKind(){return"MapDeclaration"}isMapDeclaration(){return!0}}},8968:(e,t,r)=>{"use strict";const n=r(1768),{MetaModelNamespace:a}=r(3348),o=r(7688),s=r(1861);void 0===r.g&&(r(6226),r(3135)),e.exports=class extends o{constructor(e,t){super(t),this.parent=e,this.modelFile=e.getModelFile(),this.process()}process(){super.process(),this.processType(this.ast)}validate(){if(!n.isPrimitiveType(this.type)){const e=this.modelFile.getType(this.ast.type.name);if(!n.isValidMapKeyScalar(e))throw new s(`Scalar must be one of StringScalar, DateTimeScalar in context of MapKeyType. Invalid Scalar: ${this.type}, for MapDeclaration ${this.parent.name}`)}}processType(e){switch(e.$class){case`${a}.DateTimeMapKeyType`:this.type="DateTime";break;case`${a}.StringMapKeyType`:this.type="String";break;case`${a}.ObjectMapKeyType`:this.type=String(this.ast.type.name)}}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}getType(){return this.type}toString(){return"MapKeyType {id="+this.getType()+"}"}isKey(){return!0}isValue(){return!1}getNamespace(){return this.modelFile.getNamespace()}}},7046:(e,t,r)=>{"use strict";const n=r(7688),{MetaModelNamespace:a}=r(3348),o=r(1861),s=r(1768);void 0===r.g&&(r(6226),r(3135)),e.exports=class extends n{constructor(e,t){super(t),this.parent=e,this.modelFile=e.getModelFile(),this.process()}process(){super.process(),this.processType(this.ast)}validate(){if(!s.isPrimitiveType(this.type)){const e=this.modelFile.getType(this.ast.type.name);if(e.isMapDeclaration?.())throw new o(`MapDeclaration as Map Type Value is not supported: ${this.type}`)}}processType(e){switch(this.ast.$class){case`${a}.ObjectMapValueType`:if(!("type"in e))throw new o(`ObjectMapValueType must contain property 'type', for MapDeclaration named ${this.parent.name}`);if(!("$class"in e.type)||!("name"in e.type))throw new o(`ObjectMapValueType type must contain property '$class' and property 'name', for MapDeclaration named ${this.parent.name}`);if("concerto.metamodel@1.0.0.TypeIdentifier"!==e.type.$class)throw new o(`ObjectMapValueType type $class must be of TypeIdentifier for MapDeclaration named ${this.parent.name}`);this.type=String(this.ast.type.name);break;case`${a}.BooleanMapValueType`:this.type="Boolean";break;case`${a}.DateTimeMapValueType`:this.type="DateTime";break;case`${a}.StringMapValueType`:this.type="String";break;case`${a}.IntegerMapValueType`:this.type="Integer";break;case`${a}.LongMapValueType`:this.type="Long";break;case`${a}.DoubleMapValueType`:this.type="Double"}}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}getType(){return this.type}toString(){return"MapValueType {id="+this.getType()+"}"}isKey(){return!1}isValue(){return!0}getNamespace(){return this.modelFile.getNamespace()}}},3899:(e,t,r)=>{"use strict";const{MetaModelUtil:n}=r(3348),a=r(9481),o=r(1595),s=r(3673),i=r(6226);function c(){const e=new a,t=new i(e,n.metaModelAst,n.metaModelCto,"concerto.metamodel",!0);return e.addModelFile(t,n.metaModelCto,"concerto.metamodel"),e}function l(e){const t=c(),r=new o(t);return new s(r,t).fromJSON(e),e}e.exports={newMetaModelManager:c,validateMetaModel:l,modelManagerFromMetaModel:function(e){const t=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?e:l(e),r=new a;return t.models.forEach((e=>{const t=new i(r,e,null,null,!0);r.addModelFile(t,null,null)})),r.validateModelFiles(),r}}},6226:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(8330),o=r(2722),s=r(953),i=r(2302),c=r(9869),l=r(6341),u=r(7189),p=r(3218),d=r(745),m=r(7337),h=r(1861),f=r(3135),g=r(1768),y=r(2438),v=r(7688),{Warning:$,ErrorCodes:A}=r(1209);void 0===r.g&&(r(9869),r(9481),r(5437));class b extends v{constructor(e,t,r,n){if(super(t),this.modelManager=e,this.external=!1,this.declarations=[],this.localTypes=null,this.imports=[],this.importShortNames=new Map,this.importWildcardNamespaces=[],this.importUriMap={},this.fileName="UNKNOWN",this.concertoVersion=null,this.version=null,!t||"object"!=typeof t)throw new Error("ModelFile expects a Concerto model AST as input.");if(this.ast=t,r&&"string"!=typeof r)throw new Error("ModelFile expects an (optional) Concerto model definition as a string.");if(this.definitions=r,n&&"string"!=typeof n)throw new Error("ModelFile expects an (optional) filename as a string.");this.fileName=n,n&&(this.external=n.startsWith("@")),this.process(),this.fromAst(this.ast),this.isCompatibleVersion(),this.localTypes=new Map;for(let e in this.declarations){let t=this.declarations[e],r=this.getNamespace()+"."+t.getName();this.localTypes.set(r,this.declarations[e])}}getModelFile(){return this}isModelFile(){return!0}getVersion(){return this.version}isSystemModelFile(){return this.namespace.startsWith("concerto@")||"concerto"===this.namespace}isExternal(){return this.external}getImportURI(e){return this.importUriMap[e]||null}getExternalImports(){return this.importUriMap}accept(e,t){return e.visit(this,t)}getModelManager(){return this.modelManager}getImports(){let e=[];return this.imports.forEach((t=>{e=e.concat(g.importFullyQualifiedNames(t))})),e}validate(){super.validate();const e=new Map;this.getImports().forEach((t=>{const r=g.getNamespace(t),n=g.getShortName(t),a=this.getModelManager().getModelFile(r),{name:o,version:s}=g.parseNamespace(r);if(!a){let e=y.messageFormatter("modelmanager-gettype-noregisteredns");throw new h(e({type:t}),this)}const i=e.get(o);if("concerto"!==o&&void 0!==i&&i!==s){let e=y.messageFormatter("modelmanager-gettype-duplicatensimport");throw new h(e({namespace:r,version1:i,version2:s}),this)}if(e.set(o,s),!t.endsWith("*")&&!a.isLocalType(n)){let e=y.messageFormatter("modelmanager-gettype-notypeinns");throw new h(e({type:n,namespace:r}),this)}}));const t=new Set;this.declarations.forEach((e=>{const r=e.getFullyQualifiedName();if(t.has(r))throw new h(`Duplicate class name ${r}`);t.add(r)}));for(let e=0;e<this.declarations.length;e++)this.declarations[e].validate()}resolveType(e,t,r){if(!g.isPrimitiveType(t))if(this.isImportedType(t))this.getModelManager().resolveType(e,this.resolveImport(t));else if(!this.isLocalType(t)){let n=y("en").messageFormatter("modelfile-resolvetype-undecltype");throw new h(n({type:t,context:e}),this,r)}}isLocalType(e){return e&&null!==this.getLocalType(e)}isImportedType(e){if(this.importShortNames.has(e))return!0;for(let t in this.importWildcardNamespaces){let r=this.importWildcardNamespaces[t];const n=this.getModelManager().getModelFile(r);if(n&&n.isLocalType(e))return!0}return!1}resolveImport(e){if(this.importShortNames.has(e))return this.importShortNames.get(e);for(let t in this.importWildcardNamespaces){let r=this.importWildcardNamespaces[t];const n=this.getModelManager().getModelFile(r);if(n&&n.isLocalType(e))return r+"."+e}let t=y("en").messageFormatter("modelfile-resolveimport-failfindimp");throw new h(t({type:e,imports:JSON.stringify(this.imports),namespace:this.getNamespace()}),this)}getImportedType(e){return this.resolveImport(e).split(".").pop()}isDefined(e){return g.isPrimitiveType(e)||null!==this.getLocalType(e)}getType(e){if(g.isPrimitiveType(e))return e;if(this.isImportedType(e)){const t=this.resolveImport(e),r=this.getModelManager().getModelFile(g.getNamespace(t));return r?r.getLocalType(t):null}return this.isLocalType(e)?this.getLocalType(e):null}getFullyQualifiedTypeName(e){return g.isPrimitiveType(e)?e:this.isImportedType(e)?this.resolveImport(e):this.isLocalType(e)?this.getLocalType(e).getFullyQualifiedName():null}getLocalType(e){if(!this.localTypes)throw new Error("Internal error: local types are not yet initialized. Do not try to resolve types inside `process`.");return e.startsWith(this.getNamespace())||(e=this.getNamespace()+"."+e),this.localTypes.has(e)?this.localTypes.get(e):null}getAssetDeclaration(e){let t=this.getLocalType(e);return t&&t.isAsset()?t:null}getTransactionDeclaration(e){let t=this.getLocalType(e);return t&&t.isTransaction()?t:null}getEventDeclaration(e){let t=this.getLocalType(e);return t&&t.isEvent()?t:null}getParticipantDeclaration(e){let t=this.getLocalType(e);return t&&t.isParticipant()?t:null}getNamespace(){return this.namespace}getName(){return this.fileName}getAssetDeclarations(){return this.getDeclarations(s)}getTransactionDeclarations(){return this.getDeclarations(d)}getEventDeclarations(){return this.getDeclarations(m)}getParticipantDeclarations(){return this.getDeclarations(p)}getClassDeclarations(){return this.getDeclarations(c)}getConceptDeclarations(){return this.getDeclarations(l)}getEnumDeclarations(){return this.getDeclarations(i)}getMapDeclarations(){return this.getDeclarations(f)}getScalarDeclarations(){return this.getDeclarations(u)}getDeclarations(e){let t=[];for(let r=0;r<this.declarations.length;r++){let n=this.declarations[r];n instanceof e&&t.push(n)}return t}getAllDeclarations(){return this.declarations}getDefinitions(){return this.definitions}getAst(){return this.ast}getConcertoVersion(){return this.concertoVersion}isCompatibleVersion(){if(this.ast.concertoVersion){if(!o.satisfies(a.version,this.ast.concertoVersion,{includePrerelease:!0}))throw new Error(`ModelFile expects Concerto version ${this.ast.concertoVersion} but this is ${a.version}`);this.concertoVersion=this.ast.concertoVersion}}enforceImportVersioning(e){if(this.getModelManager().isStrict()&&!g.parseNamespace(e.namespace).version)throw new Error(`Cannot use an unversioned import ${e.namespace} when 'strict' option on Model Manager is set.`)}fromAst(e){const t=g.parseNamespace(e.namespace);t.name.split(".").forEach((e=>{if(!g.isValidIdentifier(e))throw new h(`Invalid namespace part '${e}'`,this.modelFile,this.ast.location)})),this.namespace=e.namespace,this.version=t.version;const r=e.imports?e.imports.concat([]):[];if(this.isSystemModelFile()||r.push({$class:`${n}.ImportTypes`,namespace:"concerto@1.0.0",types:["Concept","Asset","Transaction","Participant","Event"]}),this.imports=r,this.imports.forEach((e=>{switch(this.enforceImportVersioning(e),e.$class){case`${n}.ImportAll`:if(this.getModelManager().isStrict())throw new Error("Wilcard Imports are not permitted in strict mode.");$.printDeprecationWarning("Wilcard Imports are deprecated in this version of Concerto and will be removed in a future version.",A.DEPRECATION_WARNING,A.CONCERTO_DEPRECATION_002,"Please refer to https://concerto.accordproject.org/deprecation/002"),this.importWildcardNamespaces.push(e.namespace);break;case`${n}.ImportTypes`:if(this.getModelManager().isAliasedTypeEnabled()){const t=new Map;e.aliasedTypes&&e.aliasedTypes.forEach((e=>{let{name:r,aliasedName:n}=e;if(g.isPrimitiveType(n))throw new Error("Types cannot be aliased to primitive type");t.set(r,n)})),e.types.forEach((r=>t.has(r)?this.importShortNames.set(t.get(r),`${e.namespace}.${r}`):this.importShortNames.set(r,`${e.namespace}.${r}`)))}else{if(e.aliasedTypes)throw new Error("Aliasing disabled, set importAliasing to true");e.types.forEach((t=>{this.importShortNames.set(t,`${e.namespace}.${t}`)}))}break;default:this.importShortNames.set(e.name,g.importFullyQualifiedNames(e)[0])}e.uri&&(this.importUriMap[g.importFullyQualifiedNames(e)[0]]=e.uri)})),e.declarations)for(let t=0;t<e.declarations.length;t++){let r=Object.assign({},e.declarations[t]);if(r.$class===`${n}.AssetDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Asset"}),this.declarations.push(new s(this,r));else if(r.$class===`${n}.TransactionDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Transaction"}),this.declarations.push(new d(this,r));else if(r.$class===`${n}.EventDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Event"}),this.declarations.push(new m(this,r));else if(r.$class===`${n}.ParticipantDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Participant"}),this.declarations.push(new p(this,r));else if(r.$class===`${n}.EnumDeclaration`)this.declarations.push(new i(this,r));else if(r.$class===`${n}.MapDeclaration`)this.declarations.push(new f(this,r));else if(r.$class===`${n}.ConceptDeclaration`)this.declarations.push(new l(this,r));else{if(![`${n}.BooleanScalar`,`${n}.IntegerScalar`,`${n}.LongScalar`,`${n}.DoubleScalar`,`${n}.StringScalar`,`${n}.DateTimeScalar`].includes(r.$class)){let e=y("en").messageFormatter("modelfile-constructor-unrecmodelelem");throw new h(e({type:r.$class}),this)}this.declarations.push(new u(this,r))}}}filter(e,t,r){let n=[];this.declarations?.forEach((t=>{e(t)?n.push(t.ast):r.push(t.getFullyQualifiedName())}));const a={...this.ast,declarations:n};return a.declarations?.length>0?new b(t,a,void 0,this.fileName):null}}e.exports=b},1976:(e,t,r)=>{"use strict";const{isNull:n}=r(1209).NullUtil,a=r(6375);void 0===r.g&&(r(1529),r(7189));class o extends a{constructor(e,t){super(e,t),this.lowerBound=null,this.upperBound=null,Object.prototype.hasOwnProperty.call(t,"lower")&&(this.lowerBound=t.lower),Object.prototype.hasOwnProperty.call(t,"upper")&&(this.upperBound=t.upper),null===this.lowerBound&&null===this.upperBound?this.reportError(null,"Invalid range, lower and-or upper bound must be specified."):null===this.lowerBound||null===this.upperBound||this.lowerBound>this.upperBound&&this.reportError(null,"Lower bound must be less than or equal to upper bound.")}getLowerBound(){return this.lowerBound}getUpperBound(){return this.upperBound}validate(e,t){null!==t&&(null!==this.lowerBound&&t<this.lowerBound&&this.reportError(e,`Value ${t} is outside lower bound ${this.lowerBound}`),null!==this.upperBound&&t>this.upperBound&&this.reportError(e,`Value ${t} is outside upper bound ${this.upperBound}`))}toString(){return"NumberValidator lower: "+this.lowerBound+" upper: "+this.upperBound}compatibleWith(e){if(!(e instanceof o))return!1;const t=this.getLowerBound(),r=e.getLowerBound();if(n(t)&&!n(r))return!1;if(!n(t)&&!n(r)&&t<r)return!1;const a=this.getUpperBound(),s=e.getUpperBound();return!(n(a)&&!n(s)||!n(a)&&!n(s)&&a>s)}}e.exports=o},3218:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"ParticipantDeclaration"}}},9852:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(1768),o=r(1861),s=r(7688);void 0===r.g&&(r(9869),r(6226)),e.exports=class extends s{constructor(e,t){super(t),this.parent=e,this.process()}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}process(){if(super.process(),!a.isValidIdentifier(this.ast.name))throw new o(`Invalid property name '${this.ast.name}'`,this.modelFile,this.ast.location);if(this.name=this.ast.name,this.decorator=null,!this.name)throw new Error("No name for type "+JSON.stringify(this.ast));switch(this.ast.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanProperty`:this.type="Boolean";break;case`${n}.DateTimeProperty`:this.type="DateTime";break;case`${n}.DoubleProperty`:this.type="Double";break;case`${n}.IntegerProperty`:this.type="Integer";break;case`${n}.LongProperty`:this.type="Long";break;case`${n}.StringProperty`:this.type="String";break;case`${n}.ObjectProperty`:this.type=this.ast.type?this.ast.type.name:null;break;case`${n}.RelationshipProperty`:this.type=this.ast.type.name}this.array=!1,this.ast.isArray&&(this.array=!0),this.ast.isOptional?this.optional=!0:this.optional=!1}validate(e){super.validate(),this.type&&e.getModelFile().resolveType("property "+this.getFullyQualifiedName(),this.type)}getName(){return this.name}getType(){return this.type}isOptional(){return this.optional}getFullyQualifiedTypeName(){if(this.isPrimitive())return this.type;const e=this.getParent();if(!e)throw new Error("Property "+this.name+" does not have a parent.");const t=e.getModelFile();if(!t)throw new Error("Parent of property "+this.name+" does not have a ModelFile!");const r=t.getFullyQualifiedTypeName(this.type);if(!r)throw new Error("Failed to find fully qualified type name for property "+this.name+" with type "+this.type);return r}getFullyQualifiedName(){return this.getParent().getFullyQualifiedName()+"."+this.getName()}getNamespace(){return this.getParent().getNamespace()}isArray(){return this.array}isTypeEnum(){return!this.isPrimitive()&&this.getParent().getModelFile().getType(this.getType()).isEnum()}isPrimitive(){return a.isPrimitiveType(this.getType())}}},6099:(e,t,r)=>{"use strict";const n=r(9852),a=r(1861),o=r(1768);void 0===r.g&&r(9869),e.exports=class extends n{constructor(e,t){super(e,t)}validate(e){if(super.validate(e),!this.getType())throw new a("Relationship must have a type",e.getModelFile(),this.ast.location);let t=null;if(o.isPrimitiveType(this.getType()))throw new a("Relationship "+this.getName()+" cannot be to the primitive type "+this.getType(),e.getModelFile(),this.ast.location);if(this.getParent().getNamespace()===o.getNamespace(this.getFullyQualifiedTypeName()))t=this.getParent().getModelFile().getType(this.getType());else try{t=this.getParent().getModelFile().getModelManager().getType(this.getFullyQualifiedTypeName())}catch(e){}if(null===t)throw new a("Relationship "+this.getName()+" points to a missing type "+this.getFullyQualifiedTypeName(),e.getModelFile(),this.ast.location);if(!t.isIdentified())throw new a("Relationship "+this.getName()+" must be to a class that has an identifier, but this is to "+this.getFullyQualifiedTypeName(),e.getModelFile(),this.ast.location)}toString(){return"RelationshipDeclaration {name="+this.name+", type="+this.getFullyQualifiedTypeName()+", array="+this.array+", optional="+this.optional+"}"}isRelationship(){return!0}}},7189:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(5437),o=r(1976),s=r(516),i=r(1209).NullUtil;void 0===r.g&&(r(6375),r(9869)),e.exports=class extends a{process(){switch(super.process(),this.superType=null,this.superTypeDeclaration=null,this.idField=null,this.timestamped=!1,this.abstract=!1,this.validator=null,this.ast.$class===`${n}.BooleanScalar`?this.type="Boolean":this.ast.$class===`${n}.IntegerScalar`?this.type="Integer":this.ast.$class===`${n}.LongScalar`?this.type="Long":this.ast.$class===`${n}.DoubleScalar`?this.type="Double":this.ast.$class===`${n}.StringScalar`?this.type="String":this.ast.$class===`${n}.DateTimeScalar`?this.type="DateTime":this.type=null,this.getType()){case"Integer":case"Double":case"Long":this.ast.validator&&(this.validator=new o(this,this.ast.validator));break;case"String":(this.ast.validator||this.ast.lengthValidator)&&(this.validator=new s(this,this.ast.validator,this.ast.lengthValidator))}i.isNull(this.ast.defaultValue)?this.defaultValue=null:this.defaultValue=this.ast.defaultValue}validate(){super.validate()}isIdentified(){return!1}isSystemIdentified(){return!1}getIdentifierFieldName(){return null}getType(){return this.type}getSuperType(){return null}getSuperTypeDeclaration(){return null}getValidator(){return this.validator}getDefaultValue(){return this.defaultValue}toString(){return"ScalarDeclaration {id="+this.getFullyQualifiedName()+"}"}isAbstract(){return!0}isScalarDeclaration(){return!0}isAsset(){return!1}isParticipant(){return!1}isTransaction(){return!1}isEvent(){return!1}isConcept(){return!1}}},516:(e,t,r)=>{"use strict";const{ErrorCodes:n}=r(1209),{isNull:a}=r(1209).NullUtil,o=r(6375);void 0===r.g&&(r(1529),r(7189));class s extends o{constructor(e,t,r){if(super(e,t),this.minLength=null,this.maxLength=null,this.regex=null,r&&(this.minLength=r?.minLength,this.maxLength=r?.maxLength,null===this.minLength&&null===this.maxLength?this.reportError(e.getName(),"Invalid string length, minLength and-or maxLength must be specified."):this.minLength<0||this.maxLength<0?this.reportError(e.getName(),"minLength and-or maxLength must be positive integers."):null===this.minLength||null===this.maxLength||this.minLength>this.maxLength&&this.reportError(e.getName(),"minLength must be less than or equal to maxLength.")),t)try{const r=e?.parent?.getModelFile()?.getModelManager()?.options?.regExp||RegExp;this.regex=new r(t.pattern,t.flags)}catch(t){this.reportError(e.getName(),t.message,n.REGEX_VALIDATOR_EXCEPTION)}}validate(e,t){null!==t&&(null!==this.minLength&&t.length<this.minLength&&this.reportError(e,`The string length of '${t}' should be at least ${this.minLength} characters.`),null!==this.maxLength&&t.length>this.maxLength&&this.reportError(e,`The string length of '${t}' should not exceed ${this.maxLength} characters.`),this.regex&&!this.regex.test(t)&&this.reportError(e,`Value '${t}' failed to match validation regex: ${this.regex}`))}getMinLength(){return this.minLength}getMaxLength(){return this.maxLength}getRegex(){return this.regex}compatibleWith(e){if(!(e instanceof s))return!1;if(this.validator?.pattern!==e.validator?.pattern)return!1;if(this.validator?.flags!==e.validator?.flags)return!1;const t=this.getMinLength(),r=e.getMinLength();if(a(t)&&!a(r))return!1;if(!a(t)&&!a(r)&&t<r)return!1;const n=this.getMaxLength(),o=e.getMaxLength();return!(a(n)&&!a(o)||!a(n)&&!a(o)&&n>o)}}e.exports=s},745:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"TransactionDeclaration"}}},6375:(e,t,r)=>{"use strict";const{BaseException:n,ErrorCodes:a}=r(1209);void 0===r.g&&(r(1529),r(7189)),e.exports=class{constructor(e,t){this.validator=t,this.field=e}reportError(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.DEFAULT_VALIDATOR_EXCEPTION;throw new n("Validator error for field `"+e+"`. "+this.getFieldOrScalarDeclaration().getFullyQualifiedName()+": "+t,void 0,r)}accept(e,t){return e.visit(this,t)}getFieldOrScalarDeclaration(){return this.field}validate(e,t){}compatibleWith(e){return!1}}},5430:(e,t,r)=>{"use strict";const{BaseException:n}=r(1209);e.exports=class extends n{constructor(e){super(e)}}},9259:(e,t,r)=>{"use strict";const n=r(2410),a=r(2523);e.exports=class extends a{constructor(e,t,r,n,a,o){super(e,t,r,n);const s=this.$modelManager.getModelFile(this.getNamespace()),i=s?.getType(this.getFullyQualifiedType());this.$identifierFieldName=i?.getIdentifierFieldName()||"$identifier",this.setIdentifier(a),this.$timestamp=o}getTimestamp(){return this.$timestamp}getIdentifier(){return this[this.$identifierFieldName]}setIdentifier(e){this.$identifier=e,this[this.$identifierFieldName]=e}getFullyQualifiedIdentifier(){return this.getIdentifier()?this.getFullyQualifiedType()+"#"+this.getIdentifier():this.getFullyQualifiedType()}toString(){return"Identifiable {id="+this.getFullyQualifiedIdentifier()+"}"}isRelationship(){return!1}isResource(){return!1}toURI(){return new n(this.getNamespace(),this.getType(),this.getIdentifier()).toURI()}}},6113:(e,t,r)=>{"use strict";const n=r(9259),a=r(1768),o=r(2410);void 0===r.g&&r(9481);class s extends n{constructor(e,t,r,n,a,o){super(e,t,r,n,a,o),this.$class="Relationship"}toString(){return"Relationship {id="+this.getFullyQualifiedIdentifier()+"}"}isRelationship(){return!0}static fromURI(e,t,r,n){const i=o.fromURI(t,r,n);let c=a.getFullyQualifiedName(i.namespace,i.type),l=e.getType(c);return new s(e,l,i.namespace,i.type,i.id)}}e.exports=s},7755:(e,t,r)=>{"use strict";const n=r(9259);e.exports=class extends n{constructor(e,t,r,n,a,o){super(e,t,r,n,a,o)}toString(){return"Resource {id="+this.getFullyQualifiedIdentifier()+"}"}isResource(){return!0}isConcept(){return this.getClassDeclaration().isConcept()}isIdentifiable(){return this.getClassDeclaration().isIdentified()}toJSON(){return this.getModelManager().getSerializer().toJSON(this)}}},2410:(e,t,r)=>{"use strict";const n=r(9472),a=r(1768),o="resource";class s{constructor(e,t,r){if(!e)throw new Error("Missing namespace");if(!t)throw new Error("Missing type");if(!r)throw new Error("Missing id");this.namespace=e,this.type=t,this.id=r}static fromURI(e,t,r){let i;try{i=n.parse(e)}catch(t){throw new Error("Invalid URI: "+e)}const c=i.protocol;if(c&&c!==o)throw new Error("Invalid URI scheme: "+e);if(i.username||i.password||i.port||i.query)throw new Error("Invalid resource URI format: "+e);let l,u,p=i.fragment;if(p){const e=i.path;l=a.getNamespace(e),u=a.getShortName(e)}else l=t,u=r,p=i.path;return new s(l,u,decodeURIComponent(p))}toURI(){const e=a.getFullyQualifiedName(this.namespace,this.type);return o+":"+e+"#"+encodeURI(this.id)}}e.exports=s},2523:(e,t,r)=>{"use strict";const n=r(3464),a=r(7657),o=r(1209).NullUtil;n.extend(a),void 0===r.g&&(r(9869),r(9481)),e.exports=class{constructor(e,t,r,n){this.$modelManager=e,this.$classDeclaration=t,this.$namespace=r,this.$type=n}accept(e,t){return e.visit(this,t)}getModelManager(){return this.$modelManager}getType(){return this.$type}getFullyQualifiedType(){return this.$classDeclaration.getFullyQualifiedName()}getNamespace(){return this.$namespace}getClassDeclaration(){return this.$classDeclaration}setPropertyValue(e,t){this[e]=t}addArrayValue(e,t){this[e]?this[e].push(t):this[e]=[t]}assignFieldDefaults(){let e=this.getClassDeclaration().getProperties();for(let t=0;t<e.length;t++){let r,a,s=e[t];if(s.isTypeScalar?.()&&(s=s.getScalarField()),s.isField?.()&&(r=s.getDefaultValue(),a=s.getType()),!o.isNull(r))if("String"===a)this.setPropertyValue(s.getName(),r);else if("Integer"===a)this.setPropertyValue(s.getName(),parseInt(r));else if("Long"===a)this.setPropertyValue(s.getName(),parseInt(r));else if("Double"===a)this.setPropertyValue(s.getName(),parseFloat(r));else if("Boolean"===a)this.setPropertyValue(s.getName(),!0===r);else if("DateTime"===a){const e=n.utc(r);this.setPropertyValue(s.getName(),e)}else this.setPropertyValue(s.getName(),r)}}instanceOf(e){const t=this.getClassDeclaration();if(t.getFullyQualifiedName()===e)return!0;let r=t.getSuperTypeDeclaration();for(;r;){if(r.getFullyQualifiedName()===e)return!0;r=r.getSuperTypeDeclaration()}return!1}toJSON(){throw new Error("Use Serializer.toJSON to convert resource instances to JSON objects.")}}},289:(e,t,r)=>{"use strict";const n=r(1209).TypedStack,a=r(7755);e.exports=class extends a{constructor(e,t,r,n,a,o,s){super(e,t,r,n,a,o),this.$validator=s}setPropertyValue(e,t){let r=this.getClassDeclaration().getProperty(e);if(!r)throw new Error("The instance with id "+this.getIdentifier()+" trying to set field "+e+" which is not declared in the model.");const a={};a.stack=new n(t),a.modelManager=this.getModelManager(),a.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),r.accept(this.$validator,a),super.setPropertyValue(e,t)}addArrayValue(e,t){let r=this.getClassDeclaration().getProperty(e);if(!r)throw new Error("The instance with id "+this.getIdentifier()+" trying to set field "+e+" which is not declared in the model.");if(!r.isArray())throw new Error("The instance with id "+this.getIdentifier()+" trying to add array item "+e+" which is not declared as an array in the model.");const a={};let o=[];this[e]&&(o=this[e].slice(0)),o.push(t),a.stack=new n(o),a.modelManager=this.getModelManager(),a.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),r.accept(this.$validator,a),super.addArrayValue(e,t)}validate(){const e=this.getClassDeclaration(),t={};t.stack=new n(this),t.modelManager=this.getModelManager(),t.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),e.accept(this.$validator,t)}}},6803:(e,t,r)=>{"use strict";const n=r(6686),a=r(9967).Parser,o=r(1209).DefaultFileLoader,s=r(6226),i=r(9481);class c{static async addModel(e,t,r){let o=null;if(e.accepts(r))o=await e.load(r);else{const e=n.readFileSync(r,"utf8"),i=a.parse(e,r);o=new s(t,i,e,r)}return t.addModelFile(o,null,o.getName(),!0),t}static async loadModelManager(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{offline:!1,strict:!1},r=new i(t);const n=new o(((e,t)=>{const n=a.parse(t);return new s(r,n,t,e)}));for(let t of e)r=await c.addModel(n,r,t);return t&&t.offline?(r.validateModelFiles(),r):(await r.updateExternalModels(),r)}static async loadModelManagerFromModelFiles(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{offline:!1,strict:!1},n=new i(r);return n.addModelFiles(e,t,!0),r&&r.offline?(n.validateModelFiles(),n):(await n.updateExternalModels(),n)}}e.exports=c},9481:(e,t,r)=>{"use strict";const n=r(9967).Parser,a=r(3832),o=r(124)("concerto:BaseModelManager");void 0===r.g&&r(6226),e.exports=class extends a{constructor(e){super(e,(e=>(t,r)=>{const a={skipLocationNodes:e?.skipLocationNodes};return{ast:n.parse(r,t,a),definitions:r,fileName:t}})(e))}addCTOModel(e,t,r){return o("addCTOModel","addCTOModel",e,t),this.addModel(e,e,t,r)}}},1768:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),{MetaModelUtil:a}=r(3348),o=r(2722),s=r(2438);void 0===r.g&&r(6226);const i=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u,c=["$classDeclaration","$namespace","$type","$modelManager","$validator","$identifierFieldName","$imports","$superTypes","$id"],l=["$class","$identifier","$timestamp",...c];class u{static getShortName(e){let t=e,r=e.lastIndexOf(".");return r>-1&&(t=e.substr(r+1)),t}static getNamespace(e){if(!e)throw new Error(s.formatMessage("modelutil-getnamespace-nofnq"));let t="",r=e.lastIndexOf(".");return r>-1&&(t=e.substr(0,r)),t}static parseNamespace(e){if(!e)throw new Error("Namespace is null or undefined.");const t=e.split("@");if(t.length>2)throw new Error(`Invalid namespace ${e}`);if(2===t.length&&!o.valid(t[1]))throw new Error(`Invalid namespace ${e}`);return{name:t[0],escapedNamespace:e.replace("@","_"),version:t.length>1?t[1]:null,versionParsed:t.length>1?o.parse(t[1]):null}}static importFullyQualifiedNames(e){return a.importFullyQualifiedNames(e)}static isPrimitiveType(e){return["Boolean","String","DateTime","Double","Integer","Long"].indexOf(e)>=0}static isAssignableTo(e,t,r){const n=r.getFullyQualifiedTypeName(),a=t===n;if(a||u.isPrimitiveType(t)||u.isPrimitiveType(n))return a;const o=e.getType(t);if(!o)throw new Error("Cannot find type "+t);return o.getAllSuperTypeDeclarations().some((e=>e.getFullyQualifiedName()===n))}static capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}static isEnum(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isEnum()}static isMap(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isMapDeclaration?.()}static isScalar(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isScalarDeclaration?.()}static isValidIdentifier(e){return i.test(e)}static getFullyQualifiedName(e,t){return e?`${e}.${t}`:t}static removeNamespaceVersionFromFullyQualifiedName(e){if(u.isPrimitiveType(e))return e;const t=u.getNamespace(e),{name:r}=u.parseNamespace(t),n=u.getShortName(e);return u.getFullyQualifiedName(r,n)}static isSystemProperty(e){return l.includes(e)}static isPrivateSystemProperty(e){return c.includes(e)}static isValidMapKey(e){return[`${n}.StringMapKeyType`,`${n}.DateTimeMapKeyType`,`${n}.ObjectMapKeyType`].includes(e.$class)}static isValidMapKeyScalar(e){return e?.isScalarDeclaration?.()&&e?.ast.$class===`${n}.StringScalar`||e?.isScalarDeclaration?.()&&e?.ast.$class===`${n}.DateTimeScalar`}static isValidMapValue(e){return[`${n}.BooleanMapValueType`,`${n}.DateTimeMapValueType`,`${n}.StringMapValueType`,`${n}.IntegerMapValueType`,`${n}.LongMapValueType`,`${n}.DoubleMapValueType`,`${n}.ObjectMapValueType`].includes(e.$class)}}e.exports=u},6128:(e,t,r)=>{"use strict";const n=r(6391);e.exports={getRootModel:function(e){const t=e?"concerto_1.0.0.cto":"concerto.cto",r=e?"concerto@1.0.0":"concerto",a=`@DotNetNamespace("AccordProject.Concerto")\n namespace ${r}\n import concerto.decorator@1.0.0.DotNetNamespace\n abstract concept Concept {}\n abstract concept Asset identified {}\n abstract concept Participant identified {}\n abstract concept Transaction {}\n abstract concept Event {}\n `,o=JSON.parse(JSON.stringify(n));return o.namespace=r,{rootModelFile:t,rootModelCto:a,rootModelAst:o}}}},3686:(e,t,r)=>{"use strict";const{BaseException:n}=r(1209);e.exports=class extends n{constructor(e){super(e)}}},3673:(e,t,r)=>{"use strict";const{TypedStack:n}=r(1209),a=r(7624),o=r(2438),s=r(9),i=r(8998),c=r(2523),l=r(2552),{utcOffset:u}=a.setCurrentTime(),p={validate:!0,utcOffset:u};void 0===r.g&&(r(1595),r(9481),r(7755)),e.exports=class{constructor(e,t,r){if(!e)throw new Error(o.formatMessage("serializer-constructor-factorynull"));if(!t)throw new Error(o.formatMessage("serializer-constructor-modelmanagernull"));this.factory=e,this.modelManager=t,this.defaultOptions=Object.assign({},p,r||{})}setDefaultOptions(e){this.defaultOptions=Object.assign({},p,e)}toJSON(e,t){if(!(e instanceof c))throw new Error(o.formatMessage("serializer-tojson-notcobject"));const r={};r.stack=new n(e),r.modelManager=this.modelManager,r.seenResources=new Set,r.dedupeResources=new Set;const a=this.modelManager.getType(e.getFullyQualifiedType());if((t=t?Object.assign({},this.defaultOptions,t):this.defaultOptions).validate){const e=new l(t);a.accept(e,r)}const i=new s(!0===t.convertResourcesToRelationships,!0===t.permitResourcesForRelationships,!0===t.deduplicateResources,!0===t.convertResourcesToId,!1,t.utcOffset);return r.stack.clear(),r.stack.push(e),a.accept(i,r)}fromJSON(e,t){if(t=t?Object.assign({},this.defaultOptions,t):this.defaultOptions,!e.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier.");const r=this.modelManager.getType(e.$class);let a;if(r.isTransaction?.())a=this.factory.newTransaction(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else if(r.isEvent?.())a=this.factory.newEvent(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else if(r.isConcept?.())a=this.factory.newConcept(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else{if(r.isMapDeclaration?.())throw new Error("Attempting to create a Map declaration is not supported.");if(r.isEnum())throw new Error("Attempting to create an ENUM declaration is not supported.");a=this.factory.newResource(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()])}const o={};o.jsonStack=new n(e),o.resourceStack=new n(a),o.modelManager=this.modelManager,o.factory=this.factory;const s=new i(!0===t.acceptResourcesForRelationships,!1,t.utcOffset,!0===t.strictQualifiedDateTimes);return r.accept(s,o),t.validate&&a.validate(),a}}},6422:(e,t,r)=>{"use strict";const n=r(1209).NullUtil,a=r(2438);e.exports=class{visit(e,t){if(e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitClassDeclaration(e,t){const r=t.stack.pop(),a=e.getProperties();for(const e of a){if(!t.includeOptionalFields&&e.isOptional())continue;const a=r[e.getName()];n.isNull(a)&&(r[e.getName()]=e.accept(this,t))}return r}visitField(e,t){if(e.isPrimitive())t.seen.push("Primitve");else{let r=e.getFullyQualifiedTypeName(),n=t.modelManager.getType(r);n=this.findConcreteSubclass(n);let a=n.getFullyQualifiedName();if(t.seen.includes(a)){if(e.isArray())return[];if(e.isOptional())return null;throw new Error("Model is recursive.")}t.seen.push(a)}let r;if(e.isArray()){const n=()=>this.getFieldValue(e,t);r=t.valueGenerator.getArray(n)}else r=this.getFieldValue(e,t);return t.seen.pop(),r}getFieldValue(e,t){let r=e;e.isTypeScalar?.()&&(r=e.getScalarField());let n=e.getFullyQualifiedTypeName();if(e.isPrimitive())switch(n){case"DateTime":return t.valueGenerator.getDateTime();case"Integer":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getInteger();case"Long":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getLong();case"Double":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getDouble();case"Boolean":return t.valueGenerator.getBoolean();default:return r.validator?.regex?t.valueGenerator.getRegex(r.validator.regex,r.validator.minLength,r.validator.maxLength):t.valueGenerator.getString(r.validator?.minLength,r.validator?.maxLength)}let a=t.modelManager.getType(n);if(a.isEnum()){let e=a.getOwnProperties();return t.valueGenerator.getEnum(e).getName()}if(a=this.findConcreteSubclass(a),!a.isMapDeclaration?.()){let e=null;if(a.isIdentified()){let n=a.getIdentifierFieldName(),o=a.getProperty(n);o?.isTypeScalar?.()&&(o=o.getScalarField()),e=o?.validator?.regex?t.valueGenerator.getRegex(r.validator.regex):this.generateRandomId(a)}let n=t.factory.newResource(a.getNamespace(),a.getName(),e);t.stack.push(n)}return a.accept(this,t)}findConcreteSubclass(e){if(e.isMapDeclaration?.()||!e.isAbstract())return e;const t=e.getAssignableClassDeclarations().filter((e=>!e.isAbstract()));if(0===t.length){const t=a.messageFormatter("instancegenerator-newinstance-noconcreteclass");throw new Error(t({type:e.getFullyQualifiedName()}))}return t[0]}visitRelationshipDeclaration(e,t){let r=t.modelManager.getType(e.getFullyQualifiedTypeName());r=this.findConcreteSubclass(r);const n=t.factory,a=()=>{const e=this.generateRandomId(r);return n.newRelationship(r.getNamespace(),r.getName(),e)};return e.isArray()?t.valueGenerator.getArray(a):a()}visitMapDeclaration(e,t){return t.valueGenerator.getMap()}generateRandomId(e){let t=Math.round(9999*Math.random()).toString();return t=t.padStart(4,"0"),t}}},9:(e,t,r)=>{"use strict";const n=r(7755),a=r(2523),o=r(1768),s=r(1209).NullUtil;e.exports=class{constructor(e,t,r,n,a,o){this.convertResourcesToRelationships=e,this.permitResourcesForRelationships=t,this.deduplicateResources=r,this.convertResourcesToId=n,this.utcOffset=o||0}visit(e,t){if(e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitMapDeclaration(e,t){const r=t.stack.pop();let n=new Map;return r.forEach(((r,a)=>{if(!o.isSystemProperty(a)){if("object"==typeof r){let n=e.getModelFile().getAllDeclarations().find((e=>e.name===r.getType()));t.stack.push(r);const a=n.accept(this,t);r=a}n.set(a,r)}})),Object.fromEntries(n)}visitClassDeclaration(e,t){const r=t.stack.pop();if(!(r instanceof n))throw new Error("Expected a Resource, but found "+r);let a={},o=null;if(r.isIdentifiable()&&this.deduplicateResources){if(o=r.toURI(),t.dedupeResources.has(o))return o;t.dedupeResources.add(o)}a.$class=e.getFullyQualifiedName(),this.deduplicateResources&&o&&(a.$id=o);const i=e.getProperties();for(let e in i){const n=i[e],o=r[n.getName()];s.isNull(o)||(t.stack.push(o),a[n.getName()]=n.accept(this,t))}return a}visitField(e,t){const r=t.stack.pop();let n;if(e.isArray()){let s=[];for(let n in r){const i=r[n];if(e.isPrimitive()||o.isEnum(e))s.push(this.convertToJSON(e,i));else{t.stack.push(i,a);const e=t.modelManager.getType(i.getFullyQualifiedType());s.push(e.accept(this,t))}}n=s}else e.isPrimitive()||o.isEnum(e)?n=this.convertToJSON(e,r):o.isMap(e)?(t.stack.push(r),n=t.modelManager.getType(e.getFullyQualifiedTypeName()).accept(this,t)):(t.stack.push(r),n=t.modelManager.getType(r.getFullyQualifiedType()).accept(this,t));return n}convertToJSON(e,t){if("DateTime"===e.getType()){const e=t.utc().utcOffset(this.utcOffset),r=0===e.utcOffset();return e.format("YYYY-MM-DDTHH:mm:ss.SSS"+(r?"[Z]":"Z"))}return t}visitRelationshipDeclaration(e,t){const r=t.stack.pop();let a;if(e.isArray()){let o=[];for(let a in r){const s=r[a];if(this.permitResourcesForRelationships&&s instanceof n){let r=s.getFullyQualifiedIdentifier();if(t.seenResources.has(r)){let t=this.getRelationshipText(e,s);o.push(t)}else{t.seenResources.add(r),t.stack.push(s,n);const a=t.modelManager.getType(e.getFullyQualifiedTypeName());o.push(a.accept(this,t)),t.seenResources.delete(r)}}else{let t=this.getRelationshipText(e,s);o.push(t)}}a=o}else if(this.permitResourcesForRelationships&&r instanceof n){let o=r.getFullyQualifiedIdentifier();t.seenResources.has(o)?a=this.getRelationshipText(e,r):(t.seenResources.add(o),t.stack.push(r,n),a=t.modelManager.getType(e.getFullyQualifiedTypeName()).accept(this,t),t.seenResources.delete(o))}else a=this.getRelationshipText(e,r);return a}getRelationshipText(e,t){if(t instanceof n&&!this.convertResourcesToRelationships&&!this.permitResourcesForRelationships)throw new Error("Did not find a relationship for "+e.getFullyQualifiedTypeName()+" found "+t);return this.convertResourcesToId?t.getIdentifier():t.toURI()}}},8998:(e,t,r)=>{"use strict";const{TypedStack:n}=r(1209),a=r(6113),o=r(1209).NullUtil,s=r(1768),i=r(390),c=r(3464),l=r(7657);c.extend(l);const u=r(4491);c.extend(u);const p=r(3221);c.extend(p);const d=r(279);function m(e,t){const r=Object.keys(e),n=r.filter(s.isPrivateSystemProperty);if(n.length>0){const e=`Unexpected reserved properties for type ${t.getFullyQualifiedName()}: `+n.join(", ");throw new i(e)}if(r.includes("$timestamp")&&!t.isTransaction?.()&&!t.isEvent?.()){const e=`Unexpected property for type ${t.getFullyQualifiedName()}: $timestamp`;throw new i(e)}return r.filter((t=>!s.isSystemProperty(t)&&!o.isNull(e[t])))}c.extend(d),e.exports=class{constructor(e,t,r,n){this.acceptResourcesForRelationships=e,this.utcOffset=r||0,this.strictQualifiedDateTimes=n,{NODE_ENV:"production"}.TZ&&console.warn(`Environment variable 'TZ' is set to '${{NODE_ENV:"production"}.TZ}', this can cause unexpected behaviour when using unqualified date time formats.`)}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.path??(t.path=new n("$")),e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitClassDeclaration(e,t){const r=t.jsonStack.pop(),a=t.resourceStack.pop();t.path??(t.path=new n("$"));const o=m(r,e);return function(e,t){const r=t.getProperties().map((e=>e.getName())),n=e.filter((e=>!r.includes(e)));if(n.length>0){const e=`Unexpected properties for type ${t.getFullyQualifiedName()}: `+n.join(", ");throw new i(e)}}(o,e),o.forEach((n=>{let o=r[n];if(null!==o){t.path.push(`.${n}`),t.jsonStack.push(o);const r=e.getProperty(n);a[n]=r.accept(this,t),t.path.pop()}})),a}visitMapDeclaration(e,t){let r=t.jsonStack.pop();t.path??(t.path=new n("$")),m(r,e),r=new Map(Object.entries(r));let a=new Map;return r.forEach(((r,n)=>{"$class"!==n?(s.isPrimitiveType(e.getKey().getType())||(n=this.processMapType(e,t,n,e.getKey().getType())),s.isPrimitiveType(e.getValue().getType())||(r=this.processMapType(e,t,r,e.getValue().getType())),a.set(n,r)):a.set(n,r)})),a}processMapType(e,t,r,n){let a=e.getModelFile().getAllDeclarations().find((e=>e.name===n));if(a?.isClassDeclaration()){let e=t.factory.newConcept(a.getNamespace(),a.getName(),a.getIdentifierFieldName());return t.jsonStack.push(r),t.resourceStack.push(e),a.accept(this,t)}return r}visitField(e,t){t.path??(t.path=new n("$"));let r=t.jsonStack.pop(),a=null;if(e.isArray()){a=[];for(let n=0;n<r.length;n++){t.path.push(`[${n}]`);const o=r[n];a.push(this.convertItem(e,o,t)),t.path.pop()}}else a=this.convertItem(e,r,t);return a}convertItem(e,t,r){let n=null;if(e.isPrimitive?.()||e.isTypeEnum?.())n=this.convertToObject(e,t,r);else{let a=t.$class;a||(a=e.getFullyQualifiedTypeName());const o=r.modelManager.getType(a);if(!o.isMapDeclaration?.()){let e=null;e=o.isIdentified()?r.factory.newResource(o.getNamespace(),o.getName(),t[o.getIdentifierFieldName()]):r.factory.newConcept(o.getNamespace(),o.getName()),r.resourceStack.push(e)}r.jsonStack.push(t),n=o.accept(this,r)}return n}convertToObject(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=null;r.path??(r.path=new n("$"));const o=r.path.stack.join("");switch(e.getType()){case"DateTime":if(t&&"object"==typeof t&&"function"==typeof t.isBefore)a=t;else{if("string"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);if(this.strictQualifiedDateTimes){if(this.strictQualifiedDateTimes){if(!t.match(/^((?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))(Z|[+-]\d{2}:\d{2}))$/))throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\` with format YYYY-MM-DDTHH:mm:ss[Z]`);a=c.utc(t)}}else a=c.utc(t).utcOffset(this.utcOffset)}if(!a||!a.isValid())throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);break;case"Integer":case"Long":{const r=t;if("number"!=typeof r)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);if(Math.trunc(r)!==r)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=r}break;case"Double":if("number"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=parseFloat(t);break;case"Boolean":if("boolean"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=t;break;case"String":if("string"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=t;break;default:a=t}return a}visitRelationshipDeclaration(e,t){t.path??(t.path=new n("$"));let r=t.jsonStack.pop(),o=null,i=e.getFullyQualifiedTypeName(),c=s.getNamespace(i);c||(c=e.getNamespace());let l=s.getShortName(i);if(e.isArray()){o=[];for(let n=0;n<r.length;n++){let s=r[n];if("string"==typeof s)o.push(a.fromURI(t.modelManager,s,c,l));else{if(!this.acceptResourcesForRelationships)throw new Error("Invalid JSON data. Found a value that is not a string: "+r+" for relationship "+e);if(!s.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier: "+s+" for relationship "+e);const n=t.modelManager.getType(s.$class);let a=t.factory.newResource(n.getNamespace(),n.getName(),s[n.getIdentifierFieldName()]);t.jsonStack.push(s),t.resourceStack.push(a),n.accept(this,t),o.push(a)}}}else if("string"==typeof r)o=a.fromURI(t.modelManager,r,c,l);else{if(!this.acceptResourcesForRelationships)throw new Error("Invalid JSON data. Found a value that is not a string: "+r+" for relationship "+e);if(!r.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier: "+r+" for relationship "+e);const n=t.modelManager.getType(r.$class);let a=t.factory.newResource(n.getNamespace(),n.getName(),r[n.getIdentifierFieldName()]);t.jsonStack.push(r),t.resourceStack.push(a),n.accept(this,t),o=a}return o}}},3561:(e,t,r)=>{"use strict";const n=r(1209).NullUtil,a=r(1768),o=r(390),s=r(2438),i=r(3464),c=r(7657);i.extend(c);class l{constructor(e,t){if(this.options=t||{},this.concerto=e,!this.concerto)throw new Error("Missing concerto instance")}visit(e,t){return e.isEnum?.()?this.visitEnumDeclaration(e,t):e.isClassDeclaration?.()?this.visitClassDeclaration(e,t):e.isRelationship?.()?this.visitRelationshipDeclaration(e,t):e.isTypeScalar?.()?this.visitField(e.getScalarField(),t):e.isField?.()?this.visitField(e,t):void 0}visitEnumDeclaration(e,t){const r=t.stack.pop(),n=e.getProperties();let a=!1;for(let e=0;e<n.length;e++)n[e].getName()===r&&(a=!0);return a||l.reportInvalidEnumValue(t.rootResourceIdentifier,e,r),null}visitClassDeclaration(e,t){const r=t.stack.pop();this.concerto.isIdentifiable(r)&&(t.rootResourceIdentifier=this.concerto.getFullyQualifiedIdentifier(r));const a=this.concerto.getModelManager().getType(r.$class),o=a.getFullyQualifiedName();a.isAbstract()&&l.reportAbstractClass(a);let s=Object.getOwnPropertyNames(r);for(let e=0;e<s.length;e++){let n=s[e];this.isSystemProperty(n)||a.getProperty(n)||(this.concerto.isIdentifiable(r)?l.reportUndeclaredField(this.concerto.getIdentifier(r),n,o):l.reportUndeclaredField(t.currentIdentifier,n,o))}if(this.concerto.isIdentifiable(r)){const e=this.concerto.getIdentifier(r);e&&0!==e.trim().length||l.reportEmptyIdentifier(t.rootResourceIdentifier),t.currentIdentifier=this.concerto.getFullyQualifiedIdentifier(r)}const i=a.getProperties();for(let e=0;e<i.length;e++){const a=i[e],o=r[a.getName()];n.isNull(o)?a.isOptional()||this.isSystemProperty(a.getName())||l.reportMissingRequiredProperty(t.rootResourceIdentifier,a):(t.stack.push(o),a.accept(this,t))}return null}isSystemProperty(e){return"$"===e.charAt(0)}visitField(e,t){const r=t.stack.pop();let n=typeof r,a=e.getName();return"symbol"===n&&l.reportFieldTypeViolation(t.rootResourceIdentifier,a,r,e,this.concerto),e.isTypeEnum()?this.checkEnum(r,e,t):e.isArray()?this.checkArray(r,e,t):this.checkItem(r,e,t),null}checkEnum(e,t,r){!t.isArray()||e instanceof Array||l.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t,this.concerto);const n=t.getParent().getModelFile().getType(t.getType());if(t.isArray())for(let t=0;t<e.length;t++){const a=e[t];r.stack.push(a),n.accept(this,r)}else{const t=e;r.stack.push(t),n.accept(this,r)}}checkArray(e,t,r){e instanceof Array||l.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t,this.concerto);for(let n=0;n<e.length;n++){const a=e[n];this.checkItem(a,t,r)}}checkItem(e,t,r){let n=typeof e,o=t.getName();if("symbol"===n&&l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto),t.isPrimitive()){let a=!1;switch(t.getType()){case"String":"string"!==n&&(a=!0);break;case"Double":case"Long":case"Integer":"number"!==n&&(a=!0);break;case"Boolean":"boolean"!==n&&(a=!0);break;case"DateTime":"string"==typeof e&&i.utc(e).isValid()||(a=!0)}a?l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto):null!==t.getValidator()&&t.getValidator().validate(r.currentIdentifier,e)}else{let n=this.concerto.getModelManager().getType(t.getFullyQualifiedTypeName());try{n=this.concerto.getModelManager().getType(e.$class)}catch(n){l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto)}a.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||l.reportInvalidFieldAssignment(r.rootResourceIdentifier,o,e,t),r.stack.push(e),n.accept(this,r)}}visitRelationshipDeclaration(e,t){const r=t.stack.pop();if(e.isArray()){r instanceof Array||l.reportInvalidFieldAssignment(t.rootResourceIdentifier,e.getName(),r,e);for(let n=0;n<r.length;n++){const a=r[n];this.checkRelationship(t,e,a)}}else this.checkRelationship(t,e,r);return null}checkRelationship(e,t,r){this.concerto.isRelationship(r)||this.concerto.isIdentifiable(r)&&(this.options.convertResourcesToRelationships||this.options.permitResourcesForRelationships)||l.reportNotRelationshipViolation(e.rootResourceIdentifier,t,r);const n=this.concerto.isRelationship(r)?this.concerto.fromURI(r).typeDeclaration:this.concerto.getTypeDeclaration(r);if(!n.getIdentifierFieldName())throw new Error("Relationship can only be to identified types.");a.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||l.reportInvalidFieldAssignment(e.rootResourceIdentifier,t.getName(),r,t)}static reportFieldTypeViolation(e,t,r,n,a){let i=n.isArray()?"[]":"",c=typeof r;if(a.isObject(r)&&a.isIdentifiable(r))c=a.getType(r),r=a.getIdentifier(r);else if(r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}let l=s.messageFormatter("resourcevalidator-fieldtypeviolation");throw new o(l({resourceId:e,propertyName:t,fieldType:n.getType()+i,value:r,typeOfValue:c}))}static reportNotRelationshipViolation(e,t,r){let n=s.messageFormatter("resourcevalidator-notrelationship");throw new o(n({resourceId:e,classFQN:t.getFullyQualifiedTypeName(),invalidValue:r.toString()}))}static reportMissingRequiredProperty(e,t){let r=s.messageFormatter("resourcevalidator-missingrequiredproperty");throw new o(r({resourceId:e,fieldName:t.getName()}))}static reportEmptyIdentifier(e){let t=s.messageFormatter("resourcevalidator-emptyidentifier");throw new o(t({resourceId:e}))}static reportInvalidEnumValue(e,t,r){let n=s.messageFormatter("resourcevalidator-invalidenumvalue");throw new o(n({resourceId:e,value:r,fieldName:t.getName()}))}static reportAbstractClass(e){let t=s.messageFormatter("resourcevalidator-abstractclass");throw new o(t({className:e.getFullyQualifiedName()}))}static reportUndeclaredField(e,t,r){let n=s.messageFormatter("resourcevalidator-undeclaredfield");throw new o(n({resourceId:e,propertyName:t,fullyQualifiedTypeName:r}))}static reportInvalidFieldAssignment(e,t,r,n){let a=s.messageFormatter("resourcevalidator-invalidfieldassignment"),i=n.getFullyQualifiedTypeName();throw n.isArray()&&(i+="[]"),new o(a({resourceId:e,propertyName:t,objectType:r.$class,fieldType:i}))}}e.exports=l},2552:(e,t,r)=>{"use strict";const n=r(6113),a=r(7755),o=r(9259),s=r(1209).NullUtil,i=r(1768),c=r(390),l=r(2438),u=r(3464),p=r(7657);u.extend(p);class d{constructor(e){this.options=e||{}}visit(e,t){return e.isEnum?.()?this.visitEnumDeclaration(e,t):e.isClassDeclaration?.()?this.visitClassDeclaration(e,t):e.isMapDeclaration?.()?this.visitMapDeclaration(e,t):e.isRelationship?.()?this.visitRelationshipDeclaration(e,t):e.isTypeScalar?.()?this.visitField(e.getScalarField(),t):e.isField?.()?this.visitField(e,t):void 0}visitEnumDeclaration(e,t){const r=t.stack.pop(),n=e.getProperties();let a=!1;for(let e=0;e<n.length;e++)n[e].getName()===r&&(a=!0);return a||d.reportInvalidEnumValue(t.rootResourceIdentifier,e,r),null}checkMapType(e,t,r,n){if(i.isPrimitiveType(e.getType()))e=e.getType();else{let a=n.getModelFile().getAllDeclarations().find((t=>t.name===e.getType()));if(i.isScalar(n.getKey())&&(e=a.getType()),a?.isClassDeclaration?.())return r.stack.push(t),void a.accept(this,r)}switch(e){case"String":if("string"!=typeof t)throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of String but found '${t}' instead.`);break;case"DateTime":if(!u.utc(t).isValid())throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of DateTime but found '${t}' instead.`);break;case"Boolean":if("boolean"!=typeof t){const e=typeof t;throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of Boolean but found ${e} instead, for value '${t}'.`)}}}visitMapDeclaration(e,t){const r=t.stack.pop();if(!(r instanceof Map))throw new Error("Expected a Map, but found "+JSON.stringify(r));return r.forEach(((r,n)=>{i.isSystemProperty(n)||(this.checkMapType(e.getKey(),n,t,e),this.checkMapType(e.getValue(),r,t,e))})),null}visitClassDeclaration(e,t){const r=t.stack.pop();r instanceof a||d.reportNotResouceViolation(t.rootResourceIdentifier,e,r),r instanceof o&&(t.rootResourceIdentifier=r.getFullyQualifiedIdentifier());const n=t.modelManager.getType(r.getFullyQualifiedType()),c=n.getFullyQualifiedName(),l=n.getIdentifierFieldName();n.isAbstract()&&d.reportAbstractClass(n);let u=Object.getOwnPropertyNames(r);for(let a=0;a<u.length;a++){let o=u[a];i.isSystemProperty(o)||n.getProperty(o)||(e.isIdentified()&&"$identifier"!==o?d.reportUndeclaredField(r.getIdentifier(),o,c):d.reportUndeclaredField(t.currentIdentifier,o,c))}if(e.isIdentified()){const e=r.getIdentifier();e&&0!==e.trim().length||d.reportEmptyIdentifier(t.rootResourceIdentifier),"$identifier"!==l&&(r.$identifier=e),t.currentIdentifier=r.getFullyQualifiedIdentifier()}const p=n.getProperties();for(let e=0;e<p.length;e++){const n=p[e],a=r[n.getName()];if(s.isNull(a)){if(!n.isOptional()){if("$identifier"===n.getName()&&"$identifier"!==l)continue;if(!s.isNull(n?.defaultValue))continue;d.reportMissingRequiredProperty(t.rootResourceIdentifier,n)}}else t.stack.push(a),n.accept(this,t)}return null}visitField(e,t){const r=t.stack.pop();let n=typeof r,a=e.getName();return"undefined"!==n&&"symbol"!==n||d.reportFieldTypeViolation(t.rootResourceIdentifier,a,r,e),e.isTypeEnum()?this.checkEnum(r,e,t):e.isArray()?this.checkArray(r,e,t):this.checkItem(r,e,t),null}checkEnum(e,t,r){!t.isArray()||e instanceof Array||d.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t);const n=t.getParent().getModelFile().getType(t.getType());if(t.isArray())for(let t=0;t<e.length;t++){const a=e[t];r.stack.push(a),n.accept(this,r)}else{const t=e;r.stack.push(t),n.accept(this,r)}}checkArray(e,t,r){e instanceof Array||d.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t);for(let n=0;n<e.length;n++){const a=e[n];this.checkItem(a,t,r)}}checkItem(e,t,r){let n=typeof e,a=t.getName();if("undefined"!==n&&"symbol"!==n||d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t),t.isPrimitive()){let o=!1;switch(t.getType()){case"String":"string"!==n&&(o=!0);break;case"Long":case"Integer":case"Double":"number"!==n&&(o=!0),isFinite(e)||(o=!0);break;case"Boolean":"boolean"!==n&&(o=!0);break;case"DateTime":"object"==typeof e&&"function"==typeof e.isBefore||(o=!0)}o?d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t):null!==t.getValidator()&&t.getValidator().validate(r.currentIdentifier,e)}else{let n=r.modelManager.getType(t.getFullyQualifiedTypeName());if(e instanceof o){try{n=r.modelManager.getType(e.getFullyQualifiedType())}catch(n){d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t)}i.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||d.reportInvalidFieldAssignment(r.rootResourceIdentifier,a,e,t)}r.stack.push(e),n.accept(this,r)}}visitRelationshipDeclaration(e,t){const r=t.stack.pop();if(e.isArray()){r instanceof Array||d.reportInvalidFieldAssignment(t.rootResourceIdentifier,e.getName(),r,e);for(let n=0;n<r.length;n++){const a=r[n];this.checkRelationship(t,e,a)}}else this.checkRelationship(t,e,r);return null}checkRelationship(e,t,r){r instanceof n||r instanceof a&&(this.options.convertResourcesToRelationships||this.options.permitResourcesForRelationships)||d.reportNotRelationshipViolation(e.rootResourceIdentifier,t,r);const o=e.modelManager.getType(r.getFullyQualifiedType());if(!o.getIdentifierFieldName())throw new Error("Cannot have a relationship to a field that is not identifiable.");i.isAssignableTo(o.getModelFile(),r.getFullyQualifiedType(),t)||d.reportInvalidFieldAssignment(e.rootResourceIdentifier,t.getName(),r,t)}static reportFieldTypeViolation(e,t,r,n){let a=n.isArray()?"[]":"",s=typeof r;if(r instanceof o)s=r.getFullyQualifiedType(),r=r.getFullyQualifiedIdentifier();else if(r)try{r="number"!=typeof r||isFinite(r)?JSON.stringify(r):r.toString()}catch(e){r=r.toString()}let i=l.messageFormatter("resourcevalidator-fieldtypeviolation");throw new c(i({resourceId:e,propertyName:t,fieldType:n.getType()+a,value:r,typeOfValue:s}))}static reportNotResouceViolation(e,t,r){let n=l.messageFormatter("resourcevalidator-notresourceorconcept");throw new c(n({resourceId:e,classFQN:t.getFullyQualifiedName(),invalidValue:r.toString()}))}static reportNotRelationshipViolation(e,t,r){let n=l.messageFormatter("resourcevalidator-notrelationship");throw new c(n({resourceId:e,classFQN:t.getFullyQualifiedTypeName(),invalidValue:r.toString()}))}static reportMissingRequiredProperty(e,t){let r=l.messageFormatter("resourcevalidator-missingrequiredproperty");throw new c(r({resourceId:e,fieldName:t.getName()}))}static reportEmptyIdentifier(e){let t=l.messageFormatter("resourcevalidator-emptyidentifier");throw new c(t({resourceId:e}))}static reportInvalidEnumValue(e,t,r){let n=l.messageFormatter("resourcevalidator-invalidenumvalue");throw new c(n({resourceId:e,value:r,fieldName:t.getName()}))}static reportAbstractClass(e){let t=l.messageFormatter("resourcevalidator-abstractclass");throw new c(t({className:e.getFullyQualifiedName()}))}static reportUndeclaredField(e,t,r){let n=l.messageFormatter("resourcevalidator-undeclaredfield");throw new c(n({resourceId:e,propertyName:t,fullyQualifiedTypeName:r}))}static reportInvalidFieldAssignment(e,t,r,n){let a=l.messageFormatter("resourcevalidator-invalidfieldassignment"),o=n.getFullyQualifiedTypeName();throw n.isArray()&&(o+="[]"),new c(a({resourceId:e,propertyName:t,objectType:r.getFullyQualifiedType(),fieldType:o}))}}e.exports=d},390:(e,t,r)=>{"use strict";const n=r(1209).BaseException;e.exports=class extends n{constructor(e,t){super(e,t)}}},7854:(e,t,r)=>{"use strict";const{loremIpsum:n}=r(7405),a=r(3174),o=r(3464),s=r(7657);o.extend(s);const i=function(e,t,r,n,a){return null===e&&(e=n),e=Math.min(Math.max(e,n),a),(null===t||t>a)&&(t=a),t=Math.max(Math.min(t,a),n),t+=r,t/=r,e/=r,(Math.random()*(t-e)+e)/(1/r)},c=(e,t,r)=>{let n=e,a=t;switch(null!==a&&null!==n&&a<n&&(n=t,a=e),r){case"Long":return Math.floor(i(n,a,1,-Math.pow(2,32),Math.pow(2,32)));case"Integer":return Math.floor(i(n,a,1,-Math.pow(2,16),Math.pow(2,16)));case"Double":return Number(i(n,a,1e-4,-Math.pow(2,8),Math.pow(2,8)).toFixed(3));default:return 0}},l=(e,t,r,n)=>{t??=0,r??=null;const a=c(t,r,"Integer");for(;e.length<a;)e+=n();return e.substring(0,a)},u=(e,t)=>{let r=n({count:1,units:"sentences",sentenceLowerBound:1,sentenceUpperBound:5});return(e||t)&&(r=l(r,e,t,(()=>n({count:1,units:"sentences",sentenceLowerBound:1,sentenceUpperBound:5})))),r},p=(e,t,r)=>{if(!e)return"";const n=new a(e.source,e.flags);let o=n.gen();return(t||r)&&(o=l(o,t,r,(()=>n.gen()))),o};class d{constructor(){this.currentDate=o.utc()}getDateTime(){return this.currentDate}getInteger(){return 0}getLong(){return 0}getDouble(){return 0}getBoolean(){return!1}getString(e,t){return e||t?u(e,t):""}getEnum(e){return e[0]}getMap(){return new Map}getArray(e){return[]}getRegex(e,t,r){return p(e,t,r)}getRange(e,t,r){return c(e,t,r)}}class m extends d{constructor(){super()}getInteger(){return Math.round(Math.random()*Math.pow(2,16))}getLong(){return Math.round(Math.random()*Math.pow(2,32))}getDouble(){return Number((Math.random()*Math.pow(2,8)).toFixed(3))}getBoolean(){return 1===Math.round(Math.random())}getString(e,t){return u(e,t)}getEnum(e){return e[Math.floor(Math.random()*e.length)]}getMap(){return new Map([[this.getString(1,10),this.getString(1,10)]])}getArray(e){return[e()]}getRegex(e,t,r){return p(e,t,r)}getRange(e,t,r){return c(e,t,r)}}e.exports=class{static empty(){return new d}static sample(){return new m}}},5477:(e,t,r)=>{"use strict";const{BaseException:n,ErrorCodes:a}=r(1209),o=r(2438);e.exports=class extends n{constructor(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.TYPE_NOT_FOUND_EXCEPTION;t||(t=o.messageFormatter("typenotfounderror-defaultmessage")({typeName:e})),super(t,r,n),this.typeName=e}getTypeName(){return this.typeName}}},3464:function(e){e.exports=function(){"use strict";var e=6e4,t=36e5,r="millisecond",n="second",a="minute",o="hour",s="day",i="week",c="month",l="quarter",u="year",p="date",d="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},g=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},y={s:g,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),a=r%60;return(t<=0?"+":"-")+g(n,2,"0")+":"+g(a,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),a=t.clone().add(n,c),o=r-a<0,s=t.clone().add(n+(o?-1:1),c);return+(-(n+(r-a)/(o?a-s:s-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:u,w:i,d:s,D:p,h:o,m:a,s:n,ms:r,Q:l}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},v="en",$={};$[v]=f;var A="$isDayjsObject",b=function(e){return e instanceof D||!(!e||!e[A])},C=function e(t,r,n){var a;if(!t)return v;if("string"==typeof t){var o=t.toLowerCase();$[o]&&(a=o),r&&($[o]=r,a=o);var s=t.split("-");if(!a&&s.length>1)return e(s[0])}else{var i=t.name;$[i]=t,a=i}return!n&&a&&(v=a),a||!n&&v},T=function(e,t){if(b(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new D(r)},w=y;w.l=C,w.i=b,w.w=function(e,t){return T(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var D=function(){function f(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[A]=!0}var g=f.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(w.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(m);if(n){var a=n[2]-1||0,o=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)):new Date(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return w},g.isValid=function(){return!(this.$d.toString()===d)},g.isSame=function(e,t){var r=T(e);return this.startOf(t)<=r&&r<=this.endOf(t)},g.isAfter=function(e,t){return T(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<T(e)},g.$g=function(e,t,r){return w.u(e)?this[t]:this.set(r,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var r=this,l=!!w.u(t)||t,d=w.p(e),m=function(e,t){var n=w.w(r.$u?Date.UTC(r.$y,t,e):new Date(r.$y,t,e),r);return l?n:n.endOf(s)},h=function(e,t){return w.w(r.toDate()[e].apply(r.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),r)},f=this.$W,g=this.$M,y=this.$D,v="set"+(this.$u?"UTC":"");switch(d){case u:return l?m(1,0):m(31,11);case c:return l?m(1,g):m(0,g+1);case i:var $=this.$locale().weekStart||0,A=(f<$?f+7:f)-$;return m(l?y-A:y+(6-A),g);case s:case p:return h(v+"Hours",0);case o:return h(v+"Minutes",1);case a:return h(v+"Seconds",2);case n:return h(v+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var i,l=w.p(e),d="set"+(this.$u?"UTC":""),m=(i={},i[s]=d+"Date",i[p]=d+"Date",i[c]=d+"Month",i[u]=d+"FullYear",i[o]=d+"Hours",i[a]=d+"Minutes",i[n]=d+"Seconds",i[r]=d+"Milliseconds",i)[l],h=l===s?this.$D+(t-this.$W):t;if(l===c||l===u){var f=this.clone().set(p,1);f.$d[m](h),f.init(),this.$d=f.set(p,Math.min(this.$D,f.daysInMonth())).$d}else m&&this.$d[m](h);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[w.p(e)]()},g.add=function(r,l){var p,d=this;r=Number(r);var m=w.p(l),h=function(e){var t=T(d);return w.w(t.date(t.date()+Math.round(e*r)),d)};if(m===c)return this.set(c,this.$M+r);if(m===u)return this.set(u,this.$y+r);if(m===s)return h(1);if(m===i)return h(7);var f=(p={},p[a]=e,p[o]=t,p[n]=1e3,p)[m]||1,g=this.$d.getTime()+r*f;return w.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||d;var n=e||"YYYY-MM-DDTHH:mm:ssZ",a=w.z(this),o=this.$H,s=this.$m,i=this.$M,c=r.weekdays,l=r.months,u=r.meridiem,p=function(e,r,a,o){return e&&(e[r]||e(t,n))||a[r].slice(0,o)},m=function(e){return w.s(o%12||12,e,"0")},f=u||function(e,t,r){var n=e<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(h,(function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return w.s(t.$y,4,"0");case"M":return i+1;case"MM":return w.s(i+1,2,"0");case"MMM":return p(r.monthsShort,i,l,3);case"MMMM":return p(l,i);case"D":return t.$D;case"DD":return w.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(r.weekdaysMin,t.$W,c,2);case"ddd":return p(r.weekdaysShort,t.$W,c,3);case"dddd":return c[t.$W];case"H":return String(o);case"HH":return w.s(o,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return f(o,s,!0);case"A":return f(o,s,!1);case"m":return String(s);case"mm":return w.s(s,2,"0");case"s":return String(t.$s);case"ss":return w.s(t.$s,2,"0");case"SSS":return w.s(t.$ms,3,"0");case"Z":return a}return null}(e)||a.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(r,p,d){var m,h=this,f=w.p(p),g=T(r),y=(g.utcOffset()-this.utcOffset())*e,v=this-g,$=function(){return w.m(h,g)};switch(f){case u:m=$()/12;break;case c:m=$();break;case l:m=$()/3;break;case i:m=(v-y)/6048e5;break;case s:m=(v-y)/864e5;break;case o:m=v/t;break;case a:m=v/e;break;case n:m=v/1e3;break;default:m=v}return d?m:w.a(m)},g.daysInMonth=function(){return this.endOf(c).$D},g.$locale=function(){return $[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=C(e,t,!0);return n&&(r.$L=n),r},g.clone=function(){return w.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},f}(),F=D.prototype;return T.prototype=F,[["$ms",r],["$s",n],["$m",a],["$H",o],["$W",s],["$M",c],["$y",u],["$D",p]].forEach((function(e){F[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),T.extend=function(e,t){return e.$i||(e(t,D,T),e.$i=!0),T},T.locale=C,T.isDayjs=b,T.unix=function(e){return T(1e3*e)},T.en=$[v],T.Ls=$,T.p={},T}()},279:function(e){e.exports=function(){"use strict";var e,t,r=1e3,n=6e4,a=36e5,o=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,i=31536e6,c=2628e6,l=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,u={years:i,months:c,days:o,hours:a,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},p=function(e){return e instanceof v},d=function(e,t,r){return new v(e,r,t.$l)},m=function(e){return t.p(e)+"s"},h=function(e){return e<0},f=function(e){return h(e)?Math.ceil(e):Math.floor(e)},g=function(e){return Math.abs(e)},y=function(e,t){return e?h(e)?{negative:!0,format:""+g(e)+t}:{negative:!1,format:""+e+t}:{negative:!1,format:""}},v=function(){function h(e,t,r){var n=this;if(this.$d={},this.$l=r,void 0===e&&(this.$ms=0,this.parseFromMilliseconds()),t)return d(e*u[m(t)],this);if("number"==typeof e)return this.$ms=e,this.parseFromMilliseconds(),this;if("object"==typeof e)return Object.keys(e).forEach((function(t){n.$d[m(t)]=e[t]})),this.calMilliseconds(),this;if("string"==typeof e){var a=e.match(l);if(a){var o=a.slice(2).map((function(e){return null!=e?Number(e):0}));return this.$d.years=o[0],this.$d.months=o[1],this.$d.weeks=o[2],this.$d.days=o[3],this.$d.hours=o[4],this.$d.minutes=o[5],this.$d.seconds=o[6],this.calMilliseconds(),this}}return this}var g=h.prototype;return g.calMilliseconds=function(){var e=this;this.$ms=Object.keys(this.$d).reduce((function(t,r){return t+(e.$d[r]||0)*u[r]}),0)},g.parseFromMilliseconds=function(){var e=this.$ms;this.$d.years=f(e/i),e%=i,this.$d.months=f(e/c),e%=c,this.$d.days=f(e/o),e%=o,this.$d.hours=f(e/a),e%=a,this.$d.minutes=f(e/n),e%=n,this.$d.seconds=f(e/r),e%=r,this.$d.milliseconds=e},g.toISOString=function(){var e=y(this.$d.years,"Y"),t=y(this.$d.months,"M"),r=+this.$d.days||0;this.$d.weeks&&(r+=7*this.$d.weeks);var n=y(r,"D"),a=y(this.$d.hours,"H"),o=y(this.$d.minutes,"M"),s=this.$d.seconds||0;this.$d.milliseconds&&(s+=this.$d.milliseconds/1e3,s=Math.round(1e3*s)/1e3);var i=y(s,"S"),c=e.negative||t.negative||n.negative||a.negative||o.negative||i.negative,l=a.format||o.format||i.format?"T":"",u=(c?"-":"")+"P"+e.format+t.format+n.format+l+a.format+o.format+i.format;return"P"===u||"-P"===u?"P0D":u},g.toJSON=function(){return this.toISOString()},g.format=function(e){var r=e||"YYYY-MM-DDTHH:mm:ss",n={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return r.replace(s,(function(e,t){return t||String(n[e])}))},g.as=function(e){return this.$ms/u[m(e)]},g.get=function(e){var t=this.$ms,r=m(e);return"milliseconds"===r?t%=1e3:t="weeks"===r?f(t/u[r]):this.$d[r],t||0},g.add=function(e,t,r){var n;return n=t?e*u[m(t)]:p(e)?e.$ms:d(e,this).$ms,d(this.$ms+n*(r?-1:1),this)},g.subtract=function(e,t){return this.add(e,t,!0)},g.locale=function(e){var t=this.clone();return t.$l=e,t},g.clone=function(){return d(this.$ms,this)},g.humanize=function(t){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!t)},g.valueOf=function(){return this.asMilliseconds()},g.milliseconds=function(){return this.get("milliseconds")},g.asMilliseconds=function(){return this.as("milliseconds")},g.seconds=function(){return this.get("seconds")},g.asSeconds=function(){return this.as("seconds")},g.minutes=function(){return this.get("minutes")},g.asMinutes=function(){return this.as("minutes")},g.hours=function(){return this.get("hours")},g.asHours=function(){return this.as("hours")},g.days=function(){return this.get("days")},g.asDays=function(){return this.as("days")},g.weeks=function(){return this.get("weeks")},g.asWeeks=function(){return this.as("weeks")},g.months=function(){return this.get("months")},g.asMonths=function(){return this.as("months")},g.years=function(){return this.get("years")},g.asYears=function(){return this.as("years")},h}(),$=function(e,t,r){return e.add(t.years()*r,"y").add(t.months()*r,"M").add(t.days()*r,"d").add(t.hours()*r,"h").add(t.minutes()*r,"m").add(t.seconds()*r,"s").add(t.milliseconds()*r,"ms")};return function(r,n,a){e=a,t=a().$utils(),a.duration=function(e,t){var r=a.locale();return d(e,{$l:r},t)},a.isDuration=p;var o=n.prototype.add,s=n.prototype.subtract;n.prototype.add=function(e,t){return p(e)?$(this,e,1):o.bind(this)(e,t)},n.prototype.subtract=function(e,t){return p(e)?$(this,e,-1):s.bind(this)(e,t)}}}()},3221:function(e){e.exports=function(){"use strict";return function(e,t,r){var n=function(e,t){if(!t||!t.length||1===t.length&&!t[0]||1===t.length&&Array.isArray(t[0])&&!t[0].length)return null;var r;1===t.length&&t[0].length>0&&(t=t[0]),r=(t=t.filter((function(e){return e})))[0];for(var n=1;n<t.length;n+=1)t[n].isValid()&&!t[n][e](r)||(r=t[n]);return r};r.max=function(){var e=[].slice.call(arguments,0);return n("isAfter",e)},r.min=function(){var e=[].slice.call(arguments,0);return n("isBefore",e)}}}()},4491:function(e){e.exports=function(){"use strict";var e="month",t="quarter";return function(r,n){var a=n.prototype;a.quarter=function(e){return this.$utils().u(e)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(e-1))};var o=a.add;a.add=function(r,n){return r=Number(r),this.$utils().p(n)===t?this.add(3*r,e):o.bind(this)(r,n)};var s=a.startOf;a.startOf=function(r,n){var a=this.$utils(),o=!!a.u(n)||n;if(a.p(r)===t){var i=this.quarter()-1;return o?this.month(3*i).startOf(e).startOf("day"):this.month(3*i+2).endOf(e).endOf("day")}return s.bind(this)(r,n)}}}()},7657:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,a,o){var s=a.prototype;o.utc=function(e){return new a({date:e,utc:!0,args:arguments})},s.utc=function(t){var r=o(this.toDate(),{locale:this.$L,utc:!0});return t?r.add(this.utcOffset(),e):r},s.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var i=s.parse;s.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),i.call(this,e)};var c=s.init;s.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else c.call(this)};var l=s.utcOffset;s.utcOffset=function(n,a){var o=this.$utils().u;if(o(n))return this.$u?0:o(this.$offset)?l.call(this):this.$offset;if("string"==typeof n&&(n=function(e){void 0===e&&(e="");var n=e.match(t);if(!n)return null;var a=(""+n[0]).match(r)||["-",0,0],o=a[0],s=60*+a[1]+ +a[2];return 0===s?0:"+"===o?s:-s}(n),null===n))return this;var s=Math.abs(n)<=16?60*n:n,i=this;if(a)return i.$offset=s,i.$u=0===n,i;if(0!==n){var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(i=this.local().add(s+c,e)).$offset=s,i.$x.$localOffset=c}else i=this.utc();return i};var u=s.format;s.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,t)},s.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var p=s.toDate;s.toDate=function(e){return"s"===e&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():p.call(this)};var d=s.diff;s.diff=function(e,t,r){if(e&&this.$u===e.$u)return d.call(this,e,t,r);var n=this.local(),a=o(e).local();return d.call(n,a,t,r)}}}()},124:(e,t,r)=>{var n=r(9907);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(7891)(t);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},7891:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(7250),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},8143:e=>{"use strict";class t{constructor(e,t){this.low=e,this.high=t,this.length=1+t-e}overlaps(e){return!(this.high<e.low||this.low>e.high)}touches(e){return!(this.high+1<e.low||this.low-1>e.high)}add(e){return new t(Math.min(this.low,e.low),Math.max(this.high,e.high))}subtract(e){return e.low<=this.low&&e.high>=this.high?[]:e.low>this.low&&e.high<this.high?[new t(this.low,e.low-1),new t(e.high+1,this.high)]:e.low<=this.low?[new t(e.high+1,this.high)]:[new t(this.low,e.low-1)]}toString(){return this.low==this.high?this.low.toString():this.low+"-"+this.high}}class r{constructor(e,t){this.ranges=[],this.length=0,null!=e&&this.add(e,t)}_update_length(){this.length=this.ranges.reduce(((e,t)=>e+t.length),0)}add(e,n){var a=e=>{for(var t=0;t<this.ranges.length&&!e.touches(this.ranges[t]);)t++;for(var r=this.ranges.slice(0,t);t<this.ranges.length&&e.touches(this.ranges[t]);)e=e.add(this.ranges[t]),t++;r.push(e),this.ranges=r.concat(this.ranges.slice(t)),this._update_length()};return e instanceof r?e.ranges.forEach(a):(null==n&&(n=e),a(new t(e,n))),this}subtract(e,n){var a=e=>{for(var t=0;t<this.ranges.length&&!e.overlaps(this.ranges[t]);)t++;for(var r=this.ranges.slice(0,t);t<this.ranges.length&&e.overlaps(this.ranges[t]);)r=r.concat(this.ranges[t].subtract(e)),t++;this.ranges=r.concat(this.ranges.slice(t)),this._update_length()};return e instanceof r?e.ranges.forEach(a):(null==n&&(n=e),a(new t(e,n))),this}intersect(e,n){var a=[],o=e=>{for(var r=0;r<this.ranges.length&&!e.overlaps(this.ranges[r]);)r++;for(;r<this.ranges.length&&e.overlaps(this.ranges[r]);){var n=Math.max(this.ranges[r].low,e.low),o=Math.min(this.ranges[r].high,e.high);a.push(new t(n,o)),r++}};return e instanceof r?e.ranges.forEach(o):(null==n&&(n=e),o(new t(e,n))),this.ranges=a,this._update_length(),this}index(e){for(var t=0;t<this.ranges.length&&this.ranges[t].length<=e;)e-=this.ranges[t].length,t++;return this.ranges[t].low+e}toString(){return"[ "+this.ranges.join(", ")+" ]"}clone(){return new r(this)}numbers(){return this.ranges.reduce(((e,t)=>{for(var r=t.low;r<=t.high;)e.push(r),r++;return e}),[])}subranges(){return this.ranges.map((e=>({low:e.low,high:e.high,length:1+e.high-e.low})))}}e.exports=r},8575:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FORMAT_PLAIN=t.FORMAT_HTML=t.FORMATS=void 0;var r="html";t.FORMAT_HTML=r;var n="plain";t.FORMAT_PLAIN=n;var a=[r,n];t.FORMATS=a},4801:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LINE_ENDINGS=void 0,t.LINE_ENDINGS={POSIX:"\n",WIN32:"\r\n"}},3647:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SUPPORTED_PLATFORMS=void 0,t.SUPPORTED_PLATFORMS={DARWIN:"darwin",LINUX:"linux",WIN32:"win32"}},9148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UNIT_WORDS=t.UNIT_WORD=t.UNIT_SENTENCES=t.UNIT_SENTENCE=t.UNIT_PARAGRAPHS=t.UNIT_PARAGRAPH=t.UNITS=void 0;var r="words";t.UNIT_WORDS=r;var n="word";t.UNIT_WORD=n;var a="sentences";t.UNIT_SENTENCES=a;var o="sentence";t.UNIT_SENTENCE=o;var s="paragraphs";t.UNIT_PARAGRAPHS=s;var i="paragraph";t.UNIT_PARAGRAPH=i;var c=[r,n,a,o,s,i];t.UNITS=c},938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORDS=void 0,t.WORDS=["ad","adipisicing","aliqua","aliquip","amet","anim","aute","cillum","commodo","consectetur","consequat","culpa","cupidatat","deserunt","do","dolor","dolore","duis","ea","eiusmod","elit","enim","esse","est","et","eu","ex","excepteur","exercitation","fugiat","id","in","incididunt","ipsum","irure","labore","laboris","laborum","Lorem","magna","minim","mollit","nisi","non","nostrud","nulla","occaecat","officia","pariatur","proident","qui","quis","reprehenderit","sint","sit","sunt","tempor","ullamco","ut","velit","veniam","voluptate"]},7405:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"LoremIpsum",{enumerable:!0,get:function(){return i.default}}),t.loremIpsum=void 0;var n,a=r(8575),o=r(9148),s=r(938),i=(n=r(2508))&&n.__esModule?n:{default:n};t.loremIpsum=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.count,r=void 0===t?1:t,n=e.format,c=void 0===n?a.FORMAT_PLAIN:n,l=e.paragraphLowerBound,u=void 0===l?3:l,p=e.paragraphUpperBound,d=void 0===p?7:p,m=e.random,h=e.sentenceLowerBound,f=void 0===h?5:h,g=e.sentenceUpperBound,y=void 0===g?15:g,v=e.units,$=void 0===v?o.UNIT_SENTENCES:v,A=e.words,b=void 0===A?s.WORDS:A,C=e.suffix,T=void 0===C?"":C,w={random:m,sentencesPerParagraph:{max:d,min:u},words:b,wordsPerSentence:{max:y,min:f}},D=new i.default(w,c,T);switch($){case o.UNIT_PARAGRAPHS:case o.UNIT_PARAGRAPH:return D.generateParagraphs(r);case o.UNIT_SENTENCES:case o.UNIT_SENTENCE:return D.generateSentences(r);case o.UNIT_WORDS:case o.UNIT_WORD:return D.generateWords(r);default:return""}}},2508:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=r(8575),o=r(4801),s=(n=r(9888))&&n.__esModule?n:{default:n},i=r(3798);function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.FORMAT_PLAIN,n=arguments.length>2?arguments[2]:void 0;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.format=r,this.suffix=n,function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"generator",void 0),-1===a.FORMATS.indexOf(r.toLowerCase()))throw new Error("".concat(r," is an invalid format. Please use ").concat(a.FORMATS.join(" or "),"."));this.generator=new s.default(t)}var t,r;return t=e,(r=[{key:"getLineEnding",value:function(){return this.suffix?this.suffix:!(0,i.isReactNative)()&&(0,i.isNode)()&&(0,i.isWindows)()?o.LINE_ENDINGS.WIN32:o.LINE_ENDINGS.POSIX}},{key:"formatString",value:function(e){return this.format===a.FORMAT_HTML?"<p>".concat(e,"</p>"):e}},{key:"formatStrings",value:function(e){var t=this;return e.map((function(e){return t.formatString(e)}))}},{key:"generateWords",value:function(e){return this.formatString(this.generator.generateRandomWords(e))}},{key:"generateSentences",value:function(e){return this.formatString(this.generator.generateRandomParagraph(e))}},{key:"generateParagraphs",value:function(e){var t=this.generator.generateRandomParagraph.bind(this.generator);return this.formatStrings((0,i.makeArrayOfStrings)(e,t)).join(this.getLineEnding())}}])&&c(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}(),u=l;t.default=u},9888:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(938),a=r(3798);function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.sentencesPerParagraph,a=void 0===r?{max:7,min:3}:r,o=t.wordsPerSentence,i=void 0===o?{max:15,min:5}:o,c=t.random,l=(t.seed,t.words),u=void 0===l?n.WORDS:l;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),s(this,"sentencesPerParagraph",void 0),s(this,"wordsPerSentence",void 0),s(this,"random",void 0),s(this,"words",void 0),a.min>a.max)throw new Error("Minimum number of sentences per paragraph (".concat(a.min,") cannot exceed maximum (").concat(a.max,")."));if(i.min>i.max)throw new Error("Minimum number of words per sentence (".concat(i.min,") cannot exceed maximum (").concat(i.max,")."));this.sentencesPerParagraph=a,this.words=u,this.wordsPerSentence=i,this.random=c||Math.random}var t,r;return t=e,(r=[{key:"generateRandomInteger",value:function(e,t){return Math.floor(this.random()*(t-e+1)+e)}},{key:"generateRandomWords",value:function(e){var t=this,r=this.wordsPerSentence,n=r.min,o=r.max,s=e||this.generateRandomInteger(n,o);return(0,a.makeArrayOfLength)(s).reduce((function(e,r){return"".concat(t.pluckRandomWord()," ").concat(e)}),"").trim()}},{key:"generateRandomSentence",value:function(e){return"".concat((0,a.capitalize)(this.generateRandomWords(e)),".")}},{key:"generateRandomParagraph",value:function(e){var t=this,r=this.sentencesPerParagraph,n=r.min,o=r.max,s=e||this.generateRandomInteger(n,o);return(0,a.makeArrayOfLength)(s).reduce((function(e,r){return"".concat(t.generateRandomSentence()," ").concat(e)}),"").trim()}},{key:"pluckRandomWord",value:function(){var e=this.words.length-1,t=this.generateRandomInteger(0,e);return this.words[t]}}])&&o(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=i},3670:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){var t=e.trim();return t.charAt(0).toUpperCase()+t.slice(1)}},3798:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"capitalize",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"isNode",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"isReactNative",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"isWindows",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"makeArrayOfLength",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"makeArrayOfStrings",{enumerable:!0,get:function(){return c.default}});var n=l(r(3670)),a=l(r(2392)),o=l(r(458)),s=l(r(8855)),i=l(r(2556)),c=l(r(9480));function l(e){return e&&e.__esModule?e:{default:e}}},2392:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){return!!e.exports}},458:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){var e=!1;try{e="ReactNative"===navigator.product}catch(t){e=!1}return e}},8855:(e,t,r)=>{"use strict";var n=r(9907);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(3647);t.default=function(){var e=!1;try{e=n.platform===a.SUPPORTED_PLATFORMS.WIN32}catch(t){e=!1}return e}},2556:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return Array.apply(null,Array(e)).map((function(e,t){return t}))}},9480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=(n=r(2556))&&n.__esModule?n:{default:n};t.default=function(e,t){return(0,a.default)(e).map((function(){return t()}))}},7250:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},9907:e=>{var t,r,n=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var i,c=[],l=!1,u=-1;function p(){l&&i&&(l=!1,i.length?c=i.concat(c):u=-1,c.length&&d())}function d(){if(!l){var e=s(p);l=!0;for(var t=c.length;t;){for(i=c,c=[];++u<t;)i&&i[u].run();u=-1,t=c.length}i=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function h(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new m(e,t)),1!==c.length||l||s(d)},m.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=h,n.addListener=h,n.once=h,n.off=h,n.removeListener=h,n.removeAllListeners=h,n.emit=h,n.prependListener=h,n.prependOnceListener=h,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},3174:(e,t,r)=>{const n=r(1309),a=r(8143),o=n.types;e.exports=class e{constructor(e,t){if(this._setDefaults(e),e instanceof RegExp)this.ignoreCase=e.ignoreCase,this.multiline=e.multiline,e=e.source;else{if("string"!=typeof e)throw new Error("Expected a regexp or string");this.ignoreCase=t&&-1!==t.indexOf("i"),this.multiline=t&&-1!==t.indexOf("m")}this.tokens=n(e)}_setDefaults(t){this.max=null!=t.max?t.max:null!=e.prototype.max?e.prototype.max:100,this.defaultRange=t.defaultRange?t.defaultRange:this.defaultRange.clone(),t.randInt&&(this.randInt=t.randInt)}gen(){return this._gen(this.tokens,[])}_gen(e,t){var r,n,a,s,i;switch(e.type){case o.ROOT:case o.GROUP:if(e.followedBy||e.notFollowedBy)return"";for(e.remember&&void 0===e.groupNumber&&(e.groupNumber=t.push(null)-1),n="",s=0,i=(r=e.options?this._randSelect(e.options):e.stack).length;s<i;s++)n+=this._gen(r[s],t);return e.remember&&(t[e.groupNumber]=n),n;case o.POSITION:return"";case o.SET:var c=this._expand(e);return c.length?String.fromCharCode(this._randSelect(c)):"";case o.REPETITION:for(a=this.randInt(e.min,e.max===1/0?e.min+this.max:e.max),n="",s=0;s<a;s++)n+=this._gen(e.value,t);return n;case o.REFERENCE:return t[e.value-1]||"";case o.CHAR:var l=this.ignoreCase&&this._randBool()?this._toOtherCase(e.value):e.value;return String.fromCharCode(l)}}_toOtherCase(e){return e+(97<=e&&e<=122?-32:65<=e&&e<=90?32:0)}_randBool(){return!this.randInt(0,1)}_randSelect(e){return e instanceof a?e.index(this.randInt(0,e.length-1)):e[this.randInt(0,e.length-1)]}_expand(e){if(e.type===n.types.CHAR)return new a(e.value);if(e.type===n.types.RANGE)return new a(e.from,e.to);{let t=new a;for(let r=0;r<e.set.length;r++){let n=this._expand(e.set[r]);if(t.add(n),this.ignoreCase)for(let e=0;e<n.length;e++){let r=n.index(e),a=this._toOtherCase(r);r!==a&&t.add(a)}}return e.not?this.defaultRange.clone().subtract(t):this.defaultRange.clone().intersect(t)}}randInt(e,t){return e+Math.floor(Math.random()*(1+t-e))}get defaultRange(){return this._range=this._range||new a(32,126)}set defaultRange(e){this._range=e}static randexp(t,r){var n;return"string"==typeof t&&(t=new RegExp(t,r)),void 0===t._randexp?(n=new e(t,r),t._randexp=n):(n=t._randexp)._setDefaults(t),n.gen()}static sugar(){RegExp.prototype.gen=function(){return e.randexp(this)}}}},1309:(e,t,r)=>{const n=r(4045),a=r(8020),o=r(7732),s=r(5097);e.exports=e=>{var t,r,i=0,c={type:a.ROOT,stack:[]},l=c,u=c.stack,p=[],d=t=>{n.error(e,"Nothing to repeat at column "+(t-1))},m=n.strToChars(e);for(t=m.length;i<t;)switch(r=m[i++]){case"\\":switch(r=m[i++]){case"b":u.push(s.wordBoundary());break;case"B":u.push(s.nonWordBoundary());break;case"w":u.push(o.words());break;case"W":u.push(o.notWords());break;case"d":u.push(o.ints());break;case"D":u.push(o.notInts());break;case"s":u.push(o.whitespace());break;case"S":u.push(o.notWhitespace());break;default:/\d/.test(r)?u.push({type:a.REFERENCE,value:parseInt(r,10)}):u.push({type:a.CHAR,value:r.charCodeAt(0)})}break;case"^":u.push(s.begin());break;case"$":u.push(s.end());break;case"[":var h;"^"===m[i]?(h=!0,i++):h=!1;var f=n.tokenizeClass(m.slice(i),e);i+=f[1],u.push({type:a.SET,set:f[0],not:h});break;case".":u.push(o.anyChar());break;case"(":var g={type:a.GROUP,stack:[],remember:!0};"?"===(r=m[i])&&(r=m[i+1],i+=2,"="===r?g.followedBy=!0:"!"===r?g.notFollowedBy=!0:":"!==r&&n.error(e,`Invalid group, character '${r}' after '?' at column `+(i-1)),g.remember=!1),u.push(g),p.push(l),l=g,u=g.stack;break;case")":0===p.length&&n.error(e,"Unmatched ) at column "+(i-1)),u=(l=p.pop()).options?l.options[l.options.length-1]:l.stack;break;case"|":l.options||(l.options=[l.stack],delete l.stack);var y=[];l.options.push(y),u=y;break;case"{":var v,$,A=/^(\d+)(,(\d+)?)?\}/.exec(m.slice(i));null!==A?(0===u.length&&d(i),v=parseInt(A[1],10),$=A[2]?A[3]?parseInt(A[3],10):1/0:v,i+=A[0].length,u.push({type:a.REPETITION,min:v,max:$,value:u.pop()})):u.push({type:a.CHAR,value:123});break;case"?":0===u.length&&d(i),u.push({type:a.REPETITION,min:0,max:1,value:u.pop()});break;case"+":0===u.length&&d(i),u.push({type:a.REPETITION,min:1,max:1/0,value:u.pop()});break;case"*":0===u.length&&d(i),u.push({type:a.REPETITION,min:0,max:1/0,value:u.pop()});break;default:u.push({type:a.CHAR,value:r.charCodeAt(0)})}return 0!==p.length&&n.error(e,"Unterminated group"),c},e.exports.types=a},5097:(e,t,r)=>{const n=r(8020);t.wordBoundary=()=>({type:n.POSITION,value:"b"}),t.nonWordBoundary=()=>({type:n.POSITION,value:"B"}),t.begin=()=>({type:n.POSITION,value:"^"}),t.end=()=>({type:n.POSITION,value:"$"})},7732:(e,t,r)=>{const n=r(8020),a=()=>[{type:n.RANGE,from:48,to:57}],o=()=>[{type:n.CHAR,value:95},{type:n.RANGE,from:97,to:122},{type:n.RANGE,from:65,to:90}].concat(a()),s=()=>[{type:n.CHAR,value:9},{type:n.CHAR,value:10},{type:n.CHAR,value:11},{type:n.CHAR,value:12},{type:n.CHAR,value:13},{type:n.CHAR,value:32},{type:n.CHAR,value:160},{type:n.CHAR,value:5760},{type:n.RANGE,from:8192,to:8202},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233},{type:n.CHAR,value:8239},{type:n.CHAR,value:8287},{type:n.CHAR,value:12288},{type:n.CHAR,value:65279}];t.words=()=>({type:n.SET,set:o(),not:!1}),t.notWords=()=>({type:n.SET,set:o(),not:!0}),t.ints=()=>({type:n.SET,set:a(),not:!1}),t.notInts=()=>({type:n.SET,set:a(),not:!0}),t.whitespace=()=>({type:n.SET,set:s(),not:!1}),t.notWhitespace=()=>({type:n.SET,set:s(),not:!0}),t.anyChar=()=>({type:n.SET,set:[{type:n.CHAR,value:10},{type:n.CHAR,value:13},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233}],not:!0})},8020:e=>{e.exports={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7}},4045:(e,t,r)=>{const n=r(8020),a=r(7732),o={0:0,t:9,n:10,v:11,f:12,r:13};t.strToChars=function(e){return e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(function(e,t,r,n,a,s,i,c){if(r)return e;var l=t?8:n?parseInt(n,16):a?parseInt(a,16):s?parseInt(s,8):i?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(i):o[c],u=String.fromCharCode(l);return/[[\]{}^$.|?*+()]/.test(u)&&(u="\\"+u),u}))},t.tokenizeClass=(e,r)=>{for(var o,s,i=[],c=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?([^])/g;null!=(o=c.exec(e));)if(o[1])i.push(a.words());else if(o[2])i.push(a.ints());else if(o[3])i.push(a.whitespace());else if(o[4])i.push(a.notWords());else if(o[5])i.push(a.notInts());else if(o[6])i.push(a.notWhitespace());else if(o[7])i.push({type:n.RANGE,from:(o[8]||o[9]).charCodeAt(0),to:o[10].charCodeAt(0)});else{if(!(s=o[12]))return[i,c.lastIndex];i.push({type:n.CHAR,value:s.charCodeAt(0)})}t.error(r,"Unterminated character class")},t.error=(e,t)=>{throw new SyntaxError("Invalid regular expression: /"+e+"/: "+t)}},1565:(e,t,r)=>{const n=Symbol("SemVer ANY");class a{static get ANY(){return n}constructor(e,t){if(t=o(t),e instanceof a){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),l("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===n?this.value="":this.value=this.operator+this.semver.version,l("comp",this)}parse(e){const t=this.options.loose?s[i.COMPARATORLOOSE]:s[i.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new u(r[2],this.options.loose):this.semver=n}toString(){return this.value}test(e){if(l("Comparator.test",e,this.options.loose),this.semver===n||e===n)return!0;if("string"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}return c(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof a))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new p(e.value,t).test(this.value):""===e.operator?""===e.value||new p(this.value,t).test(e.semver):!((t=o(t)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===e.value)||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))||(!this.operator.startsWith(">")||!e.operator.startsWith(">"))&&(!this.operator.startsWith("<")||!e.operator.startsWith("<"))&&(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))&&!(c(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))&&!(c(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}}e.exports=a;const o=r(3990),{safeRe:s,t:i}=r(2841),c=r(4004),l=r(1361),u=r(4517),p=r(7476)},7476:(e,t,r)=>{const n=/\s+/g;class a{constructor(e,t){if(t=s(t),e instanceof a)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new a(e.raw,t);if(e instanceof i)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(n," "),this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!y(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&v(e[0])){this.set=[e];break}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");const t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=" "),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){const t=((this.options.includePrerelease&&f)|(this.options.loose&&g))+":"+e,r=o.get(t);if(r)return r;const n=this.options.loose,a=n?u[p.HYPHENRANGELOOSE]:u[p.HYPHENRANGE];e=e.replace(a,S(this.options.includePrerelease)),c("hyphen replace",e),e=e.replace(u[p.COMPARATORTRIM],d),c("comparator trim",e),e=e.replace(u[p.TILDETRIM],m),c("tilde trim",e),e=e.replace(u[p.CARETTRIM],h),c("caret trim",e);let s=e.split(" ").map((e=>A(e,this.options))).join(" ").split(/\s+/).map((e=>M(e,this.options)));n&&(s=s.filter((e=>(c("loose invalid filter",e,this.options),!!e.match(u[p.COMPARATORLOOSE]))))),c("range list",s);const l=new Map,v=s.map((e=>new i(e,this.options)));for(const e of v){if(y(e))return[e];l.set(e.value,e)}l.size>1&&l.has("")&&l.delete("");const $=[...l.values()];return o.set(t,$),$}intersects(e,t){if(!(e instanceof a))throw new TypeError("a Range is required");return this.set.some((r=>$(r,t)&&e.set.some((e=>$(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(N(this.set[t],e,this.options))return!0;return!1}}e.exports=a;const o=new(r(8953)),s=r(3990),i=r(1565),c=r(1361),l=r(4517),{safeRe:u,t:p,comparatorTrimReplace:d,tildeTrimReplace:m,caretTrimReplace:h}=r(2841),{FLAG_INCLUDE_PRERELEASE:f,FLAG_LOOSE:g}=r(9543),y=e=>"<0.0.0-0"===e.value,v=e=>""===e.value,$=(e,t)=>{let r=!0;const n=e.slice();let a=n.pop();for(;r&&n.length;)r=n.every((e=>a.intersects(e,t))),a=n.pop();return r},A=(e,t)=>(c("comp",e,t),e=w(e,t),c("caret",e),e=C(e,t),c("tildes",e),e=F(e,t),c("xrange",e),e=I(e,t),c("stars",e),e),b=e=>!e||"x"===e.toLowerCase()||"*"===e,C=(e,t)=>e.trim().split(/\s+/).map((e=>T(e,t))).join(" "),T=(e,t)=>{const r=t.loose?u[p.TILDELOOSE]:u[p.TILDE];return e.replace(r,((t,r,n,a,o)=>{let s;return c("tilde",e,t,r,n,a,o),b(r)?s="":b(n)?s=`>=${r}.0.0 <${+r+1}.0.0-0`:b(a)?s=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:o?(c("replaceTilde pr",o),s=`>=${r}.${n}.${a}-${o} <${r}.${+n+1}.0-0`):s=`>=${r}.${n}.${a} <${r}.${+n+1}.0-0`,c("tilde return",s),s}))},w=(e,t)=>e.trim().split(/\s+/).map((e=>D(e,t))).join(" "),D=(e,t)=>{c("caret",e,t);const r=t.loose?u[p.CARETLOOSE]:u[p.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,a,o,s)=>{let i;return c("caret",e,t,r,a,o,s),b(r)?i="":b(a)?i=`>=${r}.0.0${n} <${+r+1}.0.0-0`:b(o)?i="0"===r?`>=${r}.${a}.0${n} <${r}.${+a+1}.0-0`:`>=${r}.${a}.0${n} <${+r+1}.0.0-0`:s?(c("replaceCaret pr",s),i="0"===r?"0"===a?`>=${r}.${a}.${o}-${s} <${r}.${a}.${+o+1}-0`:`>=${r}.${a}.${o}-${s} <${r}.${+a+1}.0-0`:`>=${r}.${a}.${o}-${s} <${+r+1}.0.0-0`):(c("no pr"),i="0"===r?"0"===a?`>=${r}.${a}.${o}${n} <${r}.${a}.${+o+1}-0`:`>=${r}.${a}.${o}${n} <${r}.${+a+1}.0-0`:`>=${r}.${a}.${o} <${+r+1}.0.0-0`),c("caret return",i),i}))},F=(e,t)=>(c("replaceXRanges",e,t),e.split(/\s+/).map((e=>E(e,t))).join(" ")),E=(e,t)=>{e=e.trim();const r=t.loose?u[p.XRANGELOOSE]:u[p.XRANGE];return e.replace(r,((r,n,a,o,s,i)=>{c("xRange",e,r,n,a,o,s,i);const l=b(a),u=l||b(o),p=u||b(s),d=p;return"="===n&&d&&(n=""),i=t.includePrerelease?"-0":"",l?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&d?(u&&(o=0),s=0,">"===n?(n=">=",u?(a=+a+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",u?a=+a+1:o=+o+1),"<"===n&&(i="-0"),r=`${n+a}.${o}.${s}${i}`):u?r=`>=${a}.0.0${i} <${+a+1}.0.0-0`:p&&(r=`>=${a}.${o}.0${i} <${a}.${+o+1}.0-0`),c("xRange return",r),r}))},I=(e,t)=>(c("replaceStars",e,t),e.trim().replace(u[p.STAR],"")),M=(e,t)=>(c("replaceGTE0",e,t),e.trim().replace(u[t.includePrerelease?p.GTE0PRE:p.GTE0],"")),S=e=>(t,r,n,a,o,s,i,c,l,u,p,d)=>`${r=b(n)?"":b(a)?`>=${n}.0.0${e?"-0":""}`:b(o)?`>=${n}.${a}.0${e?"-0":""}`:s?`>=${r}`:`>=${r}${e?"-0":""}`} ${c=b(l)?"":b(u)?`<${+l+1}.0.0-0`:b(p)?`<${l}.${+u+1}.0-0`:d?`<=${l}.${u}.${p}-${d}`:e?`<${l}.${u}.${+p+1}-0`:`<=${c}`}`.trim(),N=(e,t,r)=>{for(let r=0;r<e.length;r++)if(!e[r].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let r=0;r<e.length;r++)if(c(e[r].semver),e[r].semver!==i.ANY&&e[r].semver.prerelease.length>0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}},4517:(e,t,r)=>{const n=r(1361),{MAX_LENGTH:a,MAX_SAFE_INTEGER:o}=r(9543),{safeRe:s,t:i}=r(2841),c=r(3990),{compareIdentifiers:l}=r(3806);class u{constructor(e,t){if(t=c(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a)throw new TypeError(`version is longer than ${a} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?s[i.LOOSE]:s[i.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<o)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(n("SemVer.compare",this.version,this.options,e),!(e instanceof u)){if("string"==typeof e&&e===this.version)return 0;e=new u(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof u||(e=new u(e,this.options)),l(this.major,e.major)||l(this.minor,e.minor)||l(this.patch,e.patch)}comparePre(e){if(e instanceof u||(e=new u(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const r=this.prerelease[t],a=e.prerelease[t];if(n("prerelease compare",t,r,a),void 0===r&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===r)return-1;if(r!==a)return l(r,a)}while(++t)}compareBuild(e){e instanceof u||(e=new u(e,this.options));let t=0;do{const r=this.build[t],a=e.build[t];if(n("build compare",t,r,a),void 0===r&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===r)return-1;if(r!==a)return l(r,a)}while(++t)}inc(e,t,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===l(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=u},2281:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}},4004:(e,t,r)=>{const n=r(8848),a=r(8220),o=r(9761),s=r(2386),i=r(1262),c=r(9639);e.exports=(e,t,r,l)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return n(e,r,l);case"!=":return a(e,r,l);case">":return o(e,r,l);case">=":return s(e,r,l);case"<":return i(e,r,l);case"<=":return c(e,r,l);default:throw new TypeError(`Invalid operator: ${t}`)}}},6783:(e,t,r)=>{const n=r(4517),a=r(3955),{safeRe:o,t:s}=r(2841);e.exports=(e,t)=>{if(e instanceof n)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){const n=t.includePrerelease?o[s.COERCERTLFULL]:o[s.COERCERTL];let a;for(;(a=n.exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&a.index+a[0].length===r.index+r[0].length||(r=a),n.lastIndex=a.index+a[1].length+a[2].length;n.lastIndex=-1}else r=e.match(t.includePrerelease?o[s.COERCEFULL]:o[s.COERCE]);if(null===r)return null;const i=r[2],c=r[3]||"0",l=r[4]||"0",u=t.includePrerelease&&r[5]?`-${r[5]}`:"",p=t.includePrerelease&&r[6]?`+${r[6]}`:"";return a(`${i}.${c}.${l}${u}${p}`,t)}},6106:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r)=>{const a=new n(e,r),o=new n(t,r);return a.compare(o)||a.compareBuild(o)}},2132:(e,t,r)=>{const n=r(7851);e.exports=(e,t)=>n(e,t,!0)},7851:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},3269:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,null,!0),a=n(t,null,!0),o=r.compare(a);if(0===o)return null;const s=o>0,i=s?r:a,c=s?a:r,l=!!i.prerelease.length;if(c.prerelease.length&&!l)return c.patch||c.minor?i.patch?"patch":i.minor?"minor":"major":"major";const u=l?"pre":"";return r.major!==a.major?u+"major":r.minor!==a.minor?u+"minor":r.patch!==a.patch?u+"patch":"prerelease"}},8848:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>0===n(e,t,r)},9761:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)>0},2386:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)>=0},8868:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r,a,o)=>{"string"==typeof r&&(o=a,a=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,a,o).version}catch(e){return null}}},1262:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)<0},9639:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)<=0},6381:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).major},1353:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).minor},8220:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>0!==n(e,t,r)},3955:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}},6082:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).patch},9428:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}},7555:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(t,e,r)},3810:(e,t,r)=>{const n=r(6106);e.exports=(e,t)=>e.sort(((e,r)=>n(r,e,t)))},7229:(e,t,r)=>{const n=r(7476);e.exports=(e,t,r)=>{try{t=new n(t,r)}catch(e){return!1}return t.test(e)}},4042:(e,t,r)=>{const n=r(6106);e.exports=(e,t)=>e.sort(((e,r)=>n(e,r,t)))},8474:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,t);return r?r.version:null}},2722:(e,t,r)=>{const n=r(2841),a=r(9543),o=r(4517),s=r(3806),i=r(3955),c=r(8474),l=r(2281),u=r(8868),p=r(3269),d=r(6381),m=r(1353),h=r(6082),f=r(9428),g=r(7851),y=r(7555),v=r(2132),$=r(6106),A=r(4042),b=r(3810),C=r(9761),T=r(1262),w=r(8848),D=r(8220),F=r(2386),E=r(9639),I=r(4004),M=r(6783),S=r(1565),N=r(7476),O=r(7229),x=r(6364),P=r(5039),L=r(5357),R=r(1280),k=r(7403),_=r(8854),V=r(7226),B=r(7183),j=r(8623),U=r(6486),Q=r(583);e.exports={parse:i,valid:c,clean:l,inc:u,diff:p,major:d,minor:m,patch:h,prerelease:f,compare:g,rcompare:y,compareLoose:v,compareBuild:$,sort:A,rsort:b,gt:C,lt:T,eq:w,neq:D,gte:F,lte:E,cmp:I,coerce:M,Comparator:S,Range:N,satisfies:O,toComparators:x,maxSatisfying:P,minSatisfying:L,minVersion:R,validRange:k,outside:_,gtr:V,ltr:B,intersects:j,simplifyRange:U,subset:Q,SemVer:o,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:a.SEMVER_SPEC_VERSION,RELEASE_TYPES:a.RELEASE_TYPES,compareIdentifiers:s.compareIdentifiers,rcompareIdentifiers:s.rcompareIdentifiers}},9543:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},1361:(e,t,r)=>{const n="object"==typeof r(9907)&&{NODE_ENV:"production"}.NODE_DEBUG&&/\bsemver\b/i.test({NODE_ENV:"production"}.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=n},3806:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const n=t.test(e),a=t.test(r);return n&&a&&(e=+e,r=+r),e===r?0:n&&!a?-1:a&&!n?1:e<r?-1:1};e.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}},8953:e=>{e.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){const t=this.map.get(e);return void 0===t?void 0:(this.map.delete(e),this.map.set(e,t),t)}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&void 0!==t){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}},3990:e=>{const t=Object.freeze({loose:!0}),r=Object.freeze({});e.exports=e=>e?"object"!=typeof e?t:e:r},2841:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:o}=r(9543),s=r(1361),i=(t=e.exports={}).re=[],c=t.safeRe=[],l=t.src=[],u=t.t={};let p=0;const d="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",o],[d,a]],h=(e,t,r)=>{const n=(e=>{for(const[t,r]of m)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),a=p++;s(e,a,t),u[e]=a,l[a]=t,i[a]=new RegExp(t,r?"g":void 0),c[a]=new RegExp(n,r?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),h("MAINVERSION",`(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${l[u.NUMERICIDENTIFIER]}|${l[u.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${l[u.NUMERICIDENTIFIERLOOSE]}|${l[u.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${l[u.PRERELEASEIDENTIFIER]}(?:\\.${l[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${l[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${d}+`),h("BUILD",`(?:\\+(${l[u.BUILDIDENTIFIER]}(?:\\.${l[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${l[u.MAINVERSION]}${l[u.PRERELEASE]}?${l[u.BUILD]}?`),h("FULL",`^${l[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${l[u.MAINVERSIONLOOSE]}${l[u.PRERELEASELOOSE]}?${l[u.BUILD]}?`),h("LOOSE",`^${l[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${l[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${l[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:${l[u.PRERELEASE]})?${l[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:${l[u.PRERELEASELOOSE]})?${l[u.BUILD]}?)?)?`),h("XRANGE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${l[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",l[u.COERCEPLAIN]+`(?:${l[u.PRERELEASE]})?`+`(?:${l[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",l[u.COERCE],!0),h("COERCERTLFULL",l[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${l[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${l[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${l[u.LONECARET]}${l[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${l[u.LONECARET]}${l[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${l[u.GTLT]}\\s*(${l[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]}|${l[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${l[u.XRANGEPLAIN]})\\s+-\\s+(${l[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${l[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},7226:(e,t,r)=>{const n=r(8854);e.exports=(e,t,r)=>n(e,t,">",r)},8623:(e,t,r)=>{const n=r(7476);e.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))},7183:(e,t,r)=>{const n=r(8854);e.exports=(e,t,r)=>n(e,t,"<",r)},5039:(e,t,r)=>{const n=r(4517),a=r(7476);e.exports=(e,t,r)=>{let o=null,s=null,i=null;try{i=new a(t,r)}catch(e){return null}return e.forEach((e=>{i.test(e)&&(o&&-1!==s.compare(e)||(o=e,s=new n(o,r)))})),o}},5357:(e,t,r)=>{const n=r(4517),a=r(7476);e.exports=(e,t,r)=>{let o=null,s=null,i=null;try{i=new a(t,r)}catch(e){return null}return e.forEach((e=>{i.test(e)&&(o&&1!==s.compare(e)||(o=e,s=new n(o,r)))})),o}},1280:(e,t,r)=>{const n=r(4517),a=r(7476),o=r(9761);e.exports=(e,t)=>{e=new a(e,t);let r=new n("0.0.0");if(e.test(r))return r;if(r=new n("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t<e.set.length;++t){const a=e.set[t];let s=null;a.forEach((e=>{const t=new n(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":s&&!o(t,s)||(s=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!s||r&&!o(r,s)||(r=s)}return r&&e.test(r)?r:null}},8854:(e,t,r)=>{const n=r(4517),a=r(1565),{ANY:o}=a,s=r(7476),i=r(7229),c=r(9761),l=r(1262),u=r(9639),p=r(2386);e.exports=(e,t,r,d)=>{let m,h,f,g,y;switch(e=new n(e,d),t=new s(t,d),r){case">":m=c,h=u,f=l,g=">",y=">=";break;case"<":m=l,h=p,f=c,g="<",y="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i(e,t,d))return!1;for(let r=0;r<t.set.length;++r){const n=t.set[r];let s=null,i=null;if(n.forEach((e=>{e.semver===o&&(e=new a(">=0.0.0")),s=s||e,i=i||e,m(e.semver,s.semver,d)?s=e:f(e.semver,i.semver,d)&&(i=e)})),s.operator===g||s.operator===y)return!1;if((!i.operator||i.operator===g)&&h(e,i.semver))return!1;if(i.operator===y&&f(e,i.semver))return!1}return!0}},6486:(e,t,r)=>{const n=r(7229),a=r(7851);e.exports=(e,t,r)=>{const o=[];let s=null,i=null;const c=e.sort(((e,t)=>a(e,t,r)));for(const e of c)n(e,t,r)?(i=e,s||(s=e)):(i&&o.push([s,i]),i=null,s=null);s&&o.push([s,null]);const l=[];for(const[e,t]of o)e===t?l.push(e):t||e!==c[0]?t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`):l.push("*");const u=l.join(" || "),p="string"==typeof t.raw?t.raw:String(t);return u.length<p.length?u:t}},583:(e,t,r)=>{const n=r(7476),a=r(1565),{ANY:o}=a,s=r(7229),i=r(7851),c=[new a(">=0.0.0-0")],l=[new a(">=0.0.0")],u=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===o){if(1===t.length&&t[0].semver===o)return!0;e=r.includePrerelease?c:l}if(1===t.length&&t[0].semver===o){if(r.includePrerelease)return!0;t=l}const n=new Set;let a,u,m,h,f,g,y;for(const t of e)">"===t.operator||">="===t.operator?a=p(a,t,r):"<"===t.operator||"<="===t.operator?u=d(u,t,r):n.add(t.semver);if(n.size>1)return null;if(a&&u){if(m=i(a.semver,u.semver,r),m>0)return null;if(0===m&&(">="!==a.operator||"<="!==u.operator))return null}for(const e of n){if(a&&!s(e,String(a),r))return null;if(u&&!s(e,String(u),r))return null;for(const n of t)if(!s(e,String(n),r))return!1;return!0}let v=!(!u||r.includePrerelease||!u.semver.prerelease.length)&&u.semver,$=!(!a||r.includePrerelease||!a.semver.prerelease.length)&&a.semver;v&&1===v.prerelease.length&&"<"===u.operator&&0===v.prerelease[0]&&(v=!1);for(const e of t){if(y=y||">"===e.operator||">="===e.operator,g=g||"<"===e.operator||"<="===e.operator,a)if($&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===$.major&&e.semver.minor===$.minor&&e.semver.patch===$.patch&&($=!1),">"===e.operator||">="===e.operator){if(h=p(a,e,r),h===e&&h!==a)return!1}else if(">="===a.operator&&!s(a.semver,String(e),r))return!1;if(u)if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),"<"===e.operator||"<="===e.operator){if(f=d(u,e,r),f===e&&f!==u)return!1}else if("<="===u.operator&&!s(u.semver,String(e),r))return!1;if(!e.operator&&(u||a)&&0!==m)return!1}return!(a&&g&&!u&&0!==m||u&&y&&!a&&0!==m||$||v)},p=(e,t,r)=>{if(!e)return t;const n=i(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},d=(e,t,r)=>{if(!e)return t;const n=i(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let a=!1;e:for(const n of e.set){for(const e of t.set){const t=u(n,e,r);if(a=a||null!==t,t)continue e}if(a)return!1}return!0}},6364:(e,t,r)=>{const n=r(7476);e.exports=(e,t)=>new n(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},7403:(e,t,r)=>{const n=r(7476);e.exports=(e,t)=>{try{return new n(e,t).range||"*"}catch(e){return null}}},7431:e=>{"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),r=/[^\u0000-\u0080]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},9825:function(e,t,r){var n,a;!function(o,s){"use strict";e.exports?e.exports=s():void 0===(a="function"==typeof(n=s)?n.call(t,r,t,e):n)||(e.exports=a)}(0,(function(e){"use strict";var t=e&&e.IPv6;return{best:function(e){var t,r,n=e.toLowerCase().split(":"),a=n.length,o=8;for(""===n[0]&&""===n[1]&&""===n[2]?(n.shift(),n.shift()):""===n[0]&&""===n[1]?n.shift():""===n[a-1]&&""===n[a-2]&&n.pop(),-1!==n[(a=n.length)-1].indexOf(".")&&(o=7),t=0;t<a&&""!==n[t];t++);if(t<o)for(n.splice(t,1,"0000");n.length<o;)n.splice(t,0,"0000");for(var s=0;s<o;s++){r=n[s].split("");for(var i=0;i<3&&"0"===r[0]&&r.length>1;i++)r.splice(0,1);n[s]=r.join("")}var c=-1,l=0,u=0,p=-1,d=!1;for(s=0;s<o;s++)d?"0"===n[s]?u+=1:(d=!1,u>l&&(c=p,l=u)):"0"===n[s]&&(d=!0,p=s,u=1);u>l&&(c=p,l=u),l>1&&n.splice(c,l,""),a=n.length;var m="";for(""===n[0]&&(m=":"),s=0;s<a&&(m+=n[s],s!==a-1);s++)m+=":";return""===n[a-1]&&(m+=":"),m},noConflict:function(){return e.IPv6===this&&(e.IPv6=t),this}}}))},1811:function(e,t,r){var n,a;!function(o,s){"use strict";e.exports?e.exports=s():void 0===(a="function"==typeof(n=s)?n.call(t,r,t,e):n)||(e.exports=a)}(0,(function(e){"use strict";var t=e&&e.SecondLevelDomains,r={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return!1;var a=r.list[e.slice(t+1)];return!!a&&a.indexOf(" "+e.slice(n+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var n=r.list[e.slice(t+1)];return!!n&&n.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return null;var a=r.list[e.slice(t+1)];return a?a.indexOf(" "+e.slice(n+1,t)+" ")<0?null:e.slice(n+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return r}))},9472:function(e,t,r){var n,a,o;!function(s,i){"use strict";e.exports?e.exports=i(r(2675),r(9825),r(1811)):(a=[r(2675),r(9825),r(1811)],void 0===(o="function"==typeof(n=i)?n.apply(t,a):n)||(e.exports=o))}(0,(function(e,t,r,n){"use strict";var a=n&&n.URI;function o(e,t){var r=arguments.length>=1;if(!(this instanceof o))return r?arguments.length>=2?new o(e,t):new o(e):new o;if(void 0===e){if(r)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&r)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}o.version="1.19.11";var s=o.prototype,i=Object.prototype.hasOwnProperty;function c(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function u(e){return"Array"===l(e)}function p(e,t){var r,n,a={};if("RegExp"===l(t))a=null;else if(u(t))for(r=0,n=t.length;r<n;r++)a[t[r]]=!0;else a[t]=!0;for(r=0,n=e.length;r<n;r++)(a&&void 0!==a[e[r]]||!a&&t.test(e[r]))&&(e.splice(r,1),n--,r--);return e}function d(e,t){var r,n;if(u(t)){for(r=0,n=t.length;r<n;r++)if(!d(e,t[r]))return!1;return!0}var a=l(t);for(r=0,n=e.length;r<n;r++)if("RegExp"===a){if("string"==typeof e[r]&&e[r].match(t))return!0}else if(e[r]===t)return!0;return!1}function m(e,t){if(!u(e)||!u(t))return!1;if(e.length!==t.length)return!1;e.sort(),t.sort();for(var r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0}function h(e){return e.replace(/^\/+|\/+$/g,"")}function f(e){return escape(e)}function g(e){return encodeURIComponent(e).replace(/[!'()*]/g,f).replace(/\*/g,"%2A")}o._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:o.preventInvalidHostname,duplicateQueryParameters:o.duplicateQueryParameters,escapeQuerySpace:o.escapeQuerySpace}},o.preventInvalidHostname=!1,o.duplicateQueryParameters=!1,o.escapeQuerySpace=!0,o.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,o.idn_expression=/[^a-z0-9\._-]/i,o.punycode_expression=/(xn--)/i,o.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,o.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-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-Fa-f]{1,4}:){5}(((:[0-9A-Fa-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-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-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-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-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-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-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-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-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-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-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*$/,o.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,o.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},o.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,o.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,o.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},o.hostProtocols=["http","https"],o.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,o.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},o.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return o.domAttributes[t]}},o.encode=g,o.decode=decodeURIComponent,o.iso8859=function(){o.encode=escape,o.decode=unescape},o.unicode=function(){o.encode=g,o.decode=decodeURIComponent},o.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},o.encodeQuery=function(e,t){var r=o.encode(e+"");return void 0===t&&(t=o.escapeQuerySpace),t?r.replace(/%20/g,"+"):r},o.decodeQuery=function(e,t){e+="",void 0===t&&(t=o.escapeQuerySpace);try{return o.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var y,v={encode:"encode",decode:"decode"},$=function(e,t){return function(r){try{return o[t](r+"").replace(o.characters[e][t].expression,(function(r){return o.characters[e][t].map[r]}))}catch(e){return r}}};for(y in v)o[y+"PathSegment"]=$("pathname",v[y]),o[y+"UrnPathSegment"]=$("urnpath",v[y]);var A=function(e,t,r){return function(n){var a;a=r?function(e){return o[t](o[r](e))}:o[t];for(var s=(n+"").split(e),i=0,c=s.length;i<c;i++)s[i]=a(s[i]);return s.join(e)}};function b(e){return function(t,r){return void 0===t?this._parts[e]||"":(this._parts[e]=t||null,this.build(!r),this)}}function C(e,t){return function(r,n){return void 0===r?this._parts[e]||"":(null!==r&&(r+="").charAt(0)===t&&(r=r.substring(1)),this._parts[e]=r,this.build(!n),this)}}o.decodePath=A("/","decodePathSegment"),o.decodeUrnPath=A(":","decodeUrnPathSegment"),o.recodePath=A("/","encodePathSegment","decode"),o.recodeUrnPath=A(":","encodeUrnPathSegment","decode"),o.encodeReserved=$("reserved","encode"),o.parse=function(e,t){var r;return t||(t={preventInvalidHostname:o.preventInvalidHostname}),(r=(e=(e=e.replace(o.leading_whitespace_expression,"")).replace(o.ascii_tab_whitespace,"")).indexOf("#"))>-1&&(t.fragment=e.substring(r+1)||null,e=e.substring(0,r)),(r=e.indexOf("?"))>-1&&(t.query=e.substring(r+1)||null,e=e.substring(0,r)),"//"===(e=(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).replace(/^[/\\]{2,}/i,"//")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=o.parseAuthority(e,t)):(r=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,r)||null,t.protocol&&!t.protocol.match(o.protocol_expression)?t.protocol=void 0:"//"===e.substring(r+1,r+3).replace(/\\/g,"/")?(e=e.substring(r+3),e=o.parseAuthority(e,t)):(e=e.substring(r+1),t.urn=!0)),t.path=e,t},o.parseHost=function(e,t){e||(e="");var r,n,a=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===a&&(a=e.length),"["===e.charAt(0))r=e.indexOf("]"),t.hostname=e.substring(1,r)||null,t.port=e.substring(r+2,a)||null,"/"===t.port&&(t.port=null);else{var s=e.indexOf(":"),i=e.indexOf("/"),c=e.indexOf(":",s+1);-1!==c&&(-1===i||c<i)?(t.hostname=e.substring(0,a)||null,t.port=null):(n=e.substring(0,a).split(":"),t.hostname=n[0]||null,t.port=n[1]||null)}return t.hostname&&"/"!==e.substring(a).charAt(0)&&(a++,e="/"+e),t.preventInvalidHostname&&o.ensureValidHostname(t.hostname,t.protocol),t.port&&o.ensureValidPort(t.port),e.substring(a)||"/"},o.parseAuthority=function(e,t){return e=o.parseUserinfo(e,t),o.parseHost(e,t)},o.parseUserinfo=function(e,t){var r=e;-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/"));var n,a=e.indexOf("/"),s=e.lastIndexOf("@",a>-1?a:e.length-1);return s>-1&&(-1===a||s<a)?(n=e.substring(0,s).split(":"),t.username=n[0]?o.decode(n[0]):null,n.shift(),t.password=n[0]?o.decode(n.join(":")):null,e=r.substring(s+1)):(t.username=null,t.password=null),e},o.parseQuery=function(e,t){if(!e)return{};if(!(e=e.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,"")))return{};for(var r,n,a,s={},c=e.split("&"),l=c.length,u=0;u<l;u++)r=c[u].split("="),n=o.decodeQuery(r.shift(),t),a=r.length?o.decodeQuery(r.join("="),t):null,"__proto__"!==n&&(i.call(s,n)?("string"!=typeof s[n]&&null!==s[n]||(s[n]=[s[n]]),s[n].push(a)):s[n]=a);return s},o.build=function(e){var t="",r=!1;return e.protocol&&(t+=e.protocol+":"),e.urn||!t&&!e.hostname||(t+="//",r=!0),t+=o.buildAuthority(e)||"","string"==typeof e.path&&("/"!==e.path.charAt(0)&&r&&(t+="/"),t+=e.path),"string"==typeof e.query&&e.query&&(t+="?"+e.query),"string"==typeof e.fragment&&e.fragment&&(t+="#"+e.fragment),t},o.buildHost=function(e){var t="";return e.hostname?(o.ip6_expression.test(e.hostname)?t+="["+e.hostname+"]":t+=e.hostname,e.port&&(t+=":"+e.port),t):""},o.buildAuthority=function(e){return o.buildUserinfo(e)+o.buildHost(e)},o.buildUserinfo=function(e){var t="";return e.username&&(t+=o.encode(e.username)),e.password&&(t+=":"+o.encode(e.password)),t&&(t+="@"),t},o.buildQuery=function(e,t,r){var n,a,s,c,l="";for(a in e)if("__proto__"!==a&&i.call(e,a))if(u(e[a]))for(n={},s=0,c=e[a].length;s<c;s++)void 0!==e[a][s]&&void 0===n[e[a][s]+""]&&(l+="&"+o.buildQueryParameter(a,e[a][s],r),!0!==t&&(n[e[a][s]+""]=!0));else void 0!==e[a]&&(l+="&"+o.buildQueryParameter(a,e[a],r));return l.substring(1)},o.buildQueryParameter=function(e,t,r){return o.encodeQuery(e,r)+(null!==t?"="+o.encodeQuery(t,r):"")},o.addQuery=function(e,t,r){if("object"==typeof t)for(var n in t)i.call(t,n)&&o.addQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");if(void 0===e[t])return void(e[t]=r);"string"==typeof e[t]&&(e[t]=[e[t]]),u(r)||(r=[r]),e[t]=(e[t]||[]).concat(r)}},o.setQuery=function(e,t,r){if("object"==typeof t)for(var n in t)i.call(t,n)&&o.setQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");e[t]=void 0===r?null:r}},o.removeQuery=function(e,t,r){var n,a,s;if(u(t))for(n=0,a=t.length;n<a;n++)e[t[n]]=void 0;else if("RegExp"===l(t))for(s in e)t.test(s)&&(e[s]=void 0);else if("object"==typeof t)for(s in t)i.call(t,s)&&o.removeQuery(e,s,t[s]);else{if("string"!=typeof t)throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");void 0!==r?"RegExp"===l(r)?!u(e[t])&&r.test(e[t])?e[t]=void 0:e[t]=p(e[t],r):e[t]!==String(r)||u(r)&&1!==r.length?u(e[t])&&(e[t]=p(e[t],r)):e[t]=void 0:e[t]=void 0}},o.hasQuery=function(e,t,r,n){switch(l(t)){case"String":break;case"RegExp":for(var a in e)if(i.call(e,a)&&t.test(a)&&(void 0===r||o.hasQuery(e,a,r)))return!0;return!1;case"Object":for(var s in t)if(i.call(t,s)&&!o.hasQuery(e,s,t[s]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(l(r)){case"Undefined":return t in e;case"Boolean":return r===Boolean(u(e[t])?e[t].length:e[t]);case"Function":return!!r(e[t],t,e);case"Array":return!!u(e[t])&&(n?d:m)(e[t],r);case"RegExp":return u(e[t])?!!n&&d(e[t],r):Boolean(e[t]&&e[t].match(r));case"Number":r=String(r);case"String":return u(e[t])?!!n&&d(e[t],r):e[t]===r;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},o.joinPaths=function(){for(var e=[],t=[],r=0,n=0;n<arguments.length;n++){var a=new o(arguments[n]);e.push(a);for(var s=a.segment(),i=0;i<s.length;i++)"string"==typeof s[i]&&t.push(s[i]),s[i]&&r++}if(!t.length||!r)return new o("");var c=new o("").segment(t);return""!==e[0].path()&&"/"!==e[0].path().slice(0,1)||c.path("/"+c.path()),c.normalize()},o.commonPath=function(e,t){var r,n=Math.min(e.length,t.length);for(r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r)){r--;break}return r<1?e.charAt(0)===t.charAt(0)&&"/"===e.charAt(0)?"/":"":("/"===e.charAt(r)&&"/"===t.charAt(r)||(r=e.substring(0,r).lastIndexOf("/")),e.substring(0,r+1))},o.withinString=function(e,t,r){r||(r={});var n=r.start||o.findUri.start,a=r.end||o.findUri.end,s=r.trim||o.findUri.trim,i=r.parens||o.findUri.parens,c=/[a-z0-9-]=["']?$/i;for(n.lastIndex=0;;){var l=n.exec(e);if(!l)break;var u=l.index;if(r.ignoreHtml){var p=e.slice(Math.max(u-3,0),u);if(p&&c.test(p))continue}for(var d=u+e.slice(u).search(a),m=e.slice(u,d),h=-1;;){var f=i.exec(m);if(!f)break;var g=f.index+f[0].length;h=Math.max(h,g)}if(!((m=h>-1?m.slice(0,h)+m.slice(h).replace(s,""):m.replace(s,"")).length<=l[0].length||r.ignore&&r.ignore.test(m))){var y=t(m,u,d=u+m.length,e);void 0!==y?(y=String(y),e=e.slice(0,u)+y+e.slice(d),n.lastIndex=u+y.length):n.lastIndex=d}}return n.lastIndex=0,e},o.ensureValidHostname=function(t,r){var n=!!t,a=!1;if(!!r&&(a=d(o.hostProtocols,r)),a&&!n)throw new TypeError("Hostname cannot be empty, if protocol is "+r);if(t&&t.match(o.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(o.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},o.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},o.noConflict=function(e){if(e){var t={URI:this.noConflict()};return n.URITemplate&&"function"==typeof n.URITemplate.noConflict&&(t.URITemplate=n.URITemplate.noConflict()),n.IPv6&&"function"==typeof n.IPv6.noConflict&&(t.IPv6=n.IPv6.noConflict()),n.SecondLevelDomains&&"function"==typeof n.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=n.SecondLevelDomains.noConflict()),t}return n.URI===this&&(n.URI=a),this},s.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=o.build(this._parts),this._deferred_build=!1),this},s.clone=function(){return new o(this)},s.valueOf=s.toString=function(){return this.build(!1)._string},s.protocol=b("protocol"),s.username=b("username"),s.password=b("password"),s.hostname=b("hostname"),s.port=b("port"),s.query=C("query","?"),s.fragment=C("fragment","#"),s.search=function(e,t){var r=this.query(e,t);return"string"==typeof r&&r.length?"?"+r:r},s.hash=function(e,t){var r=this.fragment(e,t);return"string"==typeof r&&r.length?"#"+r:r},s.pathname=function(e,t){if(void 0===e||!0===e){var r=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?o.decodeUrnPath:o.decodePath)(r):r}return this._parts.urn?this._parts.path=e?o.recodeUrnPath(e):"":this._parts.path=e?o.recodePath(e):"/",this.build(!t),this},s.path=s.pathname,s.href=function(e,t){var r;if(void 0===e)return this.toString();this._string="",this._parts=o._parts();var n=e instanceof o,a="object"==typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName&&(e=e[o.getDomAttribute(e)]||"",a=!1),!n&&a&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=o.parse(String(e),this._parts);else{if(!n&&!a)throw new TypeError("invalid input");var s=n?e._parts:e;for(r in s)"query"!==r&&i.call(this._parts,r)&&(this._parts[r]=s[r]);s.query&&this.query(s.query,!1)}return this.build(!t),this},s.is=function(e){var t=!1,n=!1,a=!1,s=!1,i=!1,c=!1,l=!1,u=!this._parts.urn;switch(this._parts.hostname&&(u=!1,n=o.ip4_expression.test(this._parts.hostname),a=o.ip6_expression.test(this._parts.hostname),i=(s=!(t=n||a))&&r&&r.has(this._parts.hostname),c=s&&o.idn_expression.test(this._parts.hostname),l=s&&o.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return u;case"absolute":return!u;case"domain":case"name":return s;case"sld":return i;case"ip":return t;case"ip4":case"ipv4":case"inet4":return n;case"ip6":case"ipv6":case"inet6":return a;case"idn":return c;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return l}return null};var T=s.protocol,w=s.port,D=s.hostname;s.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(o.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return T.call(this,e,t)},s.scheme=s.protocol,s.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),o.ensureValidPort(e))),w.call(this,e,t))},s.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var r={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==o.parseHost(e,r))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=r.hostname,this._parts.preventInvalidHostname&&o.ensureValidHostname(e,this._parts.protocol)}return D.call(this,e,t)},s.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=this.protocol();return this.authority()?(r?r+"://":"")+this.authority():""}var n=o(e);return this.protocol(n.protocol()).authority(n.authority()).build(!t),this},s.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildHost(this._parts):"";if("/"!==o.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildAuthority(this._parts):"";if("/"!==o.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=o.buildUserinfo(this._parts);return r?r.substring(0,r.length-1):r}return"@"!==e[e.length-1]&&(e+="@"),o.parseUserinfo(e,this._parts),this.build(!t),this},s.resource=function(e,t){var r;return void 0===e?this.path()+this.search()+this.hash():(r=o.parse(e),this._parts.path=r.path,this._parts.query=r.query,this._parts.fragment=r.fragment,this.build(!t),this)},s.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,r)||""}var n=this._parts.hostname.length-this.domain().length,a=this._parts.hostname.substring(0,n),s=new RegExp("^"+c(a));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&o.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(s,e),this.build(!t),this},s.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.match(/\./g);if(r&&r.length<2)return this._parts.hostname;var n=this._parts.hostname.length-this.tld(t).length-1;return n=this._parts.hostname.lastIndexOf(".",n-1)+1,this._parts.hostname.substring(n)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(o.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var a=new RegExp(c(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(a,e)}return this.build(!t),this},s.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.lastIndexOf("."),a=this._parts.hostname.substring(n+1);return!0!==t&&r&&r.list[a.toLowerCase()]&&r.get(this._parts.hostname)||a}var o;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!r||!r.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}return this.build(!t),this},s.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var r=this._parts.path.length-this.filename().length-1,n=this._parts.path.substring(0,r)||(this._parts.hostname?"/":"");return e?o.decodePath(n):n}var a=this._parts.path.length-this.filename().length,s=this._parts.path.substring(0,a),i=new RegExp("^"+c(s));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=o.recodePath(e),this._parts.path=this._parts.path.replace(i,e),this.build(!t),this},s.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var r=this._parts.path.lastIndexOf("/"),n=this._parts.path.substring(r+1);return e?o.decodePathSegment(n):n}var a=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(a=!0);var s=new RegExp(c(this.filename())+"$");return e=o.recodePath(e),this._parts.path=this._parts.path.replace(s,e),a?this.normalizePath(t):this.build(!t),this},s.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var r,n,a=this.filename(),s=a.lastIndexOf(".");return-1===s?"":(r=a.substring(s+1),n=/^[a-z0-9%]+$/i.test(r)?r:"",e?o.decodePathSegment(n):n)}"."===e.charAt(0)&&(e=e.substring(1));var i,l=this.suffix();if(l)i=e?new RegExp(c(l)+"$"):new RegExp(c("."+l)+"$");else{if(!e)return this;this._parts.path+="."+o.recodePath(e)}return i&&(e=o.recodePath(e),this._parts.path=this._parts.path.replace(i,e)),this.build(!t),this},s.segment=function(e,t,r){var n=this._parts.urn?":":"/",a=this.path(),o="/"===a.substring(0,1),s=a.split(n);if(void 0!==e&&"number"!=typeof e&&(r=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(o&&s.shift(),e<0&&(e=Math.max(s.length+e,0)),void 0===t)return void 0===e?s:s[e];if(null===e||void 0===s[e])if(u(t)){s=[];for(var i=0,c=t.length;i<c;i++)(t[i].length||s.length&&s[s.length-1].length)&&(s.length&&!s[s.length-1].length&&s.pop(),s.push(h(t[i])))}else(t||"string"==typeof t)&&(t=h(t),""===s[s.length-1]?s[s.length-1]=t:s.push(t));else t?s[e]=h(t):s.splice(e,1);return o&&s.unshift(""),this.path(s.join(n),r)},s.segmentCoded=function(e,t,r){var n,a,s;if("number"!=typeof e&&(r=t,t=e,e=void 0),void 0===t){if(u(n=this.segment(e,t,r)))for(a=0,s=n.length;a<s;a++)n[a]=o.decode(n[a]);else n=void 0!==n?o.decode(n):void 0;return n}if(u(t))for(a=0,s=t.length;a<s;a++)t[a]=o.encode(t[a]);else t="string"==typeof t||t instanceof String?o.encode(t):t;return this.segment(e,t,r)};var F=s.query;return s.query=function(e,t){if(!0===e)return o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof e){var r=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace),n=e.call(this,r);return this._parts.query=o.buildQuery(n||r,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this}return void 0!==e&&"string"!=typeof e?(this._parts.query=o.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this):F.call(this,e,t)},s.setQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof e||e instanceof String)n[e]=void 0!==t?t:null;else{if("object"!=typeof e)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var a in e)i.call(e,a)&&(n[a]=e[a])}return this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.addQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.addQuery(n,e,void 0===t?null:t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.removeQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.removeQuery(n,e,t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.hasQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.hasQuery(n,e,t,r)},s.setSearch=s.setQuery,s.addSearch=s.addQuery,s.removeSearch=s.removeQuery,s.hasSearch=s.hasQuery,s.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},s.normalizeProtocol=function(e){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!e)),this},s.normalizeHostname=function(r){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!r)),this},s.normalizePort=function(e){return"string"==typeof this._parts.protocol&&this._parts.port===o.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!e)),this},s.normalizePath=function(e){var t,r=this._parts.path;if(!r)return this;if(this._parts.urn)return this._parts.path=o.recodeUrnPath(this._parts.path),this.build(!e),this;if("/"===this._parts.path)return this;var n,a,s="";for("/"!==(r=o.recodePath(r)).charAt(0)&&(t=!0,r="/"+r),"/.."!==r.slice(-3)&&"/."!==r.slice(-2)||(r+="/"),r=r.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),t&&(s=r.substring(1).match(/^(\.\.\/)+/)||"")&&(s=s[0]);-1!==(n=r.search(/\/\.\.(\/|$)/));)0!==n?(-1===(a=r.substring(0,n).lastIndexOf("/"))&&(a=n),r=r.substring(0,a)+r.substring(n+3)):r=r.substring(3);return t&&this.is("relative")&&(r=s+r.substring(1)),this._parts.path=r,this.build(!e),this},s.normalizePathname=s.normalizePath,s.normalizeQuery=function(e){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(o.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!e)),this},s.normalizeFragment=function(e){return this._parts.fragment||(this._parts.fragment=null,this.build(!e)),this},s.normalizeSearch=s.normalizeQuery,s.normalizeHash=s.normalizeFragment,s.iso8859=function(){var e=o.encode,t=o.decode;o.encode=escape,o.decode=decodeURIComponent;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.unicode=function(){var e=o.encode,t=o.decode;o.encode=g,o.decode=unescape;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.readable=function(){var t=this.clone();t.username("").password("").normalize();var r="";if(t._parts.protocol&&(r+=t._parts.protocol+"://"),t._parts.hostname&&(t.is("punycode")&&e?(r+=e.toUnicode(t._parts.hostname),t._parts.port&&(r+=":"+t._parts.port)):r+=t.host()),t._parts.hostname&&t._parts.path&&"/"!==t._parts.path.charAt(0)&&(r+="/"),r+=t.path(!0),t._parts.query){for(var n="",a=0,s=t._parts.query.split("&"),i=s.length;a<i;a++){var c=(s[a]||"").split("=");n+="&"+o.decodeQuery(c[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),void 0!==c[1]&&(n+="="+o.decodeQuery(c[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}r+="?"+n.substring(1)}return r+o.decodeQuery(t.hash(),!0)},s.absoluteTo=function(e){var t,r,n,a=this.clone(),s=["protocol","username","password","hostname","port"];if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e instanceof o||(e=new o(e)),a._parts.protocol)return a;if(a._parts.protocol=e._parts.protocol,this._parts.hostname)return a;for(r=0;n=s[r];r++)a._parts[n]=e._parts[n];return a._parts.path?(".."===a._parts.path.substring(-2)&&(a._parts.path+="/"),"/"!==a.path().charAt(0)&&(t=(t=e.directory())||(0===e.path().indexOf("/")?"/":""),a._parts.path=(t?t+"/":"")+a._parts.path,a.normalizePath())):(a._parts.path=e._parts.path,a._parts.query||(a._parts.query=e._parts.query)),a.build(),a},s.relativeTo=function(e){var t,r,n,a,s,i=this.clone().normalize();if(i._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e=new o(e).normalize(),t=i._parts,r=e._parts,a=i.path(),s=e.path(),"/"!==a.charAt(0))throw new Error("URI is already relative");if("/"!==s.charAt(0))throw new Error("Cannot calculate a URI relative to another relative URI");if(t.protocol===r.protocol&&(t.protocol=null),t.username!==r.username||t.password!==r.password)return i.build();if(null!==t.protocol||null!==t.username||null!==t.password)return i.build();if(t.hostname!==r.hostname||t.port!==r.port)return i.build();if(t.hostname=null,t.port=null,a===s)return t.path="",i.build();if(!(n=o.commonPath(a,s)))return i.build();var c=r.path.substring(n.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return t.path=c+t.path.substring(n.length)||"./",i.build()},s.equals=function(e){var t,r,n,a,s,c=this.clone(),l=new o(e),p={};if(c.normalize(),l.normalize(),c.toString()===l.toString())return!0;if(n=c.query(),a=l.query(),c.query(""),l.query(""),c.toString()!==l.toString())return!1;if(n.length!==a.length)return!1;for(s in t=o.parseQuery(n,this._parts.escapeQuerySpace),r=o.parseQuery(a,this._parts.escapeQuerySpace),t)if(i.call(t,s)){if(u(t[s])){if(!m(t[s],r[s]))return!1}else if(t[s]!==r[s])return!1;p[s]=!0}for(s in r)if(i.call(r,s)&&!p[s])return!1;return!0},s.preventInvalidHostname=function(e){return this._parts.preventInvalidHostname=!!e,this},s.duplicateQueryParameters=function(e){return this._parts.duplicateQueryParameters=!!e,this},s.escapeQuerySpace=function(e){return this._parts.escapeQuerySpace=!!e,this},o}))},2675:function(e,t,r){var n;e=r.nmd(e),function(){t&&t.nodeType,e&&e.nodeType;var a="object"==typeof r.g&&r.g;a.global!==a&&a.window!==a&&a.self;var o,s=2147483647,i=36,c=/^xn--/,l=/[^\x20-\x7E]/,u=/[\x2E\u3002\uFF0E\uFF61]/g,p={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,m=String.fromCharCode;function h(e){throw new RangeError(p[e])}function f(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function g(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+f((e=e.replace(u,".")).split("."),t).join(".")}function y(e){for(var t,r,n=[],a=0,o=e.length;a<o;)(t=e.charCodeAt(a++))>=55296&&t<=56319&&a<o?56320==(64512&(r=e.charCodeAt(a++)))?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),a--):n.push(t);return n}function v(e){return f(e,(function(e){var t="";return e>65535&&(t+=m((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+m(e)})).join("")}function $(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function A(e,t,r){var n=0;for(e=r?d(e/700):e>>1,e+=d(e/t);e>455;n+=i)e=d(e/35);return d(n+36*e/(e+38))}function b(e){var t,r,n,a,o,c,l,u,p,m,f,g=[],y=e.length,$=0,b=128,C=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n<r;++n)e.charCodeAt(n)>=128&&h("not-basic"),g.push(e.charCodeAt(n));for(a=r>0?r+1:0;a<y;){for(o=$,c=1,l=i;a>=y&&h("invalid-input"),((u=(f=e.charCodeAt(a++))-48<10?f-22:f-65<26?f-65:f-97<26?f-97:i)>=i||u>d((s-$)/c))&&h("overflow"),$+=u*c,!(u<(p=l<=C?1:l>=C+26?26:l-C));l+=i)c>d(s/(m=i-p))&&h("overflow"),c*=m;C=A($-o,t=g.length+1,0==o),d($/t)>s-b&&h("overflow"),b+=d($/t),$%=t,g.splice($++,0,b)}return v(g)}function C(e){var t,r,n,a,o,c,l,u,p,f,g,v,b,C,T,w=[];for(v=(e=y(e)).length,t=128,r=0,o=72,c=0;c<v;++c)(g=e[c])<128&&w.push(m(g));for(n=a=w.length,a&&w.push("-");n<v;){for(l=s,c=0;c<v;++c)(g=e[c])>=t&&g<l&&(l=g);for(l-t>d((s-r)/(b=n+1))&&h("overflow"),r+=(l-t)*b,t=l,c=0;c<v;++c)if((g=e[c])<t&&++r>s&&h("overflow"),g==t){for(u=r,p=i;!(u<(f=p<=o?1:p>=o+26?26:p-o));p+=i)T=u-f,C=i-f,w.push(m($(f+T%C,0))),u=d(T/C);w.push(m($(u,0))),o=A(r,b,n==a),r=0,++n}++r,++t}return w.join("")}o={version:"1.3.2",ucs2:{decode:y,encode:v},decode:b,encode:C,toASCII:function(e){return g(e,(function(e){return l.test(e)?"xn--"+C(e):e}))},toUnicode:function(e){return g(e,(function(e){return c.test(e)?b(e.slice(4).toLowerCase()):e}))}},void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)}()},5237:(e,t,r)=>{"use strict";const n=r(3686),a=r(1861),o=r(5477),s=r(5430),i=r(4404),c=r(8088),l=r(9869),u=r(8058),p=r(953),d=r(6341),m=r(8171),h=r(7337),f=r(3218),g=r(745),y=r(7189),v=r(3135),$=r(8968),A=r(7046),b=r(9852),C=r(1529),T=r(2302),w=r(6099),D=r(6375),F=r(1976),E=r(516),I=r(2523),M=r(9259),S=r(6113),N=r(7755),O=r(1595),x=r(2438),P=r(4471),L=r(6226),R=r(9481),k=r(3673),_=r(1768),V=r(6803),B=r(6033),j=r(7624),U=r(7662),Q=r(3899),z=r(8330);e.exports={SecurityException:n,IllegalModelException:a,TypeNotFoundException:o,MetamodelException:s,Decorator:i,DecoratorFactory:c,DecoratorManager:B,ClassDeclaration:l,IdentifiedDeclaration:u,AssetDeclaration:p,ConceptDeclaration:d,EnumValueDeclaration:m,EventDeclaration:h,ParticipantDeclaration:f,TransactionDeclaration:g,ScalarDeclaration:y,MapDeclaration:v,MapKeyType:$,MapValueType:A,Property:b,Field:C,EnumDeclaration:T,RelationshipDeclaration:w,Validator:D,NumberValidator:F,StringValidator:E,Typed:I,Identifiable:M,Relationship:S,Resource:N,Factory:O,Globalize:x,Introspector:P,ModelFile:L,ModelManager:R,Serializer:k,ModelUtil:_,ModelLoader:V,DateTimeUtil:j,Concerto:U,MetaModel:Q,version:z}},1209:(e,t,r)=>{"use strict";const n=r(6255),a=r(6485),o=r(4584),s=r(9452),i=r(6538),c=r(4318),l=r(4313),u=r(5734),p=r(9416),d=r(4231),m=r(4402),h=r(3233),f=r(4965),g=r(1111),y=r(8313),v=r(6873),$=r(8792),A=r(9025);e.exports={BaseException:n,BaseFileException:a,FileDownloader:o,CompositeFileLoader:s,DefaultFileLoader:i,GitHubFileLoader:c,HTTPFileLoader:l,Writer:u,FileWriter:p,InMemoryWriter:m,ModelWriter:d,Logger:h,TypedStack:f,Label:g,Identifiers:y,ErrorCodes:v,NullUtil:$,Warning:A}},6255:(e,t,r)=>{"use strict";const n=r(4486),a=r(6873);class o extends Error{constructor(e,t,r){super(e),this.component=t||n.name,this.name=this.constructor.name,this.message=e,this.errorType=r||a.DEFAULT_BASE_EXCEPTION,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}e.exports=o},6485:(e,t,r)=>{"use strict";const n=r(6255);e.exports=class extends n{constructor(e,t,r,n,a){super(r||e,a),this.fileLocation=t,this.shortMessage=e,this.fileName=n}getFileLocation(){return this.fileLocation}getShortMessage(){return this.shortMessage}getFileName(){return this.fileName}}},6873:e=>{"use strict";e.exports={DEFAULT_BASE_EXCEPTION:"DefaultBaseException",DEFAULT_VALIDATOR_EXCEPTION:"DefaultValidatorException",REGEX_VALIDATOR_EXCEPTION:"RegexValidatorException",TYPE_NOT_FOUND_EXCEPTION:"TypeNotFoundException",DEPRECATION_WARNING:"DeprecationWarning",CONCERTO_DEPRECATION_001:"concerto-dep:001",CONCERTO_DEPRECATION_002:"concerto-dep:002"}},4584:(e,t,r)=>{"use strict";const n=r(901)("concerto:FileDownloader"),a=r(6573),o=e=>[].concat(...e),s=e=>e.filter(Boolean),i=async(e,t)=>{const r=e.response&&e.response.status&&200!==e.response.status,n=e.code&&"ENOTFOUND"===e.code;if(r||n){const e=new Error(`Unable to download external model dependency '${t.url}'`);throw e.code="MISSING_DEPENDENCY",e}throw new Error("Failed to load model file. Job: "+t.url+" Details: "+e)};e.exports=class{constructor(e,t,r=10){this.fileLoader=e,this.concurrency=r,this.getExternalImports=t}downloadExternalDependencies(e,t){n("downloadExternalDependencies");const r=new Set;t||(t={});const c=o(e.map((e=>{const n=this.getExternalImports(e);return Object.keys(n).map((e=>({downloadedUris:r,url:n[e],options:t})))})));return a.withConcurrency(this.concurrency).for(c).handleError(i).process((e=>this.runJob(e,this.fileLoader))).then((({results:e})=>s(o(e))))}runJob(e,t){const r=e.downloadedUris,c=e.options,l=e.url;return r.add(l),n("runJob","Loading",l),t.load(l,c).then((async e=>{n("runJob","Loaded",l);const u=this.getExternalImports(e),p=Array.from(new Set(Object.keys(u).map((e=>u[e]))));return n("runJob","importedUris",p),(await a.withConcurrency(this.concurrency).for(p).handleError(i).process((e=>{if(!r.has(e))return this.runJob({options:c,url:e,downloadedUris:r},t)})).then((({results:e})=>s(o(e))))).concat([e])}))}}},9416:(e,t,r)=>{"use strict";const n=r(2522),a=r(2338),o=r(5734);e.exports=class extends o{constructor(e){super(),this.outputDirectory=e,this.relativeDir=null,this.fileName=null,n.mkdirSync(e,{recursive:!0})}openFile(e){this.fileName=e,this.relativeDir=null}openRelativeFile(e,t){this.relativeDir=e,this.fileName=t}writeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeLine(e,t)}writeBeforeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeBeforeLine(e,t)}closeFile(){if(!this.fileName)throw new Error("No file open");let e=this.outputDirectory;this.relativeDir&&(e=a.resolve(e,this.relativeDir)),e=a.resolve(e,this.fileName),n.mkdirSync(a.dirname(e),{recursive:!0}),n.writeFileSync(e,this.getBuffer()),this.fileName=null,this.relativeDir=null,this.clearBuffer()}}},8313:e=>{"use strict";const t=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u;e.exports={normalizeIdentifier:function(e,r=-1){const n=(e,t)=>{let r="";for(const e of t)r+=`_${e.codePointAt(0).toString(16)}`;return r};let a=e??String(e);if("string"!=typeof a)throw new Error(`Unsupported identifier type, '${typeof a}'.`);if(a=a.replace(/^\p{Nd}/u,"_$&").replace(/[-‐−@#:;><|/\\\u200c\u200d]/g,"_").replace(/\s/g,"_").replace(/(?!\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D|\\u[0-9A-Fa-f]{4})(.)/gu,n).replace(/([\uD800-\uDFFF])/g,n),r>0&&(a=a.substring(0,r)),!t.test(a))throw new Error(`Unexpected error. Not able to escape identifier '${a}'.`);return a},ID_REGEX:t}},4402:(e,t,r)=>{"use strict";const n=r(5734);e.exports=class extends n{constructor(){super(),this.fileName="",this.data=new Map}openFile(e){this.fileName=e}closeFile(){this.data.set(this.fileName,this.getBuffer()),this.clearBuffer()}getFilesInMemory(){return this.data}}},1111:e=>{"use strict";e.exports={labelToSentence:function(e=""){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(e=>e.toUpperCase())).trim()},sentenceToLabel:function(e=""){const t=e.split(/[^A-Za-z0-9_-]+/);return t.forEach(((e,r)=>{t[r]=t[r].replace(/^./,(e=>e.toUpperCase()))})),t.join("").replace(/^./,(e=>e.toLowerCase()))}}},9452:e=>{"use strict";e.exports=class{constructor(){this.fileLoaders=[]}addFileLoader(e){this.fileLoaders.push(e)}getFileLoaders(){return this.fileLoaders}clearFileLoaders(){this.fileLoaders=[]}accepts(e){for(let t=0;t<this.fileLoaders.length;t++)if(this.fileLoaders[t].accepts(e))return!0;return!1}load(e,t){for(let r=0;r<this.fileLoaders.length;r++){const n=this.fileLoaders[r];if(n.accepts(e))return n.load(e,t)}throw new Error("Failed to find a model file loader that can handle: "+e)}}},6538:(e,t,r)=>{"use strict";const n=r(9452),a=r(4313),o=r(4318);e.exports=class extends n{constructor(e){super();const t=new a(e),r=new o(e);this.addFileLoader(r),this.addFileLoader(t)}}},4318:(e,t,r)=>{"use strict";const n=r(4313);e.exports=class extends n{constructor(e){super(e)}accepts(e){return e.startsWith("github://")}load(e,t){const r="https://raw.githubusercontent.com/"+e.substring(9);return super.load(r,t)}}},4313:e=>{"use strict";e.exports=class{constructor(e){this.processFile=e}accepts(e){return e.startsWith("http://")||e.startsWith("https://")}async load(e,t){t||(t={method:"GET",headers:{"Content-Type":"text/plain"}}),console.log(e);const r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP request failed with status: ${r.status}`);const n=await r.text(),a=new URL(e),o="@"+(a.host+a.pathname).replace(/\//g,".");return this.processFile(o,n)}}},3233:e=>{"use strict";const t={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},r=e=>e,n={};Object.keys(t).forEach((e=>{n[e]=(...n)=>((e,...n)=>{let a=e,o=n,s=o.shift();if(s&&"object"==typeof s&&s.level&&s.message){const e=s.padding&&s.padding[s.level];"error"===s.level&&s.stack?(a="error",s=`${s.message}\n${s.stack}`):Object.keys(t).includes(s.level)&&(a=s.level,s=s.message),s=e?`${e} ${s}`:s}o.unshift(s),(["error","warn"].includes(a)?console.error:console.log)(`${(new Date).toLocaleTimeString()} - ${a}:`,...o.map((e=>e instanceof Error?`${e.message}\n${e.stack}`:e)).map(r))})(e,...n)}));class a{static dispatch(e,...r){t[e]>t[this.level]||this.transports.forEach((t=>{t[e]&&t[e](...r)}))}static add(e){this.transports.push(e)}static error(...e){return this.dispatch("error",...e)}static warn(...e){return this.dispatch("warn",...e)}static info(...e){return this.dispatch("info",...e)}static log(...e){return this.info(...e)}static http(...e){return this.dispatch("http",...e)}static verbose(...e){return this.dispatch("verbose",...e)}static debug(...e){return this.dispatch("debug",...e)}static silly(...e){return this.dispatch("silly",...e)}}a.level="info",a.transports=[n],e.exports=a},4231:(e,t,r)=>{"use strict";const n=r(2522),a=r(2338),o=r(7431);e.exports={writeModelsToFileSystem:function(e,t,r={}){if(!t)throw new Error("`path` is a required parameter of writeModelsToFileSystem");const s=Object.assign({includeExternalModels:!0},r);e.forEach((function(e){if(e.external&&!s.includeExternalModels)return;const r=o(e.fileName).split("/").pop();n.writeFileSync(t+a.sep+r,e.definitions)}))}}},8792:e=>{"use strict";e.exports=class{static isNull(e){return null==e}}},4965:e=>{"use strict";e.exports=class{constructor(e){this.stack=[],this.push(e)}push(e,t){if(t&&!(e instanceof t))throw new Error("Did not find expected type "+t.constructor.name+" as argument to push. Found: "+e.toString());this.stack.push(e)}pop(e){return this.peek(e),this.stack.pop()}peek(e){if(this.stack.length<1)throw new Error("Stack is empty!");const t=this.stack[this.stack.length-1];if(e&&!(t instanceof e))throw new Error("Did not find expected type "+e+" on head of stack. Found: "+t);return t}clear(){this.stack=[]}}},9025:(e,t,r)=>{"use strict";var n=r(9907);let a=!1;e.exports={printDeprecationWarning:function(e,t,r,o){const s=n.emitWarning;a||(a=!0,s(`DEPRECATED: ${e}`,{type:t,code:r,detail:o}))}}},5734:e=>{"use strict";e.exports=class{constructor(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}writeBeforeLine(e,t){for(let t=0;t<e;t++)this.beforeBuffer+=" ";this.beforeBuffer+=t,this.beforeBuffer+="\n",this.linesWritten++}writeLine(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t),this.write("\n"),this.linesWritten++}getLineCount(){return this.linesWritten}writeIndented(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t)}write(e){if("string"!=typeof e)throw new Error("Can only append strings. Argument "+e+" has type "+typeof e);this.buffer+=e,this.linesWritten+=e.split(/\r\n|\r|\n/).length}getBuffer(){return this.beforeBuffer+this.buffer}clearBuffer(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}}},901:(e,t,r)=>{var n=r(9907);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(372)(t);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},372:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(6585),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},6585:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},9967:(e,t,r)=>{var n,a=r(9907);self,n=()=>{return e={348:(e,t,r)=>{"use strict";const n=r(954);e.exports={MetaModelUtil:n,MetaModelNamespace:"concerto.metamodel@1.0.0"}},702:e=>{"use strict";e.exports='/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@DotNetNamespace("AccordProject.Concerto.Metamodel")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nconcept AliasedType{\n o String name\n o String aliasedName\n}\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n o AliasedType[] aliasedTypes optional\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n'},954:(e,t,r)=>{"use strict";const n=r(865),a="concerto.metamodel@1.0.0",o=r(702);function s(e,t){return e.declarations.find((e=>e.name===t))}function i(e,t){if(!t[e])throw new Error(`Name ${e} not found`);return t[e].namespace}function c(e,t){switch((e.decorators||[]).forEach((e=>{c(e,t)})),e.$class){case`${a}.Model`:(e.declarations||[]).forEach((e=>{c(e,t)}));break;case`${a}.AssetDeclaration`:case`${a}.ConceptDeclaration`:case`${a}.EventDeclaration`:case`${a}.TransactionDeclaration`:case`${a}.ParticipantDeclaration`:if(e.superType){const r=e.superType.name;e.superType.namespace=i(r,t),e.superType.name=t[r].name}(e.properties||[]).forEach((e=>{c(e,t)}));break;case`${a}.MapDeclaration`:c(e.key,t),c(e.value,t);break;case`${a}.Decorator`:(e.arguments||[]).forEach((e=>{c(e,t)}));break;case`${a}.EnumProperty`:case`${a}.ObjectProperty`:case`${a}.RelationshipProperty`:case`${a}.DecoratorTypeReference`:case`${a}.ObjectMapKeyType`:case`${a}.ObjectMapValueType`:e.type.namespace=i(e.type.name,t),e.type.name=t[e.type.name].name;break;case`${a}.StringScalar`:case`${a}.BooleanScalar`:case`${a}.DateTimeScalar`:case`${a}.DoubleScalar`:case`${a}.LongScalar`:case`${a}.IntegerScalar`:e.namespace=i(e.name,t),e.name=t[e.name].name}return e}function l(e,t){const r=JSON.parse(JSON.stringify(t)),n=function(e,t){const r="concerto@1.0.0",n={Concept:{namespace:r,name:"Concept"},Asset:{namespace:r,name:"Asset"},Participant:{namespace:r,name:"Participant"},Transaction:{namespace:r,name:"Transaction"},Event:{namespace:r,name:"Event"}};return(t.imports||[]).forEach((t=>{const r=t.namespace,o=function(e,t){return e.models.find((e=>e.namespace===t))}(e,r);if(t.$class===`${a}.ImportType`){if(!s(o,t.name))throw new Error(`Declaration ${t.name} in namespace ${r} not found`);n[t.name]={namespace:r,name:t.name}}else if(t.$class===`${a}.ImportTypes`){const e=t.aliasedTypes?new Map(t.aliasedTypes.map((({name:e,aliasedName:t})=>[e,t]))):new Map;t.types.forEach((t=>{const a=e.get(t)||t;if(!s(o,t))throw new Error(`Declaration ${t} in namespace ${r} not found`);n[a]={namespace:r,name:t}}))}else(o.declarations||[]).forEach((e=>{n[e.name]={namespace:r,name:e.name}}))})),(t.declarations||[]).forEach((e=>{n[e.name]={namespace:t.namespace,name:e.name}})),n}(e,t);return c(r,n),r}function u(e){const t=[];switch(e.$class){case`${a}.ImportAll`:t.push(`${e.namespace}.*`);break;case`${a}.ImportType`:t.push(`${e.namespace}.${e.name}`);break;case`${a}.ImportTypes`:e.types.forEach((r=>{t.push(`${e.namespace}.${r}`)}));break;default:throw new Error(`Unrecognized imports ${e.$class}`)}return t}e.exports={metaModelAst:n,metaModelCto:o,resolveLocalNames:l,resolveLocalNamesForAll:function(e){const t={$class:`${a}.Models`,models:[]};return e.models.forEach((r=>{const n=l(e,r);t.models.push(n)})),t},importFullyQualifiedNames:u,getExternalImports:function(e){const t={};return e.imports&&e.imports.forEach((e=>{const r=u(e);e.uri&&(t[r[0]]=e.uri)})),t}}},573:(e,t,r)=>{"use strict";const n=r(187);e.exports=n.PromisePool},160:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolError=void 0;class r extends Error{constructor(e,t){super(),this.item=t,this.name=this.constructor.name,this.message=this.messageFrom(e),Error.captureStackTrace(this,this.constructor)}static createFrom(e,t){return new this(e,t)}messageFrom(e){return e instanceof Error||"object"==typeof e?e.message:"string"==typeof e||"number"==typeof e?e.toString():""}}t.PromisePoolError=r},241:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolExecutor=void 0;const n=r(160);t.PromisePoolExecutor=class{constructor(){this.tasks=[],this.items=[],this.errors=[],this.results=[],this.concurrency=10,this.handler=()=>{},this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}for(e){return this.items=e,this}withHandler(e){return this.handler=e,this}handleError(e){return this.errorHandler=e,this}hasReachedConcurrencyLimit(){return this.activeCount()>=this.concurrency}activeCount(){return this.tasks.length}async start(){return this.validateInputs(),await this.process()}validateInputs(){if("function"!=typeof this.handler)throw new Error("The first parameter for the .process(fn) method must be a function");if(!("number"==typeof this.concurrency&&this.concurrency>=1))throw new TypeError(`"concurrency" must be a number, 1 or up. Received "${this.concurrency}" (${typeof this.concurrency})`);if(!Array.isArray(this.items))throw new TypeError('"items" must be an array. Received '+typeof this.items);if(this.errorHandler&&"function"!=typeof this.errorHandler)throw new Error("The error handler must be a function. Received "+typeof this.errorHandler)}async process(){for(const e of this.items)this.hasReachedConcurrencyLimit()&&await this.processingSlot(),this.startProcessing(e);return this.drained()}async processingSlot(){return this.waitForTaskToFinish()}async waitForTaskToFinish(){await Promise.race(this.tasks)}startProcessing(e){const t=this.createTaskFor(e).then((e=>{this.results.push(e),this.tasks.splice(this.tasks.indexOf(t),1)})).catch((r=>{if(this.tasks.splice(this.tasks.indexOf(t),1),this.errorHandler)return this.errorHandler(r,e);this.errors.push(n.PromisePoolError.createFrom(r,e))}));this.tasks.push(t)}async createTaskFor(e){return this.handler(e)}async drained(){return await this.drainActiveTasks(),{results:this.results,errors:this.errors}}async drainActiveTasks(){await Promise.all(this.tasks)}}},187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePool=void 0;const n=r(241);class a{constructor(e){this.concurrency=10,this.items=null!=e?e:[],this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}static withConcurrency(e){return(new this).withConcurrency(e)}for(e){return new a(e).withConcurrency(this.concurrency)}static for(e){return(new this).for(e)}handleError(e){return this.errorHandler=e,this}async process(e){return(new n.PromisePoolExecutor).withConcurrency(this.concurrency).withHandler(e).handleError(this.errorHandler).for(this.items).start()}}t.PromisePool=a},786:(e,t,r)=>{"use strict";const n=r(942),{DefaultFileLoader:a,FileDownloader:o}=r(209),s=r(124)("concerto:ModelManager"),i=r(206),{MetaModelUtil:c,MetaModelNamespace:l}=r(348);e.exports={resolveExternal:async function(e,t,r){s("updateExternalModels","updateExternalModels",t),r||(r=new o(new a(((e,t)=>{if(".cto"===n.extname(e))return i.parse(t);throw new Error("External model file references are expected to have a .cto extension")})),c.getExternalImports));const u=await r.downloadExternalDependencies(e.models,t);let p=e;return u.forEach((e=>{p=function(e,t){const r={$class:`${l}.Models`,models:[]},n=t.namespace,a=e.models;let o=!1;return a.forEach(((e,a)=>{e.namespace===n?(r.models.push(t),o=!0):r.models.push(e)})),o||r.models.push(t),r}(p,e)})),p}}},713:(e,t,r)=>{"use strict";const{BaseFileException:n}=r(209);e.exports=class extends n{constructor(e,t,r,n,a){let o=e,s="";r&&(s+=" File "+r),t&&(t.end&&t.start&&t.end.offset&&t.start.offset&&t.end.offset-t.start.offset==1&&(t.end.column=t.start.column,t.end.offset=t.start.offset),s+=s?" line "+t.start.line+" column "+t.start.column:" Line "+t.start.line+" column "+t.start.column),o+=s,super(e,t,n||o,r,a)}}},206:e=>{"use strict";function t(e,r,n,a){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,t.prototype),o.expected=r,o.found=n,o.location=a,o.name="SyntaxError",o}function r(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var n,a=null;for(n=0;n<e.length;n++)if(e[n].source===this.location.source){a=e[n].text.split(/\r\n|\n|\r/g);break}var o=this.location.start,s=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,i=this.location.source+":"+s.line+":"+s.column;if(a){var c=this.location.end,l=r("",s.line.toString().length," "),u=a[o.line-1],p=(o.line===c.line?c.column:u.length+1)-o.column||1;t+="\n --\x3e "+i+"\n"+l+" |\n"+s.line+" | "+u+"\n"+l+" | "+r("",o.column-1," ")+r("",p,"^")}else t+="\n at "+i}return t},t.buildMessage=function(e,t){var r={literal:function(e){return'"'+a(e.text)+'"'},class:function(e){var t=e.parts.map((function(e){return Array.isArray(e)?o(e[0])+"-"+o(e[1]):o(e)}));return"["+(e.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}function a(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+n(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+n(e)}))}function o(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+n(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+n(e)}))}function s(e){return r[e.type](e)}return"Expected "+function(e){var t,r,n=e.map(s);if(n.sort(),n.length>0){for(t=1,r=1;t<n.length;t++)n[t-1]!==n[t]&&(n[r]=n[t],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(e)+" but "+function(e){return e?'"'+a(e)+'"':"end of input"}(t)+" found."},e.exports={StartRules:["Start"],SyntaxError:t,parse:function(e,r){var n,a={},o=(r=void 0!==r?r:{}).grammarSource,s={Start:So},i=So,c="\n",l="\r\n",u="/*",p="*/",d="//",m="\\",h=".",f="0",g="e",y="0x",v='"',$="'",A="b",b="f",C="n",T="r",w="t",D="v",F="x",E="u",I="/",M="[",S="]",N="enum",O="map",x="false",P="import",L="true",R="as",k="}",_="%",V=":",B="?",j="#",U="@",Q="::",z="25",H="2",W="1",G="-",q="+",J="concerto",K="version",Y="namespace",X="abstract",Z="concept",ee="asset",te="transaction",re="event",ne="participant",ae="scalar",oe="from",se="*",ie="Integer",ce="Double",le="Long",ue="String",pe="DateTime",de="Boolean",me="identified by",he="identified",fe="[]",ge="(",ye=",",ve=")",$e="extends",Ae="{",be="optional",Ce="default",Te="=",we="o",De="regex",Fe="length",Ee="range",Ie="--\x3e",Me=".{",Se=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,Ne=/^[\n\r\u2028\u2029]/,Oe=/^[\r\u2028-\u2029]/,xe=/^[$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD-\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0-\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Pe=/^[0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B-\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1885-\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880-\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,Le=/^[+\-]/,Re=/^[0-9]/,ke=/^[1-9]/,_e=/^[0-9a-f]/i,Ve=/^[\n\r"\\\u2028-\u2029]/,Be=/^[\n\r'\\\u2028-\u2029]/,je=/^["'\\]/,Ue=/^[0-9ux]/,Qe=/^[*\\\/[]/,ze=/^[\\\/[]/,He=/^[\]\\]/,We=/^[A-Za-z]/,Ge=/^[A-F]/i,qe=/^[\--.0-9A-Z_a-z~]/,Je=/^[+\--.0-9A-Za-z]/,Ke=/^[!$&-,:-;=]/,Ye=/^[\--.0-:A-Z_a-z~]/,Xe=/^[0-5]/,Ze=/^[0-4]/,et=/^[!$&-,:-;=@]/,tt=/^[\/?]/,rt=/^[a-z0-9\-]/i,nt=/^[a-z\-]/i,at={type:"any"},ot=Fo("whitespace"),st=Do(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),it=Do(["\n","\r","\u2028","\u2029"],!1,!1),ct=Fo("end of line"),lt=wo("\n",!1),ut=wo("\r\n",!1),pt=Do(["\r",["\u2028","\u2029"]],!1,!1),dt=Fo("comment"),mt=wo("/*",!1),ht=wo("*/",!1),ft=wo("//",!1),gt=Fo("identifier"),yt=Do(["$",["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ՠ","ֈ"],["א","ת"],["ׯ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣉ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᲀ","ᲈ"],["Ა","Ჺ"],["Ჽ","Ჿ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꟊ"],["Ꟑ","ꟑ"],"ꟓ",["ꟕ","ꟙ"],["ꟲ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭩ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),vt=wo("\\",!1),$t=Do([["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],"৾",["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ૺ","૿"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["୕","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ఄ"],"఼",["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],"ೳ",["ഀ","ഃ"],["഻","഼"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ඁ","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ຼ"],["່","໎"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜕"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠏","᠙"],["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭","᳴",["᳷","᳹"],["᷀","᷿"],["",""],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],"꠬",["ꢀ","ꢁ"],["ꢴ","ꣅ"],["꣐","꣙"],["꣠","꣱"],["ꣿ","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),At=(Do([["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ՠ","ֈ"],["א","ת"],["ׯ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣉ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᲀ","ᲈ"],["Ა","Ჺ"],["Ჽ","Ჿ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꟊ"],["Ꟑ","ꟑ"],"ꟓ",["ꟕ","ꟙ"],["ꟲ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭩ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Do([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],"৾",["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["ૺ","૿"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["୕","ୗ"],["ୢ","ୣ"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["ఀ","ఄ"],"఼",["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],"ೳ",["ഀ","ഃ"],["഻","഼"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["ඁ","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ຼ"],["່","໎"],["༘","༙"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],"ႏ",["ႚ","ႝ"],["፝","፟"],["ᜒ","᜕"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["᠋","᠍"],"᠏",["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],"᩿",["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬄ"],["᬴","᭄"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᯦","᯳"],["ᰤ","᰷"],["᳐","᳒"],["᳔","᳨"],"᳭","᳴",["᳷","᳹"],["᷀","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],"꠬",["ꢀ","ꢁ"],["ꢴ","ꣅ"],["꣠","꣱"],"ꣿ",["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],"ꧥ",["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],"ﬞ",["︀","️"],["︠","︯"]],!1,!1),Fo("number")),bt=wo(".",!1),Ct=Do(["+","-"],!1,!1),Tt=wo("0",!1),wt=Do([["0","9"]],!1,!1),Dt=Do([["1","9"]],!1,!1),Ft=wo("e",!0),Et=wo("0x",!0),It=Do([["0","9"],["a","f"]],!1,!0),Mt=Fo("string"),St=wo('"',!1),Nt=wo("'",!1),Ot=Do(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),xt=Do(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Pt=Do(['"',"'","\\"],!1,!1),Lt=wo("b",!1),Rt=wo("f",!1),kt=wo("n",!1),_t=wo("r",!1),Vt=wo("t",!1),Bt=wo("v",!1),jt=Do([["0","9"],"u","x"],!1,!1),Ut=wo("x",!1),Qt=wo("u",!1),zt=Fo("regular expression"),Ht=wo("/",!1),Wt=Do(["*","\\","/","["],!1,!1),Gt=Do(["\\","/","["],!1,!1),qt=wo("[",!1),Jt=wo("]",!1),Kt=Do(["]","\\"],!1,!1),Yt=(Do([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ՠ","ֈ"],["ა","ჺ"],["ჽ","ჿ"],["ᏸ","ᏽ"],["ᲀ","ᲈ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱟ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞯ","ꞵ","ꞷ","ꞹ","ꞻ","ꞽ","ꞿ","ꟁ","ꟃ","ꟈ","ꟊ","ꟑ","ꟓ","ꟕ","ꟗ","ꟙ","ꟶ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭨ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Do([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ࣉ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟲ","ꟴ"],["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ꭩ","ー",["゙","゚"]],!1,!1),Do(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["ׯ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣈ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ᄀ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Do(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Do([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],["Ა","Ჺ"],["Ჽ","Ჿ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱟ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɪ"],["Ʞ","Ꞵ"],"Ꞷ","Ꞹ","Ꞻ","Ꞽ","Ꞿ","Ꟁ","Ꟃ",["Ꞔ","Ꟈ"],"Ꟊ","Ꟑ","Ꟗ","Ꟙ","Ꟶ",["A","Z"]],!1,!1),Do(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],"ೳ",["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"᜕","᜴","ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡","᳷",["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦾ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),Do([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],"৾",["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],["ૺ","૿"],"ଁ","଼","ି",["ୁ","ୄ"],"୍",["୕","ୖ"],["ୢ","ୣ"],"ஂ","ீ","்","ఀ","ఄ","఼",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],["ഀ","ഁ"],["഻","഼"],["ു","ൄ"],"്",["ൢ","ൣ"],"ඁ","්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ຼ"],["່","໎"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","ᜳ"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"᠏",["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꠬",["꣄","ꣅ"],["꣠","꣱"],"ꣿ",["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],["ꦼ","ꦽ"],"ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),Do([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),Do([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Do(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),Do([" "," "," ",[" "," "]," "," "," "],!1,!1),wo("enum",!1)),Xt=wo("map",!1),Zt=wo("false",!1),er=wo("import",!1),tr=(wo("null",!1),wo("true",!1)),rr=wo("as",!1),nr=(wo(";",!1),wo("}",!1)),ar=Do([["A","Z"],["a","z"]],!1,!1),or=(Do([["0","1"]],!1,!1),Do([["",""]],!1,!1),wo("\r",!1),Do([["\0",""],""],!1,!1),Do(['"'],!1,!1),Do([["A","F"]],!1,!0)),sr=(wo("\t",!1),Do([["\0","ÿ"]],!1,!1),wo(" ",!1),Do([["!","~"]],!1,!1),Do(["\t"," "],!1,!1),wo("%",!1)),ir=(Do(["!",["#","$"],["&",","],"/",[":",";"],"=",["?","@"],"[","]"],!1,!1),Do(["#","/",":",["?","@"],"[","]"],!1,!1),Do(["!","$",["&",","],";","="],!1,!1),Do([["-","."],["0","9"],["A","Z"],"_",["a","z"],"~"],!1,!1)),cr=wo(":",!1),lr=wo("?",!1),ur=wo("#",!1),pr=Do(["+",["-","."],["0","9"],["A","Z"],["a","z"]],!1,!1),dr=wo("@",!1),mr=Do(["!","$",["&",","],[":",";"],"="],!1,!1),hr=Do([["-","."],["0",":"],["A","Z"],"_",["a","z"],"~"],!1,!1),fr=wo("::",!1),gr=wo("25",!1),yr=Do([["0","5"]],!1,!1),vr=wo("2",!1),$r=Do([["0","4"]],!1,!1),Ar=wo("1",!1),br=(Do(["!","$",["&",","],";","=","@"],!1,!1),Do(["!","$",["&",","],[":",";"],"=","@"],!1,!1)),Cr=Do(["/","?"],!1,!1),Tr=wo("-",!1),wr=wo("+",!1),Dr=Do([["a","z"],["0","9"],"-"],!1,!0),Fr=Do([["a","z"],"-"],!1,!0),Er=wo("concerto",!1),Ir=wo("version",!1),Mr=wo("namespace",!1),Sr=wo("abstract",!1),Nr=wo("concept",!1),Or=wo("asset",!1),xr=wo("transaction",!1),Pr=wo("event",!1),Lr=wo("participant",!1),Rr=wo("scalar",!1),kr=wo("from",!1),_r=wo("*",!1),Vr=wo("Integer",!1),Br=wo("Double",!1),jr=wo("Long",!1),Ur=wo("String",!1),Qr=wo("DateTime",!1),zr=wo("Boolean",!1),Hr=wo("identified by",!1),Wr=wo("identified",!1),Gr=wo("[]",!1),qr=wo("(",!1),Jr=wo(",",!1),Kr=wo(")",!1),Yr=wo("extends",!1),Xr=wo("{",!1),Zr=wo("optional",!1),en=wo("default",!1),tn=wo("=",!1),rn=wo("o",!1),nn=wo("regex",!1),an=wo("length",!1),on=wo("range",!1),sn=wo("--\x3e",!1),cn=wo(".{",!1),ln=function(e){return e},un=function(e){return e},pn=function(e,t){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e+t.join("")}},dn=function(e){return e},mn=function(){return{type:"Literal",value:!0}},hn=function(){return{type:"Literal",value:!1}},fn=function(e){return e},gn=function(e){return e},yn=function(){return{type:"Literal",value:parseFloat(Co())}},vn=function(){return{type:"Literal",value:parseFloat(Co())}},$n=function(){return{type:"Literal",value:parseFloat(Co())}},An=function(){return{type:"Literal",value:parseFloat(Co())}},bn=function(e){return{type:"Literal",value:parseInt(e,16)}},Cn=function(e){return{type:"Literal",value:e.join("")}},Tn=function(e){return{type:"Literal",value:e.join("")}},wn=function(){return Co()},Dn=function(e){return e},Fn=function(){return Co()},En=function(e){return e},In=function(){return""},Mn=function(){return"\0"},Sn=function(){return"\b"},Nn=function(){return"\f"},On=function(){return"\n"},xn=function(){return"\r"},Pn=function(){return"\t"},Ln=function(){return"\v"},Rn=function(){return Co()},kn=function(e){return String.fromCharCode(parseInt(e,16))},_n=function(e){return String.fromCharCode(parseInt(e,16))},Vn=function(e,t){return{$class:`${li}.StringRegexValidator`,pattern:e,flags:t}},Bn=function(e,t,r){return{versionCore:e,pre:t,build:r}},jn=function(e,t,r){return{major:parseInt(e,10),minor:parseInt(t,10),patch:parseInt(r,10)}},Un=function(e,t){return[e,...t]},Qn=function(e,t){return[e,...t]},zn=function(){return"Integer"},Hn=function(){return"Double"},Wn=function(){return"Long"},Gn=function(){return"String"},qn=function(){return"DateTime"},Jn=function(){return"Boolean"},Kn=function(e){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e.name}},Yn=function(e,t){return e+t},Xn=function(e){return{$class:"concerto.metamodel@1.0.0.IdentifiedBy",name:e.name}},Zn=function(){return{$class:"concerto.metamodel@1.0.0.Identified"}},ea=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorString",value:e.value,...mi(To())}},ta=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorNumber",value:+e,...mi(To())}},ra=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorBoolean",value:"true"==e,...mi(To())}},na=function(e,t){return{$class:"concerto.metamodel@1.0.0.DecoratorTypeReference",type:e,isArray:!!t,...mi(To())}},aa=function(e){return e},oa=function(e,t){return t?e.concat(t):[]},sa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.Decorator",name:e,...mi(To())};return t&&(r.arguments=t),r},ia=function(e){return e},ca=function(e){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e.name}},la=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.AssetDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The asset "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ua=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ParticipantDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The participant "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},pa=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.TransactionDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The transaction "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},da=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.EventDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The event "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ma=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ConceptDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(To())};if(a){if(a.name===r.name)throw new Error(`The concept "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ha=function(e){const t={$class:"concerto.metamodel@1.0.0.BooleanScalar"};return e&&(t.defaultValue="true"===e),t},fa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.IntegerScalar"};return e&&(r.defaultValue=parseInt(e)),t&&(r.validator=t),r},ga=function(e,t){const r={$class:"concerto.metamodel@1.0.0.LongScalar"};return e&&(r.defaultValue=parseInt(e)),t&&(r.validator=t),r},ya=function(e,t){const r={$class:"concerto.metamodel@1.0.0.DoubleScalar"};return e&&(r.defaultValue=parseFloat(e)),t&&(r.validator=t),r},va=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.StringScalar"};return e&&(n.defaultValue=e),t&&(n.validator=t),r&&(n.lengthValidator=r),n},$a=function(e){return{$class:"concerto.metamodel@1.0.0.DateTimeScalar",defaultValue:e}},Aa=function(e,t,r){const n={...r,name:t.name,...mi(To())};return e.length>0&&(n.decorators=e),n},ba=function(){return{type:"Optional"}},Ca=function(e){return e.value},Ta=function(e){return e},wa=function(e){return e},Da=function(e){return e},Fa=function(e){return{type:"ClassDeclarationBody",declarations:pi(e),...mi(To())}},Ea=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ObjectProperty",name:n.name,type:t,isArray:di(r),isOptional:di(o),...mi(To())};return a&&(s.defaultValue=a),e.length>0&&(s.decorators=e),s},Ia=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.BooleanProperty",name:r.name,isArray:di(t),isOptional:di(a),...mi(To())};return n&&(o.defaultValue="true"===n),e.length>0&&(o.decorators=e),o},Ma=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.DateTimeProperty",name:r.name,isArray:di(t),isOptional:di(a),...mi(To())};return n&&(o.defaultValue=n),e.length>0&&(o.decorators=e),o},Sa=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.StringProperty",name:r.name,isArray:di(t),isOptional:di(s),...mi(To())};return n&&(i.defaultValue=n),e.length>0&&(i.decorators=e),a&&(i.validator=a),o&&(i.lengthValidator=o),i},Na=function(e){return e},Oa=function(e,t){const r={$class:`${li}.StringLengthValidator`};return e&&(r.minLength=parseInt(e)),t&&(r.maxLength=parseInt(t)),r},xa=function(e,t){const r={$class:`${li}.DoubleDomainValidator`};return e&&(r.lower=parseFloat(e)),t&&(r.upper=parseFloat(t)),r},Pa=function(e,t){const r={$class:`${li}.IntegerDomainValidator`};return e&&(r.lower=parseInt(e)),t&&(r.upper=parseInt(t)),r},La=function(e,t){const r={$class:`${li}.LongDomainValidator`};return e&&(r.lower=parseInt(e)),t&&(r.upper=parseInt(t)),r},Ra=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.DoubleProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(To())};return a&&(i.defaultValue=parseFloat(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},ka=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.IntegerProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(To())};return a&&(i.defaultValue=parseInt(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},_a=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.LongProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(To())};return a&&(i.defaultValue=parseInt(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},Va=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.MapDeclaration",name:t.name,key:r.declarations[0],value:r.declarations[1],...mi(To())};return e.length>0&&(n.decorators=e),n},Ba=function(e,t){return{type:"MapDeclarationBody",declarations:pi([e,t])}},ja=function(e){const t={$class:"concerto.metamodel@1.0.0.StringMapKeyType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ua=function(e){const t={$class:"concerto.metamodel@1.0.0.DateTimeMapKeyType",...mi(To())};return e.length>0&&(t.decorators=e),t},Qa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.ObjectMapKeyType",type:t,...mi(To())};return e.length>0&&(r.decorators=e),r},za=function(e){const t={$class:"concerto.metamodel@1.0.0.BooleanMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ha=function(e){const t={$class:"concerto.metamodel@1.0.0.DateTimeMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Wa=function(e){const t={$class:"concerto.metamodel@1.0.0.StringMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ga=function(e){const t={$class:"concerto.metamodel@1.0.0.IntegerMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},qa=function(e){const t={$class:"concerto.metamodel@1.0.0.LongMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ja=function(e){const t={$class:"concerto.metamodel@1.0.0.DoubleMapValueType",...mi(To())};return e.length>0&&(t.decorators=e),t},Ka=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.ObjectMapValueType",type:r,...mi(To())};return"--\x3e"===t&&(n.$class="concerto.metamodel@1.0.0.RelationshipMapValueType"),e.length>0&&(n.decorators=e),n},Ya=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.EnumDeclaration",name:t.name,properties:r.declarations,...mi(To())};return e.length>0&&(n.decorators=e),n},Xa=function(e){return{type:"EnumDeclarationBody",declarations:pi(e)}},Za=function(e,t){const r={$class:"concerto.metamodel@1.0.0.EnumProperty",name:t.name,...mi(To())};return e.length>0&&(r.decorators=e),r},eo=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.RelationshipProperty",name:n.name,type:t,isArray:di(r),isOptional:di(a),...mi(To())};return e.length>0&&(o.decorators=e),o},to=function(e,t){return e.concat(JSON.stringify(t).replace(/['"]+/g,""))},ro=function(e,t,r){return`${e}@${t}.${r}`},no=function(e,t){return`${e}@${t}`},ao=function(e){return e},oo=function(e){return e},so=function(e,t){const r={$class:"concerto.metamodel@1.0.0.ImportAll",namespace:e};return t&&(r.uri=t),r},io=function(e,t){const{namespace:r,name:n}=function(e){const t=e.split(".");return{name:t.pop(),namespace:t.join(".")}}(e),a={$class:`${li}.ImportType`,name:n,namespace:r};return t&&(a.uri=t),a},co=function(e,t,r){const{aliasedTypes:n,typesNames:a}=t.reduce(((e,t)=>("concerto.metamodel@1.0.0.AliasedType"===t.$class?(e.aliasedTypes.push(t),e.typesNames.push(t.name)):e.typesNames.push(t),e)),{aliasedTypes:[],typesNames:[]}),o={$class:"concerto.metamodel@1.0.0.ImportTypes",namespace:e,types:a,...n.length>0&&{aliasedTypes:n}};return r&&(o.uri=r),o},lo=function(e,t){if(["Boolean","String","DateTime","Double","Integer","Long"].indexOf(t)>=0)throw new Error(`A type cannot be aliased to a Primitive type, here "${e}" is being aliased as "${t}".`);return{$class:"concerto.metamodel@1.0.0.AliasedType",name:e,aliasedName:t}},uo=function(e,t){return[e,...t.map((e=>e[2]))]},po=function(e){return e.value},mo=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.Model",decorators:pi(t),namespace:r,imports:pi(n),declarations:pi(a)};return e&&(o.concertoVersion=e),o},ho=function(e,t){return ui(e,t,1)},fo=function(e,t){return ui(e,t,1)},go=0|r.peg$currPos,yo=go,vo=[{line:1,column:1}],$o=go,Ao=r.peg$maxFailExpected||[],bo=0|r.peg$silentFails;if(r.startRule){if(!(r.startRule in s))throw new Error("Can't start parsing from rule \""+r.startRule+'".');i=s[r.startRule]}function Co(){return e.substring(yo,go)}function To(){return Io(yo,go)}function wo(e,t){return{type:"literal",text:e,ignoreCase:t}}function Do(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function Fo(e){return{type:"other",description:e}}function Eo(t){var r,n=vo[t];if(n)return n;if(t>=vo.length)r=vo.length-1;else for(r=t;!vo[--r];);for(n={line:(n=vo[r]).line,column:n.column};r<t;)10===e.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return vo[t]=n,n}function Io(e,t,r){var n=Eo(e),a=Eo(t),s={source:o,start:{offset:e,line:n.line,column:n.column},end:{offset:t,line:a.line,column:a.column}};return r&&o&&"function"==typeof o.offset&&(s.start=o.offset(s.start),s.end=o.offset(s.end)),s}function Mo(e){go<$o||(go>$o&&($o=go,Ao=[]),Ao.push(e))}function So(){var t,r;return t=go,ss(),r=function(){var t,r,n,o,s,i;return t=go,r=function(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,8)===J?(r=J,go+=8):(r=a,0===bo&&Mo(Er)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,7)===K?(r=K,go+=7):(r=a,0===bo&&Mo(Ir)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=Go())!==a?(ss(),yo=t,t=po(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r===a&&(r=null),n=Us(),o=function(){var t,r,n;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,9)===Y?(r=Y,go+=9):(r=a,0===bo&&Mo(Mr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),(n=ai())!==a?(ss(),yo=t,t=ao(n)):(go=t,t=a)):(go=t,t=a),t}(),o!==a?(s=function(){var e,t,r,n,o,s;if(e=go,(t=ii())!==a){for(r=[],n=go,o=ss(),(s=ii())!==a?n=o=[o,s]:(go=n,n=a);n!==a;)r.push(n),n=go,o=ss(),(s=ii())!==a?n=o=[o,s]:(go=n,n=a);yo=e,e=ho(t,r)}else go=e,e=a;return e}(),s===a&&(s=null),i=function(){var e,t,r,n,o,s;if(e=go,(t=ci())!==a){for(r=[],n=go,o=ss(),(s=ci())!==a?n=o=[o,s]:(go=n,n=a);n!==a;)r.push(n),n=go,o=ss(),(s=ci())!==a?n=o=[o,s]:(go=n,n=a);yo=e,e=fo(t,r)}else go=e,e=a;return e}(),i===a&&(i=null),yo=t,t=mo(r,n,o,s,i)):(go=t,t=a),t}(),r!==a?(ss(),yo=t,t=ln(r)):(go=t,t=a),t}function No(){var t;return e.length>go?(t=e.charAt(go),go++):(t=a,0===bo&&Mo(at)),t}function Oo(){var t;return bo++,t=e.charAt(go),Se.test(t)?go++:(t=a,0===bo&&Mo(st)),bo--,t===a&&0===bo&&Mo(ot),t}function xo(){var t;return t=e.charAt(go),Ne.test(t)?go++:(t=a,0===bo&&Mo(it)),t}function Po(){var t;return bo++,10===e.charCodeAt(go)?(t=c,go++):(t=a,0===bo&&Mo(lt)),t===a&&(e.substr(go,2)===l?(t=l,go+=2):(t=a,0===bo&&Mo(ut)),t===a&&(t=e.charAt(go),Oe.test(t)?go++:(t=a,0===bo&&Mo(pt)))),bo--,t===a&&0===bo&&Mo(ct),t}function Lo(){var t;return bo++,(t=function(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===u?(r=u,go+=2):(r=a,0===bo&&Mo(mt)),r!==a){for(n=[],o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);e.substr(go,2)===p?(o=p,go+=2):(o=a,0===bo&&Mo(ht)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}())===a&&(t=function(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===d?(r=d,go+=2):(r=a,0===bo&&Mo(ft)),r!==a){for(n=[],o=go,s=go,bo++,i=xo(),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,i=xo(),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);t=r=[r,n]}else go=t,t=a;return t}()),bo--,t===a&&0===bo&&Mo(dt),t}function Ro(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===u?(r=u,go+=2):(r=a,0===bo&&Mo(mt)),r!==a){for(n=[],o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),i===a&&(i=xo()),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),i===a&&(i=xo()),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=No())!==a?o=s=[s,i]:(go=o,o=a);e.substr(go,2)===p?(o=p,go+=2):(o=a,0===bo&&Mo(ht)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}function ko(){var e,t;return e=go,t=function(){var e,t,r,n;if(bo++,e=go,(t=_o())!==a){for(r=[],n=Vo();n!==a;)r.push(n),n=Vo();yo=e,e=pn(t,r)}else go=e,e=a;return bo--,e===a&&(t=a,0===bo&&Mo(gt)),e}(),t!==a&&(yo=e,t=un(t)),t}function _o(){var t,r,n;return t=e.charAt(go),xe.test(t)?go++:(t=a,0===bo&&Mo(yt)),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Zo())!==a?(yo=t,t=dn(n)):(go=t,t=a)),t}function Vo(){var t;return(t=_o())===a&&(t=e.charAt(go),Pe.test(t)?go++:(t=a,0===bo&&Mo($t))),t}function Bo(){var t,r;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,4)===L?(r=L,go+=4):(r=a,0===bo&&Mo(tr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a&&(yo=t,r=mn()),(t=r)===a&&(t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,5)===x?(r=x,go+=5):(r=a,0===bo&&Mo(Zt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a&&(yo=t,r=hn()),t=r),t}function jo(){var t,r,n,o,s;if(t=go,r=e.charAt(go),Le.test(r)?go++:(r=a,0===bo&&Mo(Ct)),r===a&&(r=null),Uo()!==a)if(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a){for(o=[],s=Qo();s!==a;)o.push(s),s=Qo();(s=zo())===a&&(s=null),yo=t,t=An()}else go=t,t=a;else go=t,t=a;return t}function Uo(){var t,r,n,o;if(48===e.charCodeAt(go)?(t=f,go++):(t=a,0===bo&&Mo(Tt)),t===a)if(t=go,r=function(){var t;return t=e.charAt(go),ke.test(t)?go++:(t=a,0===bo&&Mo(Dt)),t}(),r!==a){for(n=[],o=Qo();o!==a;)n.push(o),o=Qo();t=r=[r,n]}else go=t,t=a;return t}function Qo(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function zo(){var t,r,n;return t=go,r=function(){var t;return(t=e.charAt(go)).toLowerCase()===g?go++:(t=a,0===bo&&Mo(Ft)),t}(),r!==a&&(n=Ho())!==a?t=r=[r,n]:(go=t,t=a),t}function Ho(){var t,r,n,o;if(t=go,r=e.charAt(go),Le.test(r)?go++:(r=a,0===bo&&Mo(Ct)),r===a&&(r=null),n=[],(o=Qo())!==a)for(;o!==a;)n.push(o),o=Qo();else n=a;return n!==a?t=r=[r,n]:(go=t,t=a),t}function Wo(){var t;return t=e.charAt(go),_e.test(t)?go++:(t=a,0===bo&&Mo(It)),t}function Go(){var t,r,n,o;if(bo++,t=go,34===e.charCodeAt(go)?(r=v,go++):(r=a,0===bo&&Mo(St)),r!==a){for(n=[],o=qo();o!==a;)n.push(o),o=qo();34===e.charCodeAt(go)?(o=v,go++):(o=a,0===bo&&Mo(St)),o!==a?(yo=t,t=Cn(n)):(go=t,t=a)}else go=t,t=a;if(t===a)if(t=go,39===e.charCodeAt(go)?(r=$,go++):(r=a,0===bo&&Mo(Nt)),r!==a){for(n=[],o=Jo();o!==a;)n.push(o),o=Jo();39===e.charCodeAt(go)?(o=$,go++):(o=a,0===bo&&Mo(Nt)),o!==a?(yo=t,t=Tn(n)):(go=t,t=a)}else go=t,t=a;return bo--,t===a&&(r=a,0===bo&&Mo(Mt)),t}function qo(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Ve.test(n)?go++:(n=a,0===bo&&Mo(Ot)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=No())!==a?(yo=t,t=wn()):(go=t,t=a),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Yo())!==a?(yo=t,t=Dn(n)):(go=t,t=a),t===a&&(t=Ko())),t}function Jo(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Be.test(n)?go++:(n=a,0===bo&&Mo(xt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=No())!==a?(yo=t,t=Fn()):(go=t,t=a),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Yo())!==a?(yo=t,t=En(n)):(go=t,t=a),t===a&&(t=Ko())),t}function Ko(){var t,r;return t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&Po()!==a?(yo=t,t=In()):(go=t,t=a),t}function Yo(){var t,r,n,o;return t=function(){var t;return(t=Xo())===a&&(t=function(){var t,r,n;return t=go,r=go,bo++,n=function(){var t;return(t=Xo())===a&&(t=e.charAt(go),Ue.test(t)?go++:(t=a,0===bo&&Mo(jt))),t}(),n===a&&(n=xo()),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=No())!==a?(yo=t,t=Rn()):(go=t,t=a),t}()),t}(),t===a&&(t=go,48===e.charCodeAt(go)?(r=f,go++):(r=a,0===bo&&Mo(Tt)),r!==a?(n=go,bo++,o=Qo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Mn()):(go=t,t=a)):(go=t,t=a),t===a&&(t=function(){var t,r,n,o,s,i;return t=go,120===e.charCodeAt(go)?(r=F,go++):(r=a,0===bo&&Mo(Ut)),r!==a?(n=go,o=go,(s=Wo())!==a&&(i=Wo())!==a?o=s=[s,i]:(go=o,o=a),(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=kn(n)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=Zo()))),t}function Xo(){var t,r;return t=e.charAt(go),je.test(t)?go++:(t=a,0===bo&&Mo(Pt)),t===a&&(t=go,98===e.charCodeAt(go)?(r=A,go++):(r=a,0===bo&&Mo(Lt)),r!==a&&(yo=t,r=Sn()),(t=r)===a&&(t=go,102===e.charCodeAt(go)?(r=b,go++):(r=a,0===bo&&Mo(Rt)),r!==a&&(yo=t,r=Nn()),(t=r)===a&&(t=go,110===e.charCodeAt(go)?(r=C,go++):(r=a,0===bo&&Mo(kt)),r!==a&&(yo=t,r=On()),(t=r)===a&&(t=go,114===e.charCodeAt(go)?(r=T,go++):(r=a,0===bo&&Mo(_t)),r!==a&&(yo=t,r=xn()),(t=r)===a&&(t=go,116===e.charCodeAt(go)?(r=w,go++):(r=a,0===bo&&Mo(Vt)),r!==a&&(yo=t,r=Pn()),(t=r)===a&&(t=go,118===e.charCodeAt(go)?(r=D,go++):(r=a,0===bo&&Mo(Bt)),r!==a&&(yo=t,r=Ln()),t=r)))))),t}function Zo(){var t,r,n,o,s,i,c,l;return t=go,117===e.charCodeAt(go)?(r=E,go++):(r=a,0===bo&&Mo(Qt)),r!==a?(n=go,o=go,(s=Wo())!==a&&(i=Wo())!==a&&(c=Wo())!==a&&(l=Wo())!==a?o=s=[s,i,c,l]:(go=o,o=a),(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=_n(n)):(go=t,t=a)):(go=t,t=a),t}function es(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),ze.test(n)?go++:(n=a,0===bo&&Mo(Gt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts())===a&&(t=ns()),t}function ts(){var t,r,n;return t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t}function rs(){var e,t,r;return e=go,t=go,bo++,r=xo(),bo--,r===a?t=void 0:(go=t,t=a),t!==a&&(r=No())!==a?e=t=[t,r]:(go=e,e=a),e}function ns(){var t,r,n,o;if(t=go,91===e.charCodeAt(go)?(r=M,go++):(r=a,0===bo&&Mo(qt)),r!==a){for(n=[],o=as();o!==a;)n.push(o),o=as();93===e.charCodeAt(go)?(o=S,go++):(o=a,0===bo&&Mo(Jt)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}function as(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),He.test(n)?go++:(n=a,0===bo&&Mo(Kt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts()),t}function os(){var t,r,n,o;return t=go,e.substr(go,6)===P?(r=P,go+=6):(r=a,0===bo&&Mo(er)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function ss(){var e,t;for(e=[],(t=Oo())===a&&(t=Po())===a&&(t=Lo());t!==a;)e.push(t),(t=Oo())===a&&(t=Po())===a&&(t=Lo());return e}function is(){var e,t;for(e=[],(t=Oo())===a&&(t=Ro());t!==a;)e.push(t),(t=Oo())===a&&(t=Ro());return e}function cs(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function ls(){var t;return(t=cs())===a&&(t=e.charAt(go),Ge.test(t)?go++:(t=a,0===bo&&Mo(or))),t}function us(){var t,r,n,o,s;return t=go,r=go,37===e.charCodeAt(go)?(n=_,go++):(n=a,0===bo&&Mo(sr)),n!==a&&(o=ls())!==a&&(s=ls())!==a?r=n=[n,o,s]:(go=r,r=a),r!==a?e.substring(t,go):r}function ps(){var t;return t=e.charAt(go),qe.test(t)?go++:(t=a,0===bo&&Mo(ir)),t}function ds(){var t,r,n,o;return t=go,(r=hs())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a&&(o=hs())!==a?t=r=[r,n,o]:(go=t,t=a)):(go=t,t=a),t===a&&(t=fs()),t}function ms(){var t,r,n;return t=go,(r=hs())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function hs(){var t,r,n,o,s,i,c,l;return t=go,r=go,(n=ls())!==a?(o=go,(s=ls())!==a?(i=go,(c=ls())!==a?((l=ls())===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),r=n=[n,o]):(go=r,r=a),r!==a?e.substring(t,go):r}function fs(){var t,r,n,o,s,i,c,l,u;return t=go,r=go,(n=gs())!==a?(46===e.charCodeAt(go)?(o=h,go++):(o=a,0===bo&&Mo(bt)),o!==a&&(s=gs())!==a?(46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=gs())!==a?(46===e.charCodeAt(go)?(l=h,go++):(l=a,0===bo&&Mo(bt)),l!==a&&(u=gs())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a)):(go=r,r=a)):(go=r,r=a)):(go=r,r=a),r!==a?e.substring(t,go):r}function gs(){var t,r,n,o,s;return t=go,r=go,e.substr(go,2)===z?(n=z,go+=2):(n=a,0===bo&&Mo(gr)),n!==a?(o=e.charAt(go),Xe.test(o)?go++:(o=a,0===bo&&Mo(yr)),o!==a?r=n=[n,o]:(go=r,r=a)):(go=r,r=a),r===a&&(r=go,50===e.charCodeAt(go)?(n=H,go++):(n=a,0===bo&&Mo(vr)),n!==a?(o=e.charAt(go),Ze.test(o)?go++:(o=a,0===bo&&Mo($r)),o!==a&&(s=cs())!==a?r=n=[n,o,s]:(go=r,r=a)):(go=r,r=a),r===a&&(r=go,49===e.charCodeAt(go)?(n=W,go++):(n=a,0===bo&&Mo(Ar)),n!==a&&(o=cs())!==a&&(s=cs())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=e.charAt(go),ke.test(n)?go++:(n=a,0===bo&&Mo(Dt)),n!==a&&(o=cs())!==a?r=n=[n,o]:(go=r,r=a),r===a&&(r=cs())))),r!==a?e.substring(t,go):r}function ys(){var e;return(e=ps())===a&&(e=us()),e}function vs(){var t,r,n,o;for(t=go,r=[],n=go,47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?n=o=[o,$s()]:(go=n,n=a);n!==a;)r.push(n),n=go,47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?n=o=[o,$s()]:(go=n,n=a);return e.substring(t,go)}function $s(){var t,r,n;for(t=go,r=[],n=bs();n!==a;)r.push(n),n=bs();return e.substring(t,go)}function As(){var t,r,n;if(t=go,r=[],(n=bs())!==a)for(;n!==a;)r.push(n),n=bs();else r=a;return r!==a?e.substring(t,go):r}function bs(){var t;return(t=ps())===a&&(t=us())===a&&(t=e.charAt(go),et.test(t)?go++:(t=a,0===bo&&Mo(br))),t}function Cs(){var t,r,n;for(t=go,r=[],(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Cr)));n!==a;)r.push(n),(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Cr)));return e.substring(t,go)}function Ts(){var t,r,n;for(t=go,r=[],(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Cr)));n!==a;)r.push(n),(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Cr)));return e.substring(t,go)}function ws(){var t,r,n,o,s,i;return t=go,r=function(){var t,r,n,o,s,i,c;return t=go,r=go,(r=(n=Is())!==a?e.substring(r,go):n)!==a?(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a?(o=go,(o=(s=Is())!==a?e.substring(o,go):s)!==a?(46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Is())!==a?e.substring(i,go):c)!==a?(yo=t,t=jn(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r!==a?(n=go,45===e.charCodeAt(go)?(o=G,go++):(o=a,0===bo&&Mo(Tr)),o!==a?(s=function(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=Ds())!==a?e.substring(r,go):n)!==a){for(n=[],o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Ds())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Ds())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);yo=t,t=Un(r,n)}else go=t,t=a;return t}(),s!==a?n=s:(go=n,n=a)):(go=n,n=a),n===a&&(n=null),o=go,43===e.charCodeAt(go)?(s=q,go++):(s=a,0===bo&&Mo(wr)),s!==a?(i=function(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=Fs())!==a?e.substring(r,go):n)!==a){for(n=[],o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Fs())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Fs())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);yo=t,t=Qn(r,n)}else go=t,t=a;return t}(),i!==a?o=i:(go=o,o=a)):(go=o,o=a),o===a&&(o=null),yo=t,t=Bn(r,n,o)):(go=t,t=a),t}function Ds(){var e;return(e=Es())===a&&(e=Is()),e}function Fs(){var e,t;if((e=Es())===a)if(e=[],(t=Ss())!==a)for(;t!==a;)e.push(t),t=Ss();else e=a;return e}function Es(){var t,r,n,o,s;for(t=go,r=[],n=Ss();n!==a;)r.push(n),n=Ss();if(n=function(){var t;return t=e.charAt(go),nt.test(t)?go++:(t=a,0===bo&&Mo(Fr)),t}(),n!==a){for(o=[],s=Ms();s!==a;)o.push(s),s=Ms();t=r=[r,n,o]}else go=t,t=a;return t}function Is(){var t,r,n,o;if(48===e.charCodeAt(go)?(t=f,go++):(t=a,0===bo&&Mo(Tt)),t===a)if(t=go,r=function(){var t;return t=e.charAt(go),ke.test(t)?go++:(t=a,0===bo&&Mo(Dt)),t}(),r!==a){for(n=[],o=Ss();o!==a;)n.push(o),o=Ss();t=r=[r,n]}else go=t,t=a;return t}function Ms(){var t;return t=e.charAt(go),rt.test(t)?go++:(t=a,0===bo&&Mo(Dr)),t}function Ss(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function Ns(){var t,r,n,o;return t=go,e.substr(go,8)===X?(r=X,go+=8):(r=a,0===bo&&Mo(Sr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function Os(){var t,r,n,o;return t=go,e.substr(go,7)===ie?(r=ie,go+=7):(r=a,0===bo&&Mo(Vr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=zn()):(go=t,t=a)):(go=t,t=a),t}function xs(){var t,r,n,o;return t=go,e.substr(go,6)===ce?(r=ce,go+=6):(r=a,0===bo&&Mo(Br)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Hn()):(go=t,t=a)):(go=t,t=a),t}function Ps(){var t,r,n,o;return t=go,e.substr(go,4)===le?(r=le,go+=4):(r=a,0===bo&&Mo(jr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Wn()):(go=t,t=a)):(go=t,t=a),t}function Ls(){var t,r,n,o;return t=go,e.substr(go,6)===ue?(r=ue,go+=6):(r=a,0===bo&&Mo(Ur)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Gn()):(go=t,t=a)):(go=t,t=a),t}function Rs(){var t,r,n,o;return t=go,e.substr(go,8)===pe?(r=pe,go+=8):(r=a,0===bo&&Mo(Qr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=qn()):(go=t,t=a)):(go=t,t=a),t}function ks(){var t,r,n,o;return t=go,e.substr(go,7)===de?(r=de,go+=7):(r=a,0===bo&&Mo(zr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Jn()):(go=t,t=a)):(go=t,t=a),t}function _s(){var e,t,r,n,o;return e=go,t=go,bo++,r=function(){var e;return(e=Ls())===a&&(e=function(){var e;return(e=Os())===a&&(e=xs())===a&&(e=Ps()),e}())===a&&(e=Rs())===a&&(e=ks()),e}(),bo--,r===a?t=void 0:(go=t,t=a),t!==a&&(r=ko())!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=e,e=Kn(r)):(go=e,e=a)):(go=e,e=a),e}function Vs(){var t;return(t=function(){var t,r,n;return t=go,e.substr(go,13)===me?(r=me,go+=13):(r=a,0===bo&&Mo(Hr)),r!==a?(ss(),(n=ko())!==a?(yo=t,t=Xn(n)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r;return t=go,e.substr(go,10)===he?(r=he,go+=10):(r=a,0===bo&&Mo(Wr)),r!==a&&(yo=t,r=Zn()),r}()),t}function Bs(){var t;return(t=function(){var e,t;return e=go,(t=Go())!==a&&(yo=e,t=ea(t)),t}())===a&&(t=function(){var t,r,n;return t=go,r=go,(r=(n=Bo())!==a?e.substring(r,go):n)!==a&&(yo=t,r=ra(r)),r}())===a&&(t=function(){var t,r;return t=go,r=function(){var t,r,n,o;return t=go,r=go,45===e.charCodeAt(go)?(n=G,go++):(n=a,0===bo&&Mo(Tr)),n===a&&(n=null),r=e.substring(r,go),n=go,(n=(o=function(){var t,r,n,o;return bo++,t=go,r=function(){var t,r,n,o,s;if(t=go,(r=e.substr(go,2)).toLowerCase()===y?go+=2:(r=a,0===bo&&Mo(Et)),r!==a){if(n=go,o=[],(s=Wo())!==a)for(;s!==a;)o.push(s),s=Wo();else o=a;(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=bn(n)):(go=t,t=a)}else go=t,t=a;return t}(),r!==a?(n=go,bo++,(o=_o())===a&&(o=Qo()),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=fn(r)):(go=t,t=a)):(go=t,t=a),t===a&&(t=go,r=function(){var t,r,n,o,s;if(t=go,(r=Uo())!==a)if(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a){for(o=[],s=Qo();s!==a;)o.push(s),s=Qo();(s=zo())===a&&(s=null),yo=t,t=yn()}else go=t,t=a;else go=t,t=a;if(t===a){if(t=go,46===e.charCodeAt(go)?(r=h,go++):(r=a,0===bo&&Mo(bt)),r!==a){if(n=[],(o=Qo())!==a)for(;o!==a;)n.push(o),o=Qo();else n=a;n!==a?((o=zo())===a&&(o=null),yo=t,t=vn()):(go=t,t=a)}else go=t,t=a;t===a&&(t=go,(r=Uo())!==a?((n=zo())===a&&(n=null),yo=t,t=$n()):(go=t,t=a))}return t}(),r!==a?(n=go,bo++,(o=_o())===a&&(o=Qo()),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=gn(r)):(go=t,t=a)):(go=t,t=a)),bo--,t===a&&(r=a,0===bo&&Mo(At)),t}())!==a?e.substring(n,go):o)!==a?(yo=t,t=Yn(r,n)):(go=t,t=a),t}(),r!==a&&(yo=t,r=ta(r)),r}())===a&&(t=function(){var t,r,n;return t=go,(r=ko())!==a?(ss(),e.substr(go,2)===fe?(n=fe,go+=2):(n=a,0===bo&&Mo(Gr)),n===a&&(n=null),yo=t,t=na(r,n)):(go=t,t=a),t}()),t}function js(){var t,r,n,o;return t=go,64===e.charCodeAt(go)?(r=U,go++):(r=a,0===bo&&Mo(dr)),r!==a?(n=go,(n=(o=ko())!==a?e.substring(n,go):o)!==a?(o=function(){var t,r,n,o,s,i,c;if(t=go,40===e.charCodeAt(go)?(r=ge,go++):(r=a,0===bo&&Mo(qr)),r!==a){for(ss(),n=[],o=go,(s=Bs())!==a?(i=ss(),44===e.charCodeAt(go)?(c=ye,go++):(c=a,0===bo&&Mo(Jr)),c!==a?(ss(),yo=o,o=aa(s)):(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,(s=Bs())!==a?(i=ss(),44===e.charCodeAt(go)?(c=ye,go++):(c=a,0===bo&&Mo(Jr)),c!==a?(ss(),yo=o,o=aa(s)):(go=o,o=a)):(go=o,o=a);(o=Bs())===a&&(o=null),s=ss(),41===e.charCodeAt(go)?(i=ve,go++):(i=a,0===bo&&Mo(Kr)),i!==a?(yo=t,t=oa(n,o)):(go=t,t=a)}else go=t,t=a;return t}(),o===a&&(o=null),yo=t,t=sa(n,o)):(go=t,t=a)):(go=t,t=a),t}function Us(){var e,t,r;for(e=[],t=go,(r=js())!==a?(ss(),yo=t,t=ia(r)):(go=t,t=a);t!==a;)e.push(t),t=go,(r=js())!==a?(ss(),yo=t,t=ia(r)):(go=t,t=a);return e}function Qs(){var t,r,n;return t=go,e.substr(go,7)===$e?(r=$e,go+=7):(r=a,0===bo&&Mo(Yr)),r!==a?(ss(),(n=ko())!==a?(yo=t,t=ca(n)):(go=t,t=a)):(go=t,t=a),t}function zs(){var t,r;return t=go,e.substr(go,8)===be?(r=be,go+=8):(r=a,0===bo&&Mo(Zr)),r!==a&&(yo=t,r=ba()),r}function Hs(){var t,r,n,o;return t=go,e.substr(go,7)===Ce?(r=Ce,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),(o=Go())!==a?(yo=t,t=Ca(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Ws(){var t,r,n,o,s;return t=go,e.substr(go,7)===Ce?(r=Ce,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=Bo())!==a?e.substring(o,go):s)!==a?(yo=t,t=Ta(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Gs(){var t,r,n,o,s;return t=go,e.substr(go,7)===Ce?(r=Ce,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=Ho())!==a?e.substring(o,go):s)!==a?(yo=t,t=wa(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function qs(){var t,r,n,o,s;return t=go,e.substr(go,7)===Ce?(r=Ce,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=jo())!==a?e.substring(o,go):s)!==a?(yo=t,t=Da(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Js(){var t;return(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=ko())!==a?(ss(),(i=Hs())===a&&(i=null),ss(),(c=Ys())===a&&(c=null),ss(),(l=Xs())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=Sa(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=xs())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=qs())===a&&(c=null),ss(),(l=Zs())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=Ra(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),ks()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=ko())!==a?(ss(),(i=Ws())===a&&(i=null),ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=Ia(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=ko())!==a?(ss(),(i=Hs())===a&&(i=null),ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=Ma(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),e.substr(go,3)===Ie?(n=Ie,go+=3):(n=a,0===bo&&Mo(sn)),n!==a?(ss(),(o=ko())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=eo(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=_s())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=Hs())===a&&(c=null),ss(),(l=zs())===a&&(l=null),ss(),yo=t,t=Ea(r,o,s,i,c,l)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=Os())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=Gs())===a&&(c=null),ss(),(l=ei())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=ka(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=Ps())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=ko())!==a?(ss(),(c=Gs())===a&&(c=null),ss(),(l=ti())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=_a(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}()),t}function Ks(){var e,t,r;for(e=go,t=[],r=Js();r!==a;)t.push(r),r=Js();return yo=e,Fa(t)}function Ys(){var t,r,n,o;return t=go,e.substr(go,5)===De?(r=De,go+=5):(r=a,0===bo&&Mo(nn)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),(o=function(){var t,r,n,o,s;return bo++,t=go,47===e.charCodeAt(go)?(r=I,go++):(r=a,0===bo&&Mo(Ht)),r!==a?(n=go,o=function(){var t,r,n,o;if(t=go,r=function(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Qe.test(n)?go++:(n=a,0===bo&&Mo(Wt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts())===a&&(t=ns()),t}(),r!==a){for(n=[],o=es();o!==a;)n.push(o),o=es();t=r=[r,n]}else go=t,t=a;return t}(),(n=o!==a?e.substring(n,go):o)!==a?(47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?(s=go,function(){var e,t;for(e=[],t=Vo();t!==a;)e.push(t),t=Vo()}(),s=e.substring(s,go),yo=t,t=Vn(n,s)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),bo--,t===a&&(r=a,0===bo&&Mo(zt)),t}())!==a?(yo=t,t=Na(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Xs(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,6)===Fe?(r=Fe,go+=6):(r=a,0===bo&&Mo(an)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=S,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=Oa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Zs(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,jo(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,jo(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=S,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=xa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ei(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=S,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=Pa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ti(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Te,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=S,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=La(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ri(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=ko())!==a?(ss(),yo=t,t=Za(r,o)):(go=t,t=a)):(go=t,t=a),t}function ni(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=ko())!==a?e.substring(r,go):n)!==a){for(n=go,o=[],s=go,46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=ko())!==a?s=i=[i,c]:(go=s,s=a);s!==a;)o.push(s),s=go,46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=ko())!==a?s=i=[i,c]:(go=s,s=a);n=e.substring(n,go),yo=t,t=to(r,n)}else go=t,t=a;return t}function ai(){var t;return(t=function(){var t,r,n,o,s;return t=go,(r=ni())!==a?(64===e.charCodeAt(go)?(n=U,go++):(n=a,0===bo&&Mo(dr)),n!==a?(o=go,(o=(s=ws())!==a?e.substring(o,go):s)!==a?(yo=t,t=no(r,o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=ni()),t}function oi(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,4)===oe?(r=oe,go+=4):(r=a,0===bo&&Mo(kr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),n=go,(n=(o=function(){var t,r,n,o,s,i,c;return t=go,(r=function(){var t,r,n,o,s;if(t=go,r=go,n=function(){var t;return t=e.charAt(go),We.test(t)?go++:(t=a,0===bo&&Mo(ar)),t}(),n!==a){for(o=[],s=e.charAt(go),Je.test(s)?go++:(s=a,0===bo&&Mo(pr));s!==a;)o.push(s),s=e.charAt(go),Je.test(s)?go++:(s=a,0===bo&&Mo(pr));r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a&&(o=function(){var t,r,n;return t=go,e.substr(go,2)===d?(r=d,go+=2):(r=a,0===bo&&Mo(ft)),r!==a&&(n=function(){var t,r,n,o,s,i;return t=go,r=go,n=function(){var t,r,n;for(t=go,r=[],(n=ps())===a&&(n=us())===a&&(n=e.charAt(go),Ke.test(n)?go++:(n=a,0===bo&&Mo(mr)));n!==a;)r.push(n),(n=ps())===a&&(n=us())===a&&(n=e.charAt(go),Ke.test(n)?go++:(n=a,0===bo&&Mo(mr)));return e.substring(t,go)}(),64===e.charCodeAt(go)?(o=U,go++):(o=a,0===bo&&Mo(dr)),o!==a?r=n=[n,o]:(go=r,r=a),r===a&&(r=null),n=function(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,91===e.charCodeAt(go)?(r=M,go++):(r=a,0===bo&&Mo(qt)),r!==a?(n=function(){var t,r,n,o,s,i,c,l,u,p,d,m,h,f;return t=go,r=go,(n=ms())!==a&&(o=ms())!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,e.substr(go,2)===Q?(n=Q,go+=2):(n=a,0===bo&&Mo(fr)),n!==a&&(o=ms())!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,(n=hs())===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,n=go,(o=ms())===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ds())!==a?r=n=[n,o,s,i,c,l]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?((i=ms())===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ds())!==a?r=n=[n,o,s,i,c]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?((l=ms())===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ds())!==a?r=n=[n,o,s,i]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?((p=ms())===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ds())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?(p=go,(d=ms())!==a?((m=ms())===a&&(m=null),p=d=[d,m]):(go=p,p=a),p===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=hs())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?(p=go,(d=ms())!==a?(m=go,(h=ms())!==a?((f=ms())===a&&(f=null),m=h=[h,f]):(go=m,m=a),m===a&&(m=null),p=d=[d,m]):(go=p,p=a),p===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a?r=n=[n,o]:(go=r,r=a))))))))),r!==a?e.substring(t,go):r}(),n===a&&(n=function(){var t,r,n,o,s,i,c;if(t=go,118===e.charCodeAt(go)?(r=D,go++):(r=a,0===bo&&Mo(Bt)),r!==a){if(n=go,o=[],(s=ls())!==a)for(;s!==a;)o.push(s),s=ls();else o=a;if((n=o!==a?e.substring(n,go):o)!==a)if(46===e.charCodeAt(go)?(o=h,go++):(o=a,0===bo&&Mo(bt)),o!==a){if(s=go,i=[],c=e.charAt(go),Ye.test(c)?go++:(c=a,0===bo&&Mo(hr)),c!==a)for(;c!==a;)i.push(c),c=e.charAt(go),Ye.test(c)?go++:(c=a,0===bo&&Mo(hr));else i=a;(s=i!==a?e.substring(s,go):i)!==a?t=r=[r,n,o,s]:(go=t,t=a)}else go=t,t=a;else go=t,t=a}else go=t,t=a;return t}()),n!==a?(93===e.charCodeAt(go)?(o=S,go++):(o=a,0===bo&&Mo(Jt)),o!==a?t=r=[r,n,o]:(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r!==a?(n=go,bo++,o=ys(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t===a&&(t=go,(r=fs())!==a?(n=go,bo++,o=ys(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t===a&&(t=function(){var t,r,n;for(t=go,r=[],n=ys();n!==a;)r.push(n),n=ys();return e.substring(t,go)}())),t}(),n!==a?(o=go,58===e.charCodeAt(go)?(s=V,go++):(s=a,0===bo&&Mo(cr)),s!==a?(i=function(){var t,r,n;for(t=go,r=[],n=cs();n!==a;)r.push(n),n=cs();return e.substring(t,go)}(),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),t=r=[r,n,o]):(go=t,t=a),t}())!==a?t=r=[r,n,vs()]:(go=t,t=a),t===a&&(t=function(){var t,r,n,o,s,i,c,l;if(t=go,r=go,47===e.charCodeAt(go)?(n=I,go++):(n=a,0===bo&&Mo(Ht)),n!==a){if(o=go,(s=As())!==a){for(i=[],c=go,47===e.charCodeAt(go)?(l=I,go++):(l=a,0===bo&&Mo(Ht)),l!==a?c=l=[l,$s()]:(go=c,c=a);c!==a;)i.push(c),c=go,47===e.charCodeAt(go)?(l=I,go++):(l=a,0===bo&&Mo(Ht)),l!==a?c=l=[l,$s()]:(go=c,c=a);o=s=[s,i]}else go=o,o=a;o===a&&(o=null),r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}())===a&&(t=function(){var t,r,n,o,s,i;if(t=go,r=go,(n=As())!==a){for(o=[],s=go,47===e.charCodeAt(go)?(i=I,go++):(i=a,0===bo&&Mo(Ht)),i!==a?s=i=[i,$s()]:(go=s,s=a);s!==a;)o.push(s),s=go,47===e.charCodeAt(go)?(i=I,go++):(i=a,0===bo&&Mo(Ht)),i!==a?s=i=[i,$s()]:(go=s,s=a);r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}(),t===a&&(t="")),t}())!==a?(s=go,63===e.charCodeAt(go)?(i=B,go++):(i=a,0===bo&&Mo(lr)),i!==a?s=i=[i,c=Cs()]:(go=s,s=a),s===a&&(s=null),i=go,35===e.charCodeAt(go)?(c=j,go++):(c=a,0===bo&&Mo(ur)),c!==a?i=c=[c,Ts()]:(go=i,i=a),i===a&&(i=null),t=r=[r,n,o,s,i]):(go=t,t=a)):(go=t,t=a),t}())!==a?e.substring(n,go):o)!==a?(o=ss(),yo=t,t=oo(n)):(go=t,t=a)):(go=t,t=a),t}function si(){var t,r;return(t=function(){var t,r,n,o,s,i,c;return t=go,r=go,(r=(n=ko())!==a?e.substring(r,go):n)!==a?(n=is(),o=go,s=function(){var t,r,n,o;return t=go,e.substr(go,2)===R?(r=R,go+=2):(r=a,0===bo&&Mo(rr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),(o=s!==a?e.substring(o,go):s)!==a?(s=is(),i=go,(i=(c=ko())!==a?e.substring(i,go):c)!==a?(yo=t,t=lo(r,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=go,t=(r=ko())!==a?e.substring(t,go):r),t}function ii(){var t;return(t=function(){var t,r,n,o,s,i;return t=go,os()!==a?(ss(),(r=ai())!==a?(e.substr(go,2)===Me?(n=Me,go+=2):(n=a,0===bo&&Mo(cn)),n!==a?(is(),o=function(){var t,r,n,o,s,i,c;if(t=go,(r=si())!==a){for(is(),n=[],o=go,44===e.charCodeAt(go)?(s=ye,go++):(s=a,0===bo&&Mo(Jr)),s!==a?(i=is(),(c=si())!==a?o=s=[s,i,c]:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,44===e.charCodeAt(go)?(s=ye,go++):(s=a,0===bo&&Mo(Jr)),s!==a?(i=is(),(c=si())!==a?o=s=[s,i,c]:(go=o,o=a)):(go=o,o=a);yo=t,t=uo(r,n)}else go=t,t=a;return t}(),o!==a?(is(),125===e.charCodeAt(go)?(s=k,go++):(s=a,0===bo&&Mo(nr)),s!==a?(ss(),(i=oi())===a&&(i=null),yo=t,t=co(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s;return t=go,os()!==a?(ss(),(r=ai())!==a?(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a?(o=function(){var t,r,n,o;return t=go,42===e.charCodeAt(go)?(r=se,go++):(r=a,0===bo&&Mo(_r)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=oi())===a&&(s=null),yo=t,t=so(r,s)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n;return t=go,os()!==a?(ss(),(r=function(){var t;return(t=function(){var t,r,n,o,s,i,c;return t=go,(r=ni())!==a?(64===e.charCodeAt(go)?(n=U,go++):(n=a,0===bo&&Mo(dr)),n!==a?(o=go,(o=(s=ws())!==a?e.substring(o,go):s)!==a?(46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=ko())!==a?e.substring(i,go):c)!==a?(yo=t,t=ro(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=ni()),t}())!==a?(ss(),(n=oi())===a&&(n=null),yo=t,t=io(r,n)):(go=t,t=a)):(go=t,t=a),t}()),t}function ci(){var t;return(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,5)===ee?(r=ee,go+=5):(r=a,0===bo&&Mo(Or)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=la(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,11)===te?(r=te,go+=11):(r=a,0===bo&&Mo(xr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=pa(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,5)===re?(r=re,go+=5):(r=a,0===bo&&Mo(Pr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=da(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,11)===ne?(r=ne,go+=11):(r=a,0===bo&&Mo(Lr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=ua(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,4)===N?(r=N,go+=4):(r=a,0===bo&&Mo(Yt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=ko())!==a?(ss(),123===e.charCodeAt(go)?(s=Ae,go++):(s=a,0===bo&&Mo(Xr)),s!==a?(ss(),i=function(){var e,t,r;for(e=go,t=[],r=ri();r!==a;)t.push(r),r=ri();return yo=e,Xa(t)}(),ss(),125===e.charCodeAt(go)?(c=k,go++):(c=a,0===bo&&Mo(nr)),c!==a?(yo=t,t=Ya(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ns())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,7)===Z?(r=Z,go+=7):(r=a,0===bo&&Mo(Nr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=ko())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=k,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=ma(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,6)===ae?(r=ae,go+=6):(r=a,0===bo&&Mo(Rr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=ko())!==a?(ss(),e.substr(go,7)===$e?(s=$e,go+=7):(s=a,0===bo&&Mo(Yr)),s!==a?(ss(),(i=function(){var e;return(e=function(){var e,t;return e=go,ks()!==a?(ss(),(t=Ws())===a&&(t=null),ss(),yo=e,e=ha(t)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,Os()!==a?(ss(),(t=Gs())===a&&(t=null),ss(),(r=ei())===a&&(r=null),ss(),yo=e,e=fa(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,Ps()!==a?(ss(),(t=Gs())===a&&(t=null),ss(),(r=ti())===a&&(r=null),ss(),yo=e,e=ga(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,xs()!==a?(ss(),(t=qs())===a&&(t=null),ss(),(r=Zs())===a&&(r=null),ss(),yo=e,e=ya(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r,n;return e=go,Ls()!==a?(ss(),(t=Hs())===a&&(t=null),ss(),(r=Ys())===a&&(r=null),ss(),(n=Xs())===a&&(n=null),ss(),yo=e,e=va(t,r,n)):(go=e,e=a),e}())===a&&(e=function(){var e,t;return e=go,Rs()!==a?(ss(),(t=Hs())===a&&(t=null),ss(),yo=e,e=$a(t)):(go=e,e=a),e}()),e}())!==a?(ss(),yo=t,t=Aa(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,3)===O?(r=O,go+=3):(r=a,0===bo&&Mo(Xt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=ko())!==a?(ss(),123===e.charCodeAt(go)?(s=Ae,go++):(s=a,0===bo&&Mo(Xr)),s!==a?(ss(),i=function(){var t,r,n;return t=go,r=function(){var t;return t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),yo=t,t=ja(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),yo=t,t=Ua(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=_s())!==a?(ss(),yo=t,t=Qa(r,o)):(go=t,t=a)):(go=t,t=a),t}())),t}(),r!==a?(ss(),n=function(){var t;return t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),ks()!==a?(ss(),yo=t,t=za(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),yo=t,t=Ha(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),yo=t,t=Wa(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Os()!==a?(ss(),yo=t,t=Ga(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ps()!==a?(ss(),yo=t,t=qa(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),xs()!==a?(ss(),yo=t,t=Ja(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n===a&&(e.substr(go,3)===Ie?(n=Ie,go+=3):(n=a,0===bo&&Mo(sn))),n!==a?(ss(),(o=_s())!==a?(ss(),yo=t,t=Ka(r,n,o)):(go=t,t=a)):(go=t,t=a),t}())))))),t}(),n!==a?(yo=t,t=Ba(r,n)):(go=t,t=a)):(go=t,t=a),t}(),i!==a?(ss(),125===e.charCodeAt(go)?(c=k,go++):(c=a,0===bo&&Mo(nr)),c!==a?(yo=t,t=Va(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}()),t}const li="concerto.metamodel@1.0.0";function ui(e,t,r){return[e].concat(function(e,t){var r,n=new Array(e.length);for(r=0;r<e.length;r++)n[r]=e[r][t];return n}(t,r))}function pi(e){return null!==e?e:[]}function di(e){return!!e}function mi(e){if(r?.skipLocationNodes)return;const t=e.start,n=e.end;t.$class=`${li}.Position`,n.$class=`${li}.Position`;const a={$class:`${li}.Range`,start:t,end:n};return e.source&&e.source[0]&&(a.source=e.source[0]),{location:a}}if(n=i(),r.peg$library)return{peg$result:n,peg$currPos:go,peg$FAILED:a,peg$maxFailExpected:Ao,peg$maxFailPos:$o};if(n!==a&&go===e.length)return n;throw n!==a&&go<e.length&&Mo({type:"end"}),function(e,r,n){return new t(t.buildMessage(e,r),e,r,n)}(Ao,$o<e.length?e.charAt($o):null,$o<e.length?Io($o,$o+1):Io($o,$o))}}},303:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(348),a=r(206),o=r(713);e.exports={parse:function(e,t,r){try{return a.parse(e,r)}catch(e){throw e.location&&e.location.start?new o(e.message,e.location,t):e}},parseModels:function(e,t){const r={$class:`${n}.Models`,models:[]};return e.forEach((e=>{let n=a.parse(e,t);r.models.push(n)})),r}}},993:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(348),{isNull:a}=r(209).NullUtil;function o(e){let t="";switch(e.$class){case`${n}.DecoratorTypeReference`:t+=`${e.type.name}${e.isArray?"[]":""}`;break;case`${n}.DecoratorString`:t+=`"${e.value}"`;break;default:t+=`${e.value}`}return t}function s(e){let t="";return t+=`@${e.name}`,e.arguments&&(t+="(",t+=e.arguments.map(o).join(","),t+=")"),t}function i(e,t){let r="";return r+=e.map(s).join(`\n${t}`),r+=`\n${t}`,r}function c(e){let t="";switch(e.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanScalar`:case`${n}.BooleanProperty`:case`${n}.BooleanMapValueType`:t+=" Boolean";break;case`${n}.DateTimeProperty`:case`${n}.DateTimeScalar`:case`${n}.DateTimeMapKeyType`:case`${n}.DateTimeMapValueType`:t+=" DateTime";break;case`${n}.DoubleProperty`:case`${n}.DoubleScalar`:case`${n}.DoubleMapValueType`:t+=" Double";break;case`${n}.IntegerProperty`:case`${n}.IntegerScalar`:case`${n}.IntegerMapValueType`:t+=" Integer";break;case`${n}.LongProperty`:case`${n}.LongScalar`:case`${n}.LongMapValueType`:t+=" Long";break;case`${n}.StringProperty`:case`${n}.StringScalar`:case`${n}.StringMapKeyType`:case`${n}.StringMapValueType`:t+=" String";break;case`${n}.ObjectProperty`:case`${n}.ObjectMapKeyType`:case`${n}.ObjectMapValueType`:case`${n}.RelationshipProperty`:case`${n}.RelationshipMapValueType`:t+=` ${e.type.name}`}return t}function l(e){let t="",r="",o="";switch(e.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanProperty`:case`${n}.BooleanScalar`:!0!==e.defaultValue&&!1!==e.defaultValue||(e.defaultValue?r+=" default=true":r+=" default=false");break;case`${n}.DateTimeProperty`:case`${n}.DateTimeScalar`:e.defaultValue&&(t+=` default="${e.defaultValue}"`);break;case`${n}.DoubleProperty`:case`${n}.DoubleScalar`:a(e.defaultValue)||(r+=` default=${e.defaultValue.toFixed(Math.max(1,(e.defaultValue.toString().split(".")[1]||[]).length))}`),e.validator&&(o+=` range=[${e.validator.lower?e.validator.lower:""},${e.validator.upper?e.validator.upper:""}]`);break;case`${n}.IntegerProperty`:case`${n}.IntegerScalar`:case`${n}.LongProperty`:case`${n}.LongScalar`:a(e.defaultValue)||(r+=` default=${e.defaultValue.toString()}`),e.validator&&(o+=` range=[${e.validator.lower?e.validator.lower:""},${e.validator.upper?e.validator.upper:""}]`);break;case`${n}.StringProperty`:case`${n}.StringScalar`:e.defaultValue&&(r+=` default="${e.defaultValue}"`),e.validator&&(o+=` regex=/${e.validator.pattern}/${e.validator.flags}`),e.lengthValidator&&(o+=` length=[${e.lengthValidator.minLength?e.lengthValidator.minLength:""},${e.lengthValidator.maxLength?e.lengthValidator.maxLength:""}]`);break;case`${n}.ObjectProperty`:e.defaultValue&&(r+=` default="${e.defaultValue}"`)}return t+=r,t+=o,t}e.exports={toCTO:function(e){let t="";return e.concertoVersion&&(t+=`concerto version "${e.concertoVersion}"`,t+="\n",t+="\n"),e.decorators&&e.decorators.length>0&&(t+=i(e.decorators,"")),t+=`namespace ${e.namespace}`,e.imports&&e.imports.length>0&&(t+="\n",e.imports.forEach((e=>{switch(e.$class){case`${n}.ImportType`:case`${n}.ImportTypeFrom`:t+=`\nimport ${e.namespace}.${e.name}`;break;case`${n}.ImportAll`:case`${n}.ImportAllFrom`:t+=`\nimport ${e.namespace}.*`;break;case`${n}.ImportTypes`:{const r=e.aliasedTypes?new Map(e.aliasedTypes.map((e=>{let{name:t,aliasedName:r}=e;return[t,r]}))):new Map,n=e.types.map((e=>r.has(e)?`${e} as ${r.get(e)}`:e)).join(",");t+=`\nimport ${e.namespace}.{${n}}`;break}default:throw new Error("Unrecognized import")}e.uri&&(t+=` from ${e.uri}`)}))),e.declarations&&e.declarations.length>0&&e.declarations.forEach((e=>{t+=`\n\n${function(e){let t="";if(e.decorators&&(t+=i(e.decorators,"")),function(e){return[`${n}.BooleanScalar`,`${n}.IntegerScalar`,`${n}.LongScalar`,`${n}.DoubleScalar`,`${n}.StringScalar`,`${n}.DateTimeScalar`].includes(e.$class)}(e))t+=`scalar ${e.name} extends`,t+=c(e),t+=l(e);else if(function(e){return e.$class===`${n}.MapDeclaration`}(e)){const r=[e.key,e.value];t+=`map ${e.name} {`,r.forEach((e=>{t+=`\n ${function(e){let t="";return e.decorators&&(t+=i(e.decorators," ")),e.$class===`${n}.RelationshipMapValueType`?t+="--\x3e":t+="o",t+=c(e),t}(e)}`})),t+="\n}"}else{switch(e.isAbstract&&(t+="abstract "),e.$class){case`${n}.AssetDeclaration`:t+=`asset ${e.name} `;break;case`${n}.ConceptDeclaration`:t+=`concept ${e.name} `;break;case`${n}.EventDeclaration`:t+=`event ${e.name} `;break;case`${n}.ParticipantDeclaration`:t+=`participant ${e.name} `;break;case`${n}.TransactionDeclaration`:t+=`transaction ${e.name} `;break;case`${n}.EnumDeclaration`:t+=`enum ${e.name} `}if(e.identified&&(e.identified.$class===`${n}.IdentifiedBy`?t+=`identified by ${e.identified.name} `:t+="identified "),e.superType){if(e.superType.name===e.name)throw new Error(`The declaration "${e.name}" cannot extend itself.`);t+=`extends ${e.superType.name} `}t+="{",e.properties.forEach((e=>{t+=`\n ${function(e){let t="";return e.decorators&&(t+=i(e.decorators," ")),e.$class===`${n}.RelationshipProperty`?t+="--\x3e":t+="o",t+=c(e),e.isArray&&(t+="[]"),t+=` ${e.name}`,t+=l(e),e.isOptional&&(t+=" optional"),t}(e)}`})),t+="\n}"}return t}(e)}`})),t}}},124:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==a&&"env"in a&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(891)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},891:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(250),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},250:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},942:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",a=0,o=-1,s=0,i=0;i<=e.length;++i){if(i<e.length)r=e.charCodeAt(i);else{if(47===r)break;r=47}if(47===r){if(o===i-1||1===s);else if(o!==i-1&&2===s){if(n.length<2||2!==a||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",a=0):a=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),o=i,s=0;continue}}else if(2===n.length||1===n.length){n="",a=0,o=i,s=0;continue}t&&(n.length>0?n+="/..":n="..",a=2)}else n.length>0?n+="/"+e.slice(o+1,i):n=e.slice(o+1,i),a=i-o-1;o=i,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var e,n="",o=!1,s=arguments.length-1;s>=-1&&!o;s--){var i;s>=0?i=arguments[s]:(void 0===e&&(e=a.cwd()),i=e),t(i),0!==i.length&&(n=i+"/"+n,o=47===i.charCodeAt(0))}return n=r(n,!o),o?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),a=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&a&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var a=arguments[r];t(a),a.length>0&&(void 0===e?e=a:e+="/"+a)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r)return"";if((e=n.resolve(e))===(r=n.resolve(r)))return"";for(var a=1;a<e.length&&47===e.charCodeAt(a);++a);for(var o=e.length,s=o-a,i=1;i<r.length&&47===r.charCodeAt(i);++i);for(var c=r.length-i,l=s<c?s:c,u=-1,p=0;p<=l;++p){if(p===l){if(c>l){if(47===r.charCodeAt(i+p))return r.slice(i+p+1);if(0===p)return r.slice(i+p)}else s>l&&(47===e.charCodeAt(a+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(a+p);if(d!==r.charCodeAt(i+p))break;47===d&&(u=p)}var m="";for(p=a+u+1;p<=o;++p)p!==o&&47!==e.charCodeAt(p)||(0===m.length?m+="..":m+="/..");return m.length>0?m+r.slice(i+u):(i+=u,47===r.charCodeAt(i)&&++i,r.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,a=-1,o=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!o){a=s;break}}else o=!1;return-1===a?n?"/":".":n&&1===a?"//":e.slice(0,a)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');t(e);var n,a=0,o=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var i=r.length-1,c=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(47===l){if(!s){a=n+1;break}}else-1===c&&(s=!1,c=n+1),i>=0&&(l===r.charCodeAt(i)?-1==--i&&(o=n):(i=-1,o=c))}return a===o?o=c:-1===o&&(o=e.length),e.slice(a,o)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){a=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?"":e.slice(a,o)},extname:function(e){t(e);for(var r=-1,n=0,a=-1,o=!0,s=0,i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47!==c)-1===a&&(o=!1,a=i+1),46===c?-1===r?r=i:1!==s&&(s=1):-1!==r&&(s=-1);else if(!o){n=i+1;break}}return-1===r||-1===a||0===s||1===s&&r===a-1&&r===n+1?"":e.slice(r,a)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+"/"+n:n}(0,e)},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,a=e.charCodeAt(0),o=47===a;o?(r.root="/",n=1):n=0;for(var s=-1,i=0,c=-1,l=!0,u=e.length-1,p=0;u>=n;--u)if(47!==(a=e.charCodeAt(u)))-1===c&&(l=!1,c=u+1),46===a?-1===s?s=u:1!==p&&(p=1):-1!==s&&(p=-1);else if(!l){i=u+1;break}return-1===s||-1===c||0===p||1===p&&s===c-1&&s===i+1?-1!==c&&(r.base=r.name=0===i&&o?e.slice(1,c):e.slice(i,c)):(0===i&&o?(r.name=e.slice(1,s),r.base=e.slice(1,c)):(r.name=e.slice(i,s),r.base=e.slice(i,c)),r.ext=e.slice(s,c)),i>0?r.dir=e.slice(0,i-1):o&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n},431:e=>{"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),r=/[^\u0000-\u0080]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},237:(e,t,r)=>{"use strict";const n=r(713),a=r(303),o=r(993),s=r(786);e.exports={ParseException:n,Parser:a,Printer:o,External:s}},209:(e,t,r)=>{"use strict";const n=r(255),a=r(485),o=r(584),s=r(452),i=r(538),c=r(318),l=r(313),u=r(734),p=r(416),d=r(231),m=r(402),h=r(233),f=r(965),g=r(111),y=r(694),v=r(873),$=r(792),A=r(25);e.exports={BaseException:n,BaseFileException:a,FileDownloader:o,CompositeFileLoader:s,DefaultFileLoader:i,GitHubFileLoader:c,HTTPFileLoader:l,Writer:u,FileWriter:p,InMemoryWriter:m,ModelWriter:d,Logger:h,TypedStack:f,Label:g,Identifiers:y,ErrorCodes:v,NullUtil:$,Warning:A}},255:(e,t,r)=>{"use strict";const n=r(486),a=r(873);class o extends Error{constructor(e,t,r){super(e),this.component=t||n.name,this.name=this.constructor.name,this.message=e,this.errorType=r||a.DEFAULT_BASE_EXCEPTION,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}e.exports=o},485:(e,t,r)=>{"use strict";const n=r(255);e.exports=class extends n{constructor(e,t,r,n,a){super(r||e,a),this.fileLocation=t,this.shortMessage=e,this.fileName=n}getFileLocation(){return this.fileLocation}getShortMessage(){return this.shortMessage}getFileName(){return this.fileName}}},873:e=>{"use strict";e.exports={DEFAULT_BASE_EXCEPTION:"DefaultBaseException",DEFAULT_VALIDATOR_EXCEPTION:"DefaultValidatorException",REGEX_VALIDATOR_EXCEPTION:"RegexValidatorException",TYPE_NOT_FOUND_EXCEPTION:"TypeNotFoundException",DEPRECATION_WARNING:"DeprecationWarning",CONCERTO_DEPRECATION_001:"concerto-dep:001",CONCERTO_DEPRECATION_002:"concerto-dep:002"}},584:(e,t,r)=>{"use strict";const n=r(901)("concerto:FileDownloader"),a=r(573),o=e=>[].concat(...e),s=e=>e.filter(Boolean),i=async(e,t)=>{const r=e.response&&e.response.status&&200!==e.response.status,n=e.code&&"ENOTFOUND"===e.code;if(r||n){const e=new Error(`Unable to download external model dependency '${t.url}'`);throw e.code="MISSING_DEPENDENCY",e}throw new Error("Failed to load model file. Job: "+t.url+" Details: "+e)};e.exports=class{constructor(e,t,r=10){this.fileLoader=e,this.concurrency=r,this.getExternalImports=t}downloadExternalDependencies(e,t){n("downloadExternalDependencies");const r=new Set;t||(t={});const c=o(e.map((e=>{const n=this.getExternalImports(e);return Object.keys(n).map((e=>({downloadedUris:r,url:n[e],options:t})))})));return a.withConcurrency(this.concurrency).for(c).handleError(i).process((e=>this.runJob(e,this.fileLoader))).then((({results:e})=>s(o(e))))}runJob(e,t){const r=e.downloadedUris,c=e.options,l=e.url;return r.add(l),n("runJob","Loading",l),t.load(l,c).then((async e=>{n("runJob","Loaded",l);const u=this.getExternalImports(e),p=Array.from(new Set(Object.keys(u).map((e=>u[e]))));return n("runJob","importedUris",p),(await a.withConcurrency(this.concurrency).for(p).handleError(i).process((e=>{if(!r.has(e))return this.runJob({options:c,url:e,downloadedUris:r},t)})).then((({results:e})=>s(o(e))))).concat([e])}))}}},416:(e,t,r)=>{"use strict";const n=r(522),a=r(338),o=r(734);e.exports=class extends o{constructor(e){super(),this.outputDirectory=e,this.relativeDir=null,this.fileName=null,n.mkdirSync(e,{recursive:!0})}openFile(e){this.fileName=e,this.relativeDir=null}openRelativeFile(e,t){this.relativeDir=e,this.fileName=t}writeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeLine(e,t)}writeBeforeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeBeforeLine(e,t)}closeFile(){if(!this.fileName)throw new Error("No file open");let e=this.outputDirectory;this.relativeDir&&(e=a.resolve(e,this.relativeDir)),e=a.resolve(e,this.fileName),n.mkdirSync(a.dirname(e),{recursive:!0}),n.writeFileSync(e,this.getBuffer()),this.fileName=null,this.relativeDir=null,this.clearBuffer()}}},694:e=>{"use strict";const t=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u;e.exports={normalizeIdentifier:function(e,r=-1){const n=(e,t)=>{let r="";for(const e of t)r+=`_${e.codePointAt(0).toString(16)}`;return r};let a=e??String(e);if("string"!=typeof a)throw new Error(`Unsupported identifier type, '${typeof a}'.`);if(a=a.replace(/^\p{Nd}/u,"_$&").replace(/[-‐−@#:;><|/\\\u200c\u200d]/g,"_").replace(/\s/g,"_").replace(/(?!\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D|\\u[0-9A-Fa-f]{4})(.)/gu,n).replace(/([\uD800-\uDFFF])/g,n),r>0&&(a=a.substring(0,r)),!t.test(a))throw new Error(`Unexpected error. Not able to escape identifier '${a}'.`);return a},ID_REGEX:t}},402:(e,t,r)=>{"use strict";const n=r(734);e.exports=class extends n{constructor(){super(),this.fileName="",this.data=new Map}openFile(e){this.fileName=e}closeFile(){this.data.set(this.fileName,this.getBuffer()),this.clearBuffer()}getFilesInMemory(){return this.data}}},111:e=>{"use strict";e.exports={labelToSentence:function(e=""){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(e=>e.toUpperCase())).trim()},sentenceToLabel:function(e=""){const t=e.split(/[^A-Za-z0-9_-]+/);return t.forEach(((e,r)=>{t[r]=t[r].replace(/^./,(e=>e.toUpperCase()))})),t.join("").replace(/^./,(e=>e.toLowerCase()))}}},452:e=>{"use strict";e.exports=class{constructor(){this.fileLoaders=[]}addFileLoader(e){this.fileLoaders.push(e)}getFileLoaders(){return this.fileLoaders}clearFileLoaders(){this.fileLoaders=[]}accepts(e){for(let t=0;t<this.fileLoaders.length;t++)if(this.fileLoaders[t].accepts(e))return!0;return!1}load(e,t){for(let r=0;r<this.fileLoaders.length;r++){const n=this.fileLoaders[r];if(n.accepts(e))return n.load(e,t)}throw new Error("Failed to find a model file loader that can handle: "+e)}}},538:(e,t,r)=>{"use strict";const n=r(452),a=r(313),o=r(318);e.exports=class extends n{constructor(e){super();const t=new a(e),r=new o(e);this.addFileLoader(r),this.addFileLoader(t)}}},318:(e,t,r)=>{"use strict";const n=r(313);e.exports=class extends n{constructor(e){super(e)}accepts(e){return e.startsWith("github://")}load(e,t){const r="https://raw.githubusercontent.com/"+e.substring(9);return super.load(r,t)}}},313:e=>{"use strict";e.exports=class{constructor(e){this.processFile=e}accepts(e){return e.startsWith("http://")||e.startsWith("https://")}async load(e,t){t||(t={method:"GET",headers:{"Content-Type":"text/plain"}}),console.log(e);const r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP request failed with status: ${r.status}`);const n=await r.text(),a=new URL(e),o="@"+(a.host+a.pathname).replace(/\//g,".");return this.processFile(o,n)}}},233:e=>{"use strict";const t={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},r=e=>e,n={};Object.keys(t).forEach((e=>{n[e]=(...n)=>((e,...n)=>{let a=e,o=n,s=o.shift();if(s&&"object"==typeof s&&s.level&&s.message){const e=s.padding&&s.padding[s.level];"error"===s.level&&s.stack?(a="error",s=`${s.message}\n${s.stack}`):Object.keys(t).includes(s.level)&&(a=s.level,s=s.message),s=e?`${e} ${s}`:s}o.unshift(s),(["error","warn"].includes(a)?console.error:console.log)(`${(new Date).toLocaleTimeString()} - ${a}:`,...o.map((e=>e instanceof Error?`${e.message}\n${e.stack}`:e)).map(r))})(e,...n)}));class a{static dispatch(e,...r){t[e]>t[this.level]||this.transports.forEach((t=>{t[e]&&t[e](...r)}))}static add(e){this.transports.push(e)}static error(...e){return this.dispatch("error",...e)}static warn(...e){return this.dispatch("warn",...e)}static info(...e){return this.dispatch("info",...e)}static log(...e){return this.info(...e)}static http(...e){return this.dispatch("http",...e)}static verbose(...e){return this.dispatch("verbose",...e)}static debug(...e){return this.dispatch("debug",...e)}static silly(...e){return this.dispatch("silly",...e)}}a.level="info",a.transports=[n],e.exports=a},231:(e,t,r)=>{"use strict";const n=r(522),a=r(338),o=r(431);e.exports={writeModelsToFileSystem:function(e,t,r={}){if(!t)throw new Error("`path` is a required parameter of writeModelsToFileSystem");const s=Object.assign({includeExternalModels:!0},r);e.forEach((function(e){if(e.external&&!s.includeExternalModels)return;const r=o(e.fileName).split("/").pop();n.writeFileSync(t+a.sep+r,e.definitions)}))}}},792:e=>{"use strict";e.exports=class{static isNull(e){return null==e}}},965:e=>{"use strict";e.exports=class{constructor(e){this.stack=[],this.push(e)}push(e,t){if(t&&!(e instanceof t))throw new Error("Did not find expected type "+t.constructor.name+" as argument to push. Found: "+e.toString());this.stack.push(e)}pop(e){return this.peek(e),this.stack.pop()}peek(e){if(this.stack.length<1)throw new Error("Stack is empty!");const t=this.stack[this.stack.length-1];if(e&&!(t instanceof e))throw new Error("Did not find expected type "+e+" on head of stack. Found: "+t);return t}clear(){this.stack=[]}}},25:e=>{"use strict";let t=!1;e.exports={printDeprecationWarning:function(e,r,n,o){const s=a.emitWarning;t||(t=!0,s(`DEPRECATED: ${e}`,{type:r,code:n,detail:o}))}}},734:e=>{"use strict";e.exports=class{constructor(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}writeBeforeLine(e,t){for(let t=0;t<e;t++)this.beforeBuffer+=" ";this.beforeBuffer+=t,this.beforeBuffer+="\n",this.linesWritten++}writeLine(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t),this.write("\n"),this.linesWritten++}getLineCount(){return this.linesWritten}writeIndented(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t)}write(e){if("string"!=typeof e)throw new Error("Can only append strings. Argument "+e+" has type "+typeof e);this.buffer+=e,this.linesWritten+=e.split(/\r\n|\r|\n/).length}getBuffer(){return this.beforeBuffer+this.buffer}clearBuffer(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}}},901:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==a&&"env"in a&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(372)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},372:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(585),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},585:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},522:()=>{},338:()=>{},865:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto.Metamodel"}]}],"namespace":"concerto.metamodel@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Position","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"line","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"column","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"offset","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Range","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"start","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"end","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"source","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TypeIdentifier","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorLiteral","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorString","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorNumber","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorBoolean","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorTypeReference","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"arguments","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Identified","isAbstract":false,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IdentifiedBy","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Declaration","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapKeyType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapValueType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"key","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"value","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapKeyType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"EnumProperty"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ConceptDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isAbstract","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"identified","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"superType","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AssetDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ParticipantDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TransactionDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EventDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Property","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isOptional","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeProperty","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringRegexValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"pattern","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"flags","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringLengthValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"minLength","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"maxLength","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AliasedType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"aliasedName","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Import","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"uri","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportAll","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportTypes","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"types","isArray":true,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"aliasedTypes","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"AliasedType"},"isArray":true,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Model","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"sourceUri","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"concertoVersion","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"imports","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"declarations","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Models","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"models","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Model"},"isArray":true,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ScalarDeclaration","isAbstract":true,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}}]}')},486:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-util","version":"3.19.6","description":"Utilities for Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":{"main":"dist/concerto-util.js","fs":false,"path":false},"typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint && npm run doc","lint":"eslint .","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"nyc mocha --recursive -t 10000","test:watch":"nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-util"},"keywords":["blockchain","hyperledger","solutions"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","eslint":"8.2.0","jsdoc":"^4.0.2","mocha":"10.0.0","node-polyfill-webpack-plugin":"2.0.1","nyc":"15.1.0","tmp-promise":"3.0.2","typescript":"5.6.3","undici":"^6.19.8"},"dependencies":{"@supercharge/promise-pool":"1.7.0","debug":"4.3.4","slash":"3.0.0"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"all":true,"check-coverage":true,"statements":99,"branches":93,"functions":98,"lines":99}}')}},t={},function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}(237);var e,t},e.exports=n()},6686:()=>{},5558:()=>{},2522:()=>{},2338:()=>{},182:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.validate=t.v7=t.v6ToV1=t.v6=t.v5=t.v4=t.v3=t.v1ToV6=t.v1=t.stringify=t.parse=t.NIL=t.MAX=void 0;var n=r(2196);Object.defineProperty(t,"MAX",{enumerable:!0,get:function(){return n.default}});var a=r(3465);Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return a.default}});var o=r(1797);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return o.default}});var s=r(6011);Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.default}});var i=r(1425);Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return i.default}});var c=r(6568);Object.defineProperty(t,"v1ToV6",{enumerable:!0,get:function(){return c.default}});var l=r(591);Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return l.default}});var u=r(8286);Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return u.default}});var p=r(4557);Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return p.default}});var d=r(6356);Object.defineProperty(t,"v6",{enumerable:!0,get:function(){return d.default}});var m=r(268);Object.defineProperty(t,"v6ToV1",{enumerable:!0,get:function(){return m.default}});var h=r(4299);Object.defineProperty(t,"v7",{enumerable:!0,get:function(){return h.default}});var f=r(9746);Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return f.default}});var g=r(2770);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return g.default}})},2196:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="ffffffff-ffff-ffff-ffff-ffffffffffff"},338:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function a(e,t,r,a,o,s){return n((i=n(n(t,e),n(a,s)))<<(c=o)|i>>>32-c,r);var i,c}function o(e,t,r,n,o,s,i){return a(t&r|~t&n,e,t,o,s,i)}function s(e,t,r,n,o,s,i){return a(t&n|r&~n,e,t,o,s,i)}function i(e,t,r,n,o,s,i){return a(t^r^n,e,t,o,s,i)}function c(e,t,r,n,o,s,i){return a(r^(t|~n),e,t,o,s,i)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(e){const t=new Uint8Array(4*e.length);for(let r=0;r<4*e.length;r++)t[r]=e[r>>2]>>>r%4*8&255;return t}(function(e,t){const a=new Uint32Array(r(t)).fill(0);a.set(e),a[t>>5]|=128<<t%32,a[a.length-1]=t,e=a;let l=1732584193,u=-271733879,p=-1732584194,d=271733878;for(let t=0;t<e.length;t+=16){const r=l,a=u,m=p,h=d;l=o(l,u,p,d,e[t],7,-680876936),d=o(d,l,u,p,e[t+1],12,-389564586),p=o(p,d,l,u,e[t+2],17,606105819),u=o(u,p,d,l,e[t+3],22,-1044525330),l=o(l,u,p,d,e[t+4],7,-176418897),d=o(d,l,u,p,e[t+5],12,1200080426),p=o(p,d,l,u,e[t+6],17,-1473231341),u=o(u,p,d,l,e[t+7],22,-45705983),l=o(l,u,p,d,e[t+8],7,1770035416),d=o(d,l,u,p,e[t+9],12,-1958414417),p=o(p,d,l,u,e[t+10],17,-42063),u=o(u,p,d,l,e[t+11],22,-1990404162),l=o(l,u,p,d,e[t+12],7,1804603682),d=o(d,l,u,p,e[t+13],12,-40341101),p=o(p,d,l,u,e[t+14],17,-1502002290),u=o(u,p,d,l,e[t+15],22,1236535329),l=s(l,u,p,d,e[t+1],5,-165796510),d=s(d,l,u,p,e[t+6],9,-1069501632),p=s(p,d,l,u,e[t+11],14,643717713),u=s(u,p,d,l,e[t],20,-373897302),l=s(l,u,p,d,e[t+5],5,-701558691),d=s(d,l,u,p,e[t+10],9,38016083),p=s(p,d,l,u,e[t+15],14,-660478335),u=s(u,p,d,l,e[t+4],20,-405537848),l=s(l,u,p,d,e[t+9],5,568446438),d=s(d,l,u,p,e[t+14],9,-1019803690),p=s(p,d,l,u,e[t+3],14,-187363961),u=s(u,p,d,l,e[t+8],20,1163531501),l=s(l,u,p,d,e[t+13],5,-1444681467),d=s(d,l,u,p,e[t+2],9,-51403784),p=s(p,d,l,u,e[t+7],14,1735328473),u=s(u,p,d,l,e[t+12],20,-1926607734),l=i(l,u,p,d,e[t+5],4,-378558),d=i(d,l,u,p,e[t+8],11,-2022574463),p=i(p,d,l,u,e[t+11],16,1839030562),u=i(u,p,d,l,e[t+14],23,-35309556),l=i(l,u,p,d,e[t+1],4,-1530992060),d=i(d,l,u,p,e[t+4],11,1272893353),p=i(p,d,l,u,e[t+7],16,-155497632),u=i(u,p,d,l,e[t+10],23,-1094730640),l=i(l,u,p,d,e[t+13],4,681279174),d=i(d,l,u,p,e[t],11,-358537222),p=i(p,d,l,u,e[t+3],16,-722521979),u=i(u,p,d,l,e[t+6],23,76029189),l=i(l,u,p,d,e[t+9],4,-640364487),d=i(d,l,u,p,e[t+12],11,-421815835),p=i(p,d,l,u,e[t+15],16,530742520),u=i(u,p,d,l,e[t+2],23,-995338651),l=c(l,u,p,d,e[t],6,-198630844),d=c(d,l,u,p,e[t+7],10,1126891415),p=c(p,d,l,u,e[t+14],15,-1416354905),u=c(u,p,d,l,e[t+5],21,-57434055),l=c(l,u,p,d,e[t+12],6,1700485571),d=c(d,l,u,p,e[t+3],10,-1894986606),p=c(p,d,l,u,e[t+10],15,-1051523),u=c(u,p,d,l,e[t+1],21,-2054922799),l=c(l,u,p,d,e[t+8],6,1873313359),d=c(d,l,u,p,e[t+15],10,-30611744),p=c(p,d,l,u,e[t+6],15,-1560198380),u=c(u,p,d,l,e[t+13],21,1309151649),l=c(l,u,p,d,e[t+4],6,-145523070),d=c(d,l,u,p,e[t+11],10,-1120210379),p=c(p,d,l,u,e[t+2],15,718787259),u=c(u,p,d,l,e[t+9],21,-343485551),l=n(l,r),u=n(u,a),p=n(p,m),d=n(d,h)}return Uint32Array.of(l,u,p,d)}(function(e){if(0===e.length)return new Uint32Array;const t=new Uint32Array(r(8*e.length)).fill(0);for(let r=0;r<e.length;r++)t[r>>2]|=(255&e[r])<<r%4*8;return t}(e),8*e.length))}},3779:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);t.default={randomUUID:r}},3465:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="00000000-0000-0000-0000-000000000000"},1797:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(9746);t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}},6697:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i},2291:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r=crypto.getRandomValues.bind(crypto)}return r(n)};const n=new Uint8Array(16)},2829:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],a=[1732584193,4023233417,2562383102,271733878,3285377520],o=new Uint8Array(e.length+1);o.set(e),o[e.length]=128;const s=(e=o).length/4+2,i=Math.ceil(s/16),c=new Array(i);for(let t=0;t<i;++t){const r=new Uint32Array(16);for(let n=0;n<16;++n)r[n]=e[64*t+4*n]<<24|e[64*t+4*n+1]<<16|e[64*t+4*n+2]<<8|e[64*t+4*n+3];c[t]=r}c[i-1][14]=8*(e.length-1)/Math.pow(2,32),c[i-1][14]=Math.floor(c[i-1][14]),c[i-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<i;++e){const o=new Uint32Array(80);for(let t=0;t<16;++t)o[t]=c[e][t];for(let e=16;e<80;++e)o[e]=n(o[e-3]^o[e-8]^o[e-14]^o[e-16],1);let s=a[0],i=a[1],l=a[2],u=a[3],p=a[4];for(let e=0;e<80;++e){const a=Math.floor(e/20),c=n(s,5)+r(a,i,l,u)+p+t[a]+o[e]>>>0;p=u,u=l,l=n(i,30)>>>0,i=s,s=c}a[0]=a[0]+s>>>0,a[1]=a[1]+i>>>0,a[2]=a[2]+l>>>0,a[3]=a[3]+u>>>0,a[4]=a[4]+p>>>0}return Uint8Array.of(a[0]>>24,a[0]>>16,a[0]>>8,a[0],a[1]>>24,a[1]>>16,a[1]>>8,a[1],a[2]>>24,a[2]>>16,a[2]>>8,a[2],a[3]>>24,a[3]>>16,a[3]>>8,a[3],a[4]>>24,a[4]>>16,a[4]>>8,a[4])}},6011:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unsafeStringify=o;const n=r(9746),a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));function o(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}t.default=function(e,t=0){const r=o(e,t);if(!(0,n.default)(r))throw TypeError("Stringified UUID is invalid");return r}},1425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateV1State=s;const n=r(2291),a=r(6011),o={};function s(e,t,r){return e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0),e.node||(e.node=r.slice(10,16),e.node[0]|=1,e.clockseq=16383&(r[8]<<8|r[9])),e.msecs=t,e}function i(e,t,r,n,a,o,s=0){o||(o=new Uint8Array(16),s=0),t??=Date.now(),r??=0,n??=16383&(e[8]<<8|e[9]),a??=e.slice(10,16);const i=(1e4*(268435455&(t+=122192928e5))+r)%4294967296;o[s++]=i>>>24&255,o[s++]=i>>>16&255,o[s++]=i>>>8&255,o[s++]=255&i;const c=t/4294967296*1e4&268435455;o[s++]=c>>>8&255,o[s++]=255&c,o[s++]=c>>>24&15|16,o[s++]=c>>>16&255,o[s++]=n>>>8|128,o[s++]=255&n;for(let e=0;e<6;++e)o[s++]=a[e];return o}t.default=function(e,t,r){let c;const l=e?._v6??!1;if(e){const t=Object.keys(e);1===t.length&&"_v6"===t[0]&&(e=void 0)}if(e)c=i(e.random??e.rng?.()??(0,n.default)(),e.msecs,e.nsecs,e.clockseq,e.node,t,r);else{const e=Date.now(),a=(0,n.default)();s(o,e,a),c=i(a,o.msecs,o.nsecs,l?void 0:o.clockseq,l?void 0:o.node,t,r)}return t?c:(0,a.unsafeStringify)(c)}},6568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(r="string"==typeof e?(0,n.default)(e):e,Uint8Array.of((15&r[6])<<4|r[7]>>4&15,(15&r[7])<<4|(240&r[4])>>4,(15&r[4])<<4|(240&r[5])>>4,(15&r[5])<<4|(240&r[0])>>4,(15&r[0])<<4|(240&r[1])>>4,(15&r[1])<<4|(240&r[2])>>4,96|15&r[2],r[3],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]));var r;return"string"==typeof e?(0,a.unsafeStringify)(t):t};const n=r(1797),a=r(6011)},591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0;const n=r(338),a=r(2988);var o=r(2988);function s(e,t,r,o){return(0,a.default)(48,n.default,e,t,r,o)}Object.defineProperty(t,"DNS",{enumerable:!0,get:function(){return o.DNS}}),Object.defineProperty(t,"URL",{enumerable:!0,get:function(){return o.URL}}),s.DNS=a.DNS,s.URL=a.URL,t.default=s},2988:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.stringToBytes=o,t.default=function(e,t,r,s,i,c){const l="string"==typeof r?o(r):r,u="string"==typeof s?(0,n.default)(s):s;if("string"==typeof s&&(s=(0,n.default)(s)),16!==s?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let p=new Uint8Array(16+l.length);if(p.set(u),p.set(l,u.length),p=t(p),p[6]=15&p[6]|e,p[8]=63&p[8]|128,i){c=c||0;for(let e=0;e<16;++e)i[c+e]=p[e];return i}return(0,a.unsafeStringify)(p)};const n=r(1797),a=r(6011);function o(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}t.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",t.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8"},8286:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(3779),a=r(2291),o=r(6011);t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();const s=(e=e||{}).random||(e.rng||a.default)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=s[e];return t}return(0,o.unsafeStringify)(s)}},4557:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0;const n=r(2829),a=r(2988);var o=r(2988);function s(e,t,r,o){return(0,a.default)(80,n.default,e,t,r,o)}Object.defineProperty(t,"DNS",{enumerable:!0,get:function(){return o.DNS}}),Object.defineProperty(t,"URL",{enumerable:!0,get:function(){return o.URL}}),s.DNS=a.DNS,s.URL=a.URL,t.default=s},6356:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(6011),a=r(1425),o=r(6568);t.default=function(e,t,r){e??={},r??=0;let s=(0,a.default)({...e,_v6:!0},new Uint8Array(16));if(s=(0,o.default)(s),t){for(let e=0;e<16;e++)t[r+e]=s[e];return t}return(0,n.unsafeStringify)(s)}},268:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(r="string"==typeof e?(0,n.default)(e):e,Uint8Array.of((15&r[3])<<4|r[4]>>4&15,(15&r[4])<<4|(240&r[5])>>4,(15&r[5])<<4|15&r[6],r[7],(15&r[1])<<4|(240&r[2])>>4,(15&r[2])<<4|(240&r[3])>>4,16|(240&r[0])>>4,(15&r[0])<<4|(240&r[1])>>4,r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]));var r;return"string"==typeof e?(0,a.unsafeStringify)(t):t};const n=r(1797),a=r(6011)},4299:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateV7State=s;const n=r(2291),a=r(6011),o={};function s(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++),e}function i(e,t,r,n,a=0){return n||(n=new Uint8Array(16),a=0),t??=Date.now(),r??=127*e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[a++]=t/1099511627776&255,n[a++]=t/4294967296&255,n[a++]=t/16777216&255,n[a++]=t/65536&255,n[a++]=t/256&255,n[a++]=255&t,n[a++]=112|r>>>28&15,n[a++]=r>>>20&255,n[a++]=128|r>>>14&63,n[a++]=r>>>6&255,n[a++]=r<<2&255|3&e[10],n[a++]=e[11],n[a++]=e[12],n[a++]=e[13],n[a++]=e[14],n[a++]=e[15],n}t.default=function(e,t,r){let c;if(e)c=i(e.random??e.rng?.()??(0,n.default)(),e.msecs,e.seq,t,r);else{const e=Date.now(),a=(0,n.default)();s(o,e,a),c=i(a,o.msecs,o.seq,t,r)}return t?c:(0,a.unsafeStringify)(c)}},9746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(6697);t.default=function(e){return"string"==typeof e&&n.default.test(e)}},2770:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(9746);t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},4865:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto.Metamodel"}]}],"namespace":"concerto.metamodel@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Position","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"line","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"column","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"offset","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Range","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"start","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"end","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"source","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TypeIdentifier","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorLiteral","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorString","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorNumber","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorBoolean","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorTypeReference","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"arguments","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Identified","isAbstract":false,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IdentifiedBy","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Declaration","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapKeyType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapValueType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"key","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"value","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapKeyType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"EnumProperty"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ConceptDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isAbstract","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"identified","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"superType","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AssetDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ParticipantDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TransactionDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EventDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Property","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isOptional","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeProperty","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringRegexValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"pattern","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"flags","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringLengthValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"minLength","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"maxLength","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AliasedType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"aliasedName","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Import","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"uri","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportAll","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportTypes","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"types","isArray":true,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"aliasedTypes","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"AliasedType"},"isArray":true,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Model","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"sourceUri","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"concertoVersion","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"imports","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"declarations","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Models","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"models","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Model"},"isArray":true,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ScalarDeclaration","isAbstract":true,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}}]}')},480:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[],"namespace":"concerto.decorator@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DotNetNamespace","superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false}]}]}')},6391:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto"}]}],"namespace":"concerto@1.0.0","imports":[{"$class":"concerto.metamodel@1.0.0.ImportType","name":"DotNetNamespace","namespace":"concerto.decorator@1.0.0"}],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Concept","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Asset","isAbstract":true,"properties":[],"identified":{"$class":"concerto.metamodel@1.0.0.Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Participant","isAbstract":true,"properties":[],"identified":{"$class":"concerto.metamodel@1.0.0.Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Transaction","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Event","isAbstract":true,"properties":[]}]}')},8168:e=>{"use strict";e.exports=JSON.parse('{"en":{"like":["{0, plural, offset:1"," =0 {Be the first to like this}"," =1 {You liked this}"," one {You and someone else liked this}"," other {You and # others liked this}","}"],"test-hello-array":"Hello, {0} {1} {2}","test-hello-object":"Hello, {first} {middle} {last}","test-repeat-array":"{0} {0} {0}","test-repeat-object":"{value} {value} {value}","classdeclaration-constructor-modelastreq":"\\"ModelFile\\" and \\"AST\\" are required to create a \\"ClassDecl\\".","classdeclaration-process-unrecmodelelem":"Unrecognised model element \\"{type}\\".","classdeclaration-getfield-notfindsupertype":"Could not find supertype \\"{type}\\".","classdeclaration-validate-identifiernotproperty":"Class \\"{class}\\" is identified by field \\"{idField}\\", but does not contain this property.","classdeclaration-validate-identifiernotstring":"Class \\"{class}\\" is identified by field \\"{idField}\\", but the type of the field is not \\"String\\".","classdeclaration-validate-duplicatefieldname":"Class \\"{class}\\" has more than one field named \\"{fieldName}\\".","classdeclaration-validate-missingidentifier":"Class \\"{class}\\" is not declared as \\"abstract\\". It must define an identifying field.","classdeclaration-validate-selfextending":"Class \\"{class}\\" cannot extend itself.","classdeclaration-validate-undefined-properties":"Properties of Class \\"{class}\\" has to be defined.","modelfile-constructor-unrecmodelelem":"Unrecognised model element \\"{type}\\".","modelfile-resolvetype-undecltype":"Undeclared type \\"{type}\\" in \\"{context}\\".","modelfile-resolveimport-failfindimp":"Failed to find \\"{type}\\" in list of imports \\"[{imports}]\\" for namespace \\"{namespace}\\".","transactiondeclaration-getidentifierfieldname-noidentifyingfield":"Transactions do not have an identifying field.","composer-connect-noconopts":"\\"connectOptions\\" not specified.","composer-connect-nokeyvalstore":"\\"connectOptions.keyValStore\\" not specified.","composer-connect-nomembersrvcurl":"\\"connectOptions.membershipServicesURL\\" not specified.","composer-connect-nopeerurl":"\\"connectOptions.peerURL\\" not specified.","composer-connect-noeventhuburl":"\\"connectOptions.eventHubURL\\" not specified.","composer-connect-notconnected":"Connection needs to be connected. Call \\"connect(..)\\".","composer-login-noenrollmentid":"\\"enrollmentID\\" not specified.","composer-login-noenrollmentsecret":"\\"enrollmentSecret\\" not specified.","composer-deploy-nosecuritycontext":"\\"securityContext\\" not specified.","factory-newinstance-missingidentifier":"Missing identifier for Type \\"{type}\\" in namespace \\"{namespace}\\".","factory-newinstance-invalididentifier":"Invalid or missing identifier for Type \\"{type}\\" in namespace \\"{namespace}\\".","factory-newinstance-abstracttype":"Cannot instantiate the abstract type \\"{type}\\" in the \\"{namespace}\\" namespace.","factory-newrelationship-notregisteredwithmm":"Cannot create relationship as namespace \\"{namespace}\\" is not known.","factory-newinstance-typenotdeclaredinns":"Cannot instantiate Type \\"{type}\\" in namespace \\"{namespace}\\".","instancegenerator-newinstance-noconcreteclass":"No concrete extending type for \\"{type}\\".","modelmanager-resolvetype-nonsfortype":"No registered namespace for type \\"{type}\\" in \\"{context}\\".","modelmanager-resolvetype-notypeinnsforcontext":"No type \\"{type}\\" in namespace \\"{namespace}\\" for \\"{context}\\".","modelmanager-gettype-noregisteredns":"Namespace is not defined for type \\"{type}\\".","modelmanager-gettype-duplicatensimport":"Importing types from different versions (\\"{version1}\\", \\"{version2}\\") of the same namespace \\"{namespace}\\" is not permitted.","modelmanager-gettype-notypeinns":"Type \\"{type}\\" is not defined in namespace \\"{namespace}\\".","serializer-constructor-factorynull":"\\"Factory\\" cannot be \\"null\\".","serializer-constructor-modelmanagernull":"\\"ModelManager\\" cannot be \\"null\\".","serializer-tojson-notcobject":"\\"Serializer.toJSON\\" only accepts \\"Concept\\", \\"Event\\", \\"Asset\\", \\"Participant\\" or \\"Transaction\\".","util-securitycheck-novalidcontext":"A valid \\"SecurityContext\\" must be specified.","modelutil-getnamespace-nofnq":"FQN is invalid.","resourcevalidator-notresourceorconcept":"Model violation in the \\"{resourceId}\\" instance. Class \\"{classFQN}\\" has the value of \\"{invalidValue}\\". Expected a \\"Resource\\" or a \\"Concept\\".","resourcevalidator-notrelationship":"Model violation in the \\"{resourceId}\\" instance. Class \\"{classFQN}\\" has a value of \\"{invalidValue}\\". Expected a \\"Relationship\\".","resourcevalidator-fieldtypeviolation":"Model violation in the \\"{resourceId}\\" instance. The field \\"{propertyName}\\" has a value of \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type of value: \\"{fieldType}\\".","resourcevalidator-missingrequiredproperty":"The instance \\"{resourceId}\\" is missing the required field \\"{fieldName}\\".","resourcevalidator-invalidenumvalue":"Model violation in the \\"{resourceId}\\" instance. Invalid enum value of \\"{value}\\" for the field \\"{fieldName}\\".","resourcevalidator-abstractclass":"The class \\"{className}\\" is abstract and should not contain an instance.","resourcevalidator-undeclaredfield":"Instance \\"{resourceId}\\" has a property named \\"{propertyName}\\", which is not declared in \\"{fullyQualifiedTypeName}\\".","resourcevalidator-invalidfieldassignment":"Instance \\"{resourceId}\\" has a property \\"{propertyName}\\" with type \\"{objectType}\\" that is not derived from \\"{fieldType}\\".","resourcevalidator-emptyidentifier":"Instance \\"{resourceId}\\" has an empty identifier.","resourcevalidator-invalidmap":"Model violation in the \\"{resourceId}\\" instance. Invalid Type for Map Key or Value - expected String type.","typenotfounderror-defaultmessage":"Type \\"{typeName}\\" not found.","whereastvalidator-propertytypeviolation":"Property \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"{fieldType}\\".","whereastvalidator-enum-propertytypeviolation":"Enum property \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"String\\".","whereastvalidator-relationship-propertytypeviolation":"Relationship \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"String\\".","whereastvalidator-unsupportedtype":"Property \\"{propertyName}\\" of type \\"{fieldType}\\" cannot be compared with a literal value.","whereastvalidator-invalidoperator":"Property \\"{propertyName}\\" cannot be compared using the \\"{operator}\\" operator."}}')},4486:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-util","version":"3.19.6","description":"Utilities for Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":{"main":"dist/concerto-util.js","fs":false,"path":false},"typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint && npm run doc","lint":"eslint .","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"nyc mocha --recursive -t 10000","test:watch":"nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-util"},"keywords":["blockchain","hyperledger","solutions"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","eslint":"8.2.0","jsdoc":"^4.0.2","mocha":"10.0.0","node-polyfill-webpack-plugin":"2.0.1","nyc":"15.1.0","tmp-promise":"3.0.2","typescript":"5.6.3","undici":"^6.19.8"},"dependencies":{"@supercharge/promise-pool":"1.7.0","debug":"4.3.4","slash":"3.0.0"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"all":true,"check-coverage":true,"statements":99,"branches":93,"functions":98,"lines":99}}')},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-core","version":"3.20.1","description":"Core Implementation for the Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":"dist/concerto-core.js","typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint","lint":"eslint .","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"node ./scripts/api-changelog.js && cross-env TZ=UTC nyc mocha --recursive -t 10000","test:watch":"cross-env TZ=UTC nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-cto"},"keywords":["schema","data model","verification"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"@babel/preset-env":"7.26.0","acorn":"8.14.0","acorn-walk":"8.3.4","babel-loader":"9.2.1","chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","commander":"2.20.0","cross-env":"7.0.3","doctrine":"3.0.0","eslint":"8.57.1","fs-extra":"11.2.0","jsdoc":"^4.0.4","klaw":"4.1.0","mocha":"10.8.2","node-polyfill-webpack-plugin":"4.0.0","nyc":"17.1.0","sinon":"19.0.2","tmp-promise":"3.0.3","typescript":"5.7.2","webpack":"5.96.1","webpack-cli":"^5.1.4","xregexp":"5.1.1","yargs":"17.7.2"},"dependencies":{"@accordproject/concerto-cto":"3.20.1","@accordproject/concerto-metamodel":"3.10.4","@accordproject/concerto-util":"3.20.1","dayjs":"1.11.13","debug":"4.3.7","lorem-ipsum":"2.0.8","randexp":"0.5.3","semver":"7.6.3","urijs":"1.19.11","uuid":"11.0.3"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"exclude":[],"all":true,"check-coverage":true,"statements":99,"branches":97,"functions":98,"lines":99}}')}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r(5237)})()));
|