rescript-relay 2.2.0 → 2.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # master
2
2
 
3
+ # 2.2.1
4
+
5
+ ## Improvements
6
+
7
+ - Use an up-to-date `reanalyze` from the new `@rescript/tools` package, for powering the CLI.
8
+
3
9
  # 2.2.0
4
10
 
5
11
  This brings the supported Relay version to 16.
package/cli/cli.js CHANGED
@@ -469,4 +469,4 @@ var BE=OT(4293);var LE=BE.Buffer;function copyProps(pT,xT){for(var OT in pT){xT[
469
469
  *
470
470
  * Copyright (c) 2015-present, Jon Schlinkert.
471
471
  * Released under the MIT License.
472
- */const BE=OT(5680);const toRegexRange=(pT,xT,OT)=>{if(BE(pT)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(xT===void 0||pT===xT){return String(pT)}if(BE(xT)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let LE={relaxZeros:true,...OT};if(typeof LE.strictZeros==="boolean"){LE.relaxZeros=LE.strictZeros===false}let RE=String(LE.relaxZeros);let ME=String(LE.shorthand);let jE=String(LE.capture);let VE=String(LE.wrap);let UE=pT+":"+xT+"="+RE+ME+jE+VE;if(toRegexRange.cache.hasOwnProperty(UE)){return toRegexRange.cache[UE].result}let JE=Math.min(pT,xT);let qE=Math.max(pT,xT);if(Math.abs(JE-qE)===1){let OT=pT+"|"+xT;if(LE.capture){return`(${OT})`}if(LE.wrap===false){return OT}return`(?:${OT})`}let KE=hasPadding(pT)||hasPadding(xT);let zE={min:pT,max:xT,a:JE,b:qE};let $E=[];let GE=[];if(KE){zE.isPadded=KE;zE.maxLen=String(zE.max).length}if(JE<0){let pT=qE<0?Math.abs(qE):1;GE=splitToPatterns(pT,Math.abs(JE),zE,LE);JE=zE.a=0}if(qE>=0){$E=splitToPatterns(JE,qE,zE,LE)}zE.negatives=GE;zE.positives=$E;zE.result=collatePatterns(GE,$E,LE);if(LE.capture===true){zE.result=`(${zE.result})`}else if(LE.wrap!==false&&$E.length+GE.length>1){zE.result=`(?:${zE.result})`}toRegexRange.cache[UE]=zE;return zE.result};function collatePatterns(pT,xT,OT){let BE=filterPatterns(pT,xT,"-",false,OT)||[];let LE=filterPatterns(xT,pT,"",false,OT)||[];let RE=filterPatterns(pT,xT,"-?",true,OT)||[];let ME=BE.concat(RE).concat(LE);return ME.join("|")}function splitToRanges(pT,xT){let OT=1;let BE=1;let LE=countNines(pT,OT);let RE=new Set([xT]);while(pT<=LE&&LE<=xT){RE.add(LE);OT+=1;LE=countNines(pT,OT)}LE=countZeros(xT+1,BE)-1;while(pT<LE&&LE<=xT){RE.add(LE);BE+=1;LE=countZeros(xT+1,BE)-1}RE=[...RE];RE.sort(compare);return RE}function rangeToPattern(pT,xT,OT){if(pT===xT){return{pattern:pT,count:[],digits:0}}let BE=zip(pT,xT);let LE=BE.length;let RE="";let ME=0;for(let pT=0;pT<LE;pT++){let[xT,LE]=BE[pT];if(xT===LE){RE+=xT}else if(xT!=="0"||LE!=="9"){RE+=toCharacterClass(xT,LE,OT)}else{ME++}}if(ME){RE+=OT.shorthand===true?"\\d":"[0-9]"}return{pattern:RE,count:[ME],digits:LE}}function splitToPatterns(pT,xT,OT,BE){let LE=splitToRanges(pT,xT);let RE=[];let ME=pT;let jE;for(let pT=0;pT<LE.length;pT++){let xT=LE[pT];let VE=rangeToPattern(String(ME),String(xT),BE);let UE="";if(!OT.isPadded&&jE&&jE.pattern===VE.pattern){if(jE.count.length>1){jE.count.pop()}jE.count.push(VE.count[0]);jE.string=jE.pattern+toQuantifier(jE.count);ME=xT+1;continue}if(OT.isPadded){UE=padZeros(xT,OT,BE)}VE.string=UE+VE.pattern+toQuantifier(VE.count);RE.push(VE);ME=xT+1;jE=VE}return RE}function filterPatterns(pT,xT,OT,BE,LE){let RE=[];for(let LE of pT){let{string:pT}=LE;if(!BE&&!contains(xT,"string",pT)){RE.push(OT+pT)}if(BE&&contains(xT,"string",pT)){RE.push(OT+pT)}}return RE}function zip(pT,xT){let OT=[];for(let BE=0;BE<pT.length;BE++)OT.push([pT[BE],xT[BE]]);return OT}function compare(pT,xT){return pT>xT?1:xT>pT?-1:0}function contains(pT,xT,OT){return pT.some((pT=>pT[xT]===OT))}function countNines(pT,xT){return Number(String(pT).slice(0,-xT)+"9".repeat(xT))}function countZeros(pT,xT){return pT-pT%Math.pow(10,xT)}function toQuantifier(pT){let[xT=0,OT=""]=pT;if(OT||xT>1){return`{${xT+(OT?","+OT:"")}}`}return""}function toCharacterClass(pT,xT,OT){return`[${pT}${xT-pT===1?"":"-"}${xT}]`}function hasPadding(pT){return/^-?(0+)\d/.test(pT)}function padZeros(pT,xT,OT){if(!xT.isPadded){return pT}let BE=Math.abs(xT.maxLen-String(pT).length);let LE=OT.relaxZeros!==false;switch(BE){case 0:return"";case 1:return LE?"0?":"0";case 2:return LE?"0{0,2}":"00";default:{return LE?`0{0,${BE}}`:`0{${BE}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};pT.exports=toRegexRange},5278:(pT,xT,OT)=>{pT.exports=OT(1669).deprecate},4383:pT=>{pT.exports=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]]},5917:(pT,xT,OT)=>{"use strict";var BE=OT(732);var LE=OT(4383);var RE={nul:0,control:0};pT.exports=function wcwidth(pT){return wcswidth(pT,RE)};pT.exports.config=function(pT){pT=BE(pT||{},RE);return function wcwidth(xT){return wcswidth(xT,pT)}};function wcswidth(pT,xT){if(typeof pT!=="string")return wcwidth(pT,xT);var OT=0;for(var BE=0;BE<pT.length;BE++){var LE=wcwidth(pT.charCodeAt(BE),xT);if(LE<0)return-1;OT+=LE}return OT}function wcwidth(pT,xT){if(pT===0)return xT.nul;if(pT<32||pT>=127&&pT<160)return xT.control;if(bisearch(pT))return 0;return 1+(pT>=4352&&(pT<=4447||pT==9001||pT==9002||pT>=11904&&pT<=42191&&pT!=12351||pT>=44032&&pT<=55203||pT>=63744&&pT<=64255||pT>=65040&&pT<=65049||pT>=65072&&pT<=65135||pT>=65280&&pT<=65376||pT>=65504&&pT<=65510||pT>=131072&&pT<=196605||pT>=196608&&pT<=262141))}function bisearch(pT){var xT=0;var OT=LE.length-1;var BE;if(pT<LE[0][0]||pT>LE[OT][1])return false;while(OT>=xT){BE=Math.floor((xT+OT)/2);if(pT>LE[BE][1])xT=BE+1;else if(pT<LE[BE][0])OT=BE-1;else return true}return false}},5506:(pT,xT,OT)=>{"use strict";var BE=OT(5215);var LE=OT(4227);var RE=OT(8021);const ME={anchorPrefix:"a",customTags:null,indent:2,indentSeq:true,keepCstNodes:false,keepNodeTypes:true,keepBlobsInJSON:true,mapAsMap:false,maxAliasCount:100,prettyErrors:false,simpleKeys:false,version:"1.2"};const jE={get binary(){return LE.binaryOptions},set binary(pT){Object.assign(LE.binaryOptions,pT)},get bool(){return LE.boolOptions},set bool(pT){Object.assign(LE.boolOptions,pT)},get int(){return LE.intOptions},set int(pT){Object.assign(LE.intOptions,pT)},get null(){return LE.nullOptions},set null(pT){Object.assign(LE.nullOptions,pT)},get str(){return LE.strOptions},set str(pT){Object.assign(LE.strOptions,pT)}};const VE={"1.0":{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:BE.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:BE.defaultTagPrefix}]},1.2:{schema:"core",merge:false,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:BE.defaultTagPrefix}]}};function stringifyTag(pT,xT){if((pT.version||pT.options.version)==="1.0"){const pT=xT.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(pT)return"!"+pT[1];const OT=xT.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return OT?`!${OT[1]}/${OT[2]}`:`!${xT.replace(/^tag:/,"")}`}let OT=pT.tagPrefixes.find((pT=>xT.indexOf(pT.prefix)===0));if(!OT){const BE=pT.getDefaults().tagPrefixes;OT=BE&&BE.find((pT=>xT.indexOf(pT.prefix)===0))}if(!OT)return xT[0]==="!"?xT:`!<${xT}>`;const BE=xT.substr(OT.prefix.length).replace(/[!,[\]{}]/g,(pT=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[pT])));return OT.handle+BE}function getTagObject(pT,xT){if(xT instanceof LE.Alias)return LE.Alias;if(xT.tag){const OT=pT.filter((pT=>pT.tag===xT.tag));if(OT.length>0)return OT.find((pT=>pT.format===xT.format))||OT[0]}let OT,BE;if(xT instanceof LE.Scalar){BE=xT.value;const LE=pT.filter((pT=>pT.identify&&pT.identify(BE)||pT.class&&BE instanceof pT.class));OT=LE.find((pT=>pT.format===xT.format))||LE.find((pT=>!pT.format))}else{BE=xT;OT=pT.find((pT=>pT.nodeClass&&BE instanceof pT.nodeClass))}if(!OT){const pT=BE&&BE.constructor?BE.constructor.name:typeof BE;throw new Error(`Tag not resolved for ${pT} value`)}return OT}function stringifyProps(pT,xT,{anchors:OT,doc:BE}){const LE=[];const RE=BE.anchors.getName(pT);if(RE){OT[RE]=pT;LE.push(`&${RE}`)}if(pT.tag){LE.push(stringifyTag(BE,pT.tag))}else if(!xT.default){LE.push(stringifyTag(BE,xT.tag))}return LE.join(" ")}function stringify(pT,xT,OT,BE){const{anchors:RE,schema:ME}=xT.doc;let jE;if(!(pT instanceof LE.Node)){const xT={aliasNodes:[],onTagObj:pT=>jE=pT,prevObjects:new Map};pT=ME.createNode(pT,true,null,xT);for(const pT of xT.aliasNodes){pT.source=pT.source.node;let xT=RE.getName(pT.source);if(!xT){xT=RE.newName();RE.map[xT]=pT.source}}}if(pT instanceof LE.Pair)return pT.toString(xT,OT,BE);if(!jE)jE=getTagObject(ME.tags,pT);const VE=stringifyProps(pT,jE,xT);if(VE.length>0)xT.indentAtStart=(xT.indentAtStart||0)+VE.length+1;const UE=typeof jE.stringify==="function"?jE.stringify(pT,xT,OT,BE):pT instanceof LE.Scalar?LE.stringifyString(pT,xT,OT,BE):pT.toString(xT,OT,BE);if(!VE)return UE;return pT instanceof LE.Scalar||UE[0]==="{"||UE[0]==="["?`${VE} ${UE}`:`${VE}\n${xT.indent}${UE}`}class Anchors{static validAnchorNode(pT){return pT instanceof LE.Scalar||pT instanceof LE.YAMLSeq||pT instanceof LE.YAMLMap}constructor(pT){BE._defineProperty(this,"map",Object.create(null));this.prefix=pT}createAlias(pT,xT){this.setAnchor(pT,xT);return new LE.Alias(pT)}createMergePair(...pT){const xT=new LE.Merge;xT.value.items=pT.map((pT=>{if(pT instanceof LE.Alias){if(pT.source instanceof LE.YAMLMap)return pT}else if(pT instanceof LE.YAMLMap){return this.createAlias(pT)}throw new Error("Merge sources must be Map nodes or their Aliases")}));return xT}getName(pT){const{map:xT}=this;return Object.keys(xT).find((OT=>xT[OT]===pT))}getNames(){return Object.keys(this.map)}getNode(pT){return this.map[pT]}newName(pT){if(!pT)pT=this.prefix;const xT=Object.keys(this.map);for(let OT=1;true;++OT){const BE=`${pT}${OT}`;if(!xT.includes(BE))return BE}}resolveNodes(){const{map:pT,_cstAliases:xT}=this;Object.keys(pT).forEach((xT=>{pT[xT]=pT[xT].resolved}));xT.forEach((pT=>{pT.source=pT.source.resolved}));delete this._cstAliases}setAnchor(pT,xT){if(pT!=null&&!Anchors.validAnchorNode(pT)){throw new Error("Anchors may only be set for Scalar, Seq and Map nodes")}if(xT&&/[\x00-\x19\s,[\]{}]/.test(xT)){throw new Error("Anchor names must not contain whitespace or control characters")}const{map:OT}=this;const BE=pT&&Object.keys(OT).find((xT=>OT[xT]===pT));if(BE){if(!xT){return BE}else if(BE!==xT){delete OT[BE];OT[xT]=pT}}else{if(!xT){if(!pT)return null;xT=this.newName()}OT[xT]=pT}return xT}}const visit=(pT,xT)=>{if(pT&&typeof pT==="object"){const{tag:OT}=pT;if(pT instanceof LE.Collection){if(OT)xT[OT]=true;pT.items.forEach((pT=>visit(pT,xT)))}else if(pT instanceof LE.Pair){visit(pT.key,xT);visit(pT.value,xT)}else if(pT instanceof LE.Scalar){if(OT)xT[OT]=true}}return xT};const listTagNames=pT=>Object.keys(visit(pT,{}));function parseContents(pT,xT){const OT={before:[],after:[]};let RE=undefined;let ME=false;for(const jE of xT){if(jE.valueRange){if(RE!==undefined){const xT="Document contains trailing content not separated by a ... or --- line";pT.errors.push(new BE.YAMLSyntaxError(jE,xT));break}const xT=LE.resolveNode(pT,jE);if(ME){xT.spaceBefore=true;ME=false}RE=xT}else if(jE.comment!==null){const pT=RE===undefined?OT.before:OT.after;pT.push(jE.comment)}else if(jE.type===BE.Type.BLANK_LINE){ME=true;if(RE===undefined&&OT.before.length>0&&!pT.commentBefore){pT.commentBefore=OT.before.join("\n");OT.before=[]}}}pT.contents=RE||null;if(!RE){pT.comment=OT.before.concat(OT.after).join("\n")||null}else{const xT=OT.before.join("\n");if(xT){const pT=RE instanceof LE.Collection&&RE.items[0]?RE.items[0]:RE;pT.commentBefore=pT.commentBefore?`${xT}\n${pT.commentBefore}`:xT}pT.comment=OT.after.join("\n")||null}}function resolveTagDirective({tagPrefixes:pT},xT){const[OT,LE]=xT.parameters;if(!OT||!LE){const pT="Insufficient parameters given for %TAG directive";throw new BE.YAMLSemanticError(xT,pT)}if(pT.some((pT=>pT.handle===OT))){const pT="The %TAG directive must only be given at most once per handle in the same document.";throw new BE.YAMLSemanticError(xT,pT)}return{handle:OT,prefix:LE}}function resolveYamlDirective(pT,xT){let[OT]=xT.parameters;if(xT.name==="YAML:1.0")OT="1.0";if(!OT){const pT="Insufficient parameters given for %YAML directive";throw new BE.YAMLSemanticError(xT,pT)}if(!VE[OT]){const LE=pT.version||pT.options.version;const RE=`Document will be parsed as YAML ${LE} rather than YAML ${OT}`;pT.warnings.push(new BE.YAMLWarning(xT,RE))}return OT}function parseDirectives(pT,xT,OT){const LE=[];let RE=false;for(const OT of xT){const{comment:xT,name:ME}=OT;switch(ME){case"TAG":try{pT.tagPrefixes.push(resolveTagDirective(pT,OT))}catch(xT){pT.errors.push(xT)}RE=true;break;case"YAML":case"YAML:1.0":if(pT.version){const xT="The %YAML directive must only be given at most once per document.";pT.errors.push(new BE.YAMLSemanticError(OT,xT))}try{pT.version=resolveYamlDirective(pT,OT)}catch(xT){pT.errors.push(xT)}RE=true;break;default:if(ME){const xT=`YAML only supports %TAG and %YAML directives, and not %${ME}`;pT.warnings.push(new BE.YAMLWarning(OT,xT))}}if(xT)LE.push(xT)}if(OT&&!RE&&"1.1"===(pT.version||OT.version||pT.options.version)){const copyTagPrefix=({handle:pT,prefix:xT})=>({handle:pT,prefix:xT});pT.tagPrefixes=OT.tagPrefixes.map(copyTagPrefix);pT.version=OT.version}pT.commentBefore=LE.join("\n")||null}function assertCollection(pT){if(pT instanceof LE.Collection)return true;throw new Error("Expected a YAML collection as document contents")}class Document{constructor(pT){this.anchors=new Anchors(pT.anchorPrefix);this.commentBefore=null;this.comment=null;this.contents=null;this.directivesEndMarker=null;this.errors=[];this.options=pT;this.schema=null;this.tagPrefixes=[];this.version=null;this.warnings=[]}add(pT){assertCollection(this.contents);return this.contents.add(pT)}addIn(pT,xT){assertCollection(this.contents);this.contents.addIn(pT,xT)}delete(pT){assertCollection(this.contents);return this.contents.delete(pT)}deleteIn(pT){if(LE.isEmptyPath(pT)){if(this.contents==null)return false;this.contents=null;return true}assertCollection(this.contents);return this.contents.deleteIn(pT)}getDefaults(){return Document.defaults[this.version]||Document.defaults[this.options.version]||{}}get(pT,xT){return this.contents instanceof LE.Collection?this.contents.get(pT,xT):undefined}getIn(pT,xT){if(LE.isEmptyPath(pT))return!xT&&this.contents instanceof LE.Scalar?this.contents.value:this.contents;return this.contents instanceof LE.Collection?this.contents.getIn(pT,xT):undefined}has(pT){return this.contents instanceof LE.Collection?this.contents.has(pT):false}hasIn(pT){if(LE.isEmptyPath(pT))return this.contents!==undefined;return this.contents instanceof LE.Collection?this.contents.hasIn(pT):false}set(pT,xT){assertCollection(this.contents);this.contents.set(pT,xT)}setIn(pT,xT){if(LE.isEmptyPath(pT))this.contents=xT;else{assertCollection(this.contents);this.contents.setIn(pT,xT)}}setSchema(pT,xT){if(!pT&&!xT&&this.schema)return;if(typeof pT==="number")pT=pT.toFixed(1);if(pT==="1.0"||pT==="1.1"||pT==="1.2"){if(this.version)this.version=pT;else this.options.version=pT;delete this.options.schema}else if(pT&&typeof pT==="string"){this.options.schema=pT}if(Array.isArray(xT))this.options.customTags=xT;const OT=Object.assign({},this.getDefaults(),this.options);this.schema=new RE.Schema(OT)}parse(pT,xT){if(this.options.keepCstNodes)this.cstNode=pT;if(this.options.keepNodeTypes)this.type="DOCUMENT";const{directives:OT=[],contents:LE=[],directivesEndMarker:RE,error:ME,valueRange:jE}=pT;if(ME){if(!ME.source)ME.source=this;this.errors.push(ME)}parseDirectives(this,OT,xT);if(RE)this.directivesEndMarker=true;this.range=jE?[jE.start,jE.end]:null;this.setSchema();this.anchors._cstAliases=[];parseContents(this,LE);this.anchors.resolveNodes();if(this.options.prettyErrors){for(const pT of this.errors)if(pT instanceof BE.YAMLError)pT.makePretty();for(const pT of this.warnings)if(pT instanceof BE.YAMLError)pT.makePretty()}return this}listNonDefaultTags(){return listTagNames(this.contents).filter((pT=>pT.indexOf(RE.Schema.defaultPrefix)!==0))}setTagPrefix(pT,xT){if(pT[0]!=="!"||pT[pT.length-1]!=="!")throw new Error("Handle must start and end with !");if(xT){const OT=this.tagPrefixes.find((xT=>xT.handle===pT));if(OT)OT.prefix=xT;else this.tagPrefixes.push({handle:pT,prefix:xT})}else{this.tagPrefixes=this.tagPrefixes.filter((xT=>xT.handle!==pT))}}toJSON(pT,xT){const{keepBlobsInJSON:OT,mapAsMap:BE,maxAliasCount:RE}=this.options;const ME=OT&&(typeof pT!=="string"||!(this.contents instanceof LE.Scalar));const jE={doc:this,indentStep:" ",keep:ME,mapAsMap:ME&&!!BE,maxAliasCount:RE,stringify:stringify};const VE=Object.keys(this.anchors.map);if(VE.length>0)jE.anchors=new Map(VE.map((pT=>[this.anchors.map[pT],{alias:[],aliasCount:0,count:1}])));const UE=LE.toJSON(this.contents,pT,jE);if(typeof xT==="function"&&jE.anchors)for(const{count:pT,res:OT}of jE.anchors.values())xT(OT,pT);return UE}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const pT=this.options.indent;if(!Number.isInteger(pT)||pT<=0){const xT=JSON.stringify(pT);throw new Error(`"indent" option must be a positive integer, not ${xT}`)}this.setSchema();const xT=[];let OT=false;if(this.version){let pT="%YAML 1.2";if(this.schema.name==="yaml-1.1"){if(this.version==="1.0")pT="%YAML:1.0";else if(this.version==="1.1")pT="%YAML 1.1"}xT.push(pT);OT=true}const BE=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:pT,prefix:LE})=>{if(BE.some((pT=>pT.indexOf(LE)===0))){xT.push(`%TAG ${pT} ${LE}`);OT=true}}));if(OT||this.directivesEndMarker)xT.push("---");if(this.commentBefore){if(OT||!this.directivesEndMarker)xT.unshift("");xT.unshift(this.commentBefore.replace(/^/gm,"#"))}const RE={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(pT),stringify:stringify};let ME=false;let jE=null;if(this.contents){if(this.contents instanceof LE.Node){if(this.contents.spaceBefore&&(OT||this.directivesEndMarker))xT.push("");if(this.contents.commentBefore)xT.push(this.contents.commentBefore.replace(/^/gm,"#"));RE.forceBlockIndent=!!this.comment;jE=this.contents.comment}const pT=jE?null:()=>ME=true;const BE=stringify(this.contents,RE,(()=>jE=null),pT);xT.push(LE.addComment(BE,"",jE))}else if(this.contents!==undefined){xT.push(stringify(this.contents,RE))}if(this.comment){if((!ME||jE)&&xT[xT.length-1]!=="")xT.push("");xT.push(this.comment.replace(/^/gm,"#"))}return xT.join("\n")+"\n"}}BE._defineProperty(Document,"defaults",VE);xT.Document=Document;xT.defaultOptions=ME;xT.scalarOptions=jE},5215:(pT,xT)=>{"use strict";const OT={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."};const BE={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"};const LE="tag:yaml.org,2002:";const RE={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function findLineStarts(pT){const xT=[0];let OT=pT.indexOf("\n");while(OT!==-1){OT+=1;xT.push(OT);OT=pT.indexOf("\n",OT)}return xT}function getSrcInfo(pT){let xT,OT;if(typeof pT==="string"){xT=findLineStarts(pT);OT=pT}else{if(Array.isArray(pT))pT=pT[0];if(pT&&pT.context){if(!pT.lineStarts)pT.lineStarts=findLineStarts(pT.context.src);xT=pT.lineStarts;OT=pT.context.src}}return{lineStarts:xT,src:OT}}function getLinePos(pT,xT){if(typeof pT!=="number"||pT<0)return null;const{lineStarts:OT,src:BE}=getSrcInfo(xT);if(!OT||!BE||pT>BE.length)return null;for(let xT=0;xT<OT.length;++xT){const BE=OT[xT];if(pT<BE){return{line:xT,col:pT-OT[xT-1]+1}}if(pT===BE)return{line:xT+1,col:1}}const LE=OT.length;return{line:LE,col:pT-OT[LE-1]+1}}function getLine(pT,xT){const{lineStarts:OT,src:BE}=getSrcInfo(xT);if(!OT||!(pT>=1)||pT>OT.length)return null;const LE=OT[pT-1];let RE=OT[pT];while(RE&&RE>LE&&BE[RE-1]==="\n")--RE;return BE.slice(LE,RE)}function getPrettyContext({start:pT,end:xT},OT,BE=80){let LE=getLine(pT.line,OT);if(!LE)return null;let{col:RE}=pT;if(LE.length>BE){if(RE<=BE-10){LE=LE.substr(0,BE-1)+"…"}else{const pT=Math.round(BE/2);if(LE.length>RE+pT)LE=LE.substr(0,RE+pT-1)+"…";RE-=LE.length-BE;LE="…"+LE.substr(1-BE)}}let ME=1;let jE="";if(xT){if(xT.line===pT.line&&RE+(xT.col-pT.col)<=BE+1){ME=xT.col-pT.col}else{ME=Math.min(LE.length+1,BE)-RE;jE="…"}}const VE=RE>1?" ".repeat(RE-1):"";const UE="^".repeat(ME);return`${LE}\n${VE}${UE}${jE}`}class Range{static copy(pT){return new Range(pT.start,pT.end)}constructor(pT,xT){this.start=pT;this.end=xT||pT}isEmpty(){return typeof this.start!=="number"||!this.end||this.end<=this.start}setOrigRange(pT,xT){const{start:OT,end:BE}=this;if(pT.length===0||BE<=pT[0]){this.origStart=OT;this.origEnd=BE;return xT}let LE=xT;while(LE<pT.length){if(pT[LE]>OT)break;else++LE}this.origStart=OT+LE;const RE=LE;while(LE<pT.length){if(pT[LE]>=BE)break;else++LE}this.origEnd=BE+LE;return RE}}class Node{static addStringTerminator(pT,xT,OT){if(OT[OT.length-1]==="\n")return OT;const BE=Node.endOfWhiteSpace(pT,xT);return BE>=pT.length||pT[BE]==="\n"?OT+"\n":OT}static atDocumentBoundary(pT,xT,BE){const LE=pT[xT];if(!LE)return true;const RE=pT[xT-1];if(RE&&RE!=="\n")return false;if(BE){if(LE!==BE)return false}else{if(LE!==OT.DIRECTIVES_END&&LE!==OT.DOCUMENT_END)return false}const ME=pT[xT+1];const jE=pT[xT+2];if(ME!==LE||jE!==LE)return false;const VE=pT[xT+3];return!VE||VE==="\n"||VE==="\t"||VE===" "}static endOfIdentifier(pT,xT){let OT=pT[xT];const BE=OT==="<";const LE=BE?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];while(OT&&LE.indexOf(OT)===-1)OT=pT[xT+=1];if(BE&&OT===">")xT+=1;return xT}static endOfIndent(pT,xT){let OT=pT[xT];while(OT===" ")OT=pT[xT+=1];return xT}static endOfLine(pT,xT){let OT=pT[xT];while(OT&&OT!=="\n")OT=pT[xT+=1];return xT}static endOfWhiteSpace(pT,xT){let OT=pT[xT];while(OT==="\t"||OT===" ")OT=pT[xT+=1];return xT}static startOfLine(pT,xT){let OT=pT[xT-1];if(OT==="\n")return xT;while(OT&&OT!=="\n")OT=pT[xT-=1];return xT+1}static endOfBlockIndent(pT,xT,OT){const BE=Node.endOfIndent(pT,OT);if(BE>OT+xT){return BE}else{const xT=Node.endOfWhiteSpace(pT,BE);const OT=pT[xT];if(!OT||OT==="\n")return xT}return null}static atBlank(pT,xT,OT){const BE=pT[xT];return BE==="\n"||BE==="\t"||BE===" "||OT&&!BE}static nextNodeIsIndented(pT,xT,OT){if(!pT||xT<0)return false;if(xT>0)return true;return OT&&pT==="-"}static normalizeOffset(pT,xT){const OT=pT[xT];return!OT?xT:OT!=="\n"&&pT[xT-1]==="\n"?xT-1:Node.endOfWhiteSpace(pT,xT)}static foldNewline(pT,xT,OT){let BE=0;let LE=false;let RE="";let ME=pT[xT+1];while(ME===" "||ME==="\t"||ME==="\n"){switch(ME){case"\n":BE=0;xT+=1;RE+="\n";break;case"\t":if(BE<=OT)LE=true;xT=Node.endOfWhiteSpace(pT,xT+2)-1;break;case" ":BE+=1;xT+=1;break}ME=pT[xT+1]}if(!RE)RE=" ";if(ME&&BE<=OT)LE=true;return{fold:RE,offset:xT,error:LE}}constructor(pT,xT,OT){Object.defineProperty(this,"context",{value:OT||null,writable:true});this.error=null;this.range=null;this.valueRange=null;this.props=xT||[];this.type=pT;this.value=null}getPropValue(pT,xT,OT){if(!this.context)return null;const{src:BE}=this.context;const LE=this.props[pT];return LE&&BE[LE.start]===xT?BE.slice(LE.start+(OT?1:0),LE.end):null}get anchor(){for(let pT=0;pT<this.props.length;++pT){const xT=this.getPropValue(pT,OT.ANCHOR,true);if(xT!=null)return xT}return null}get comment(){const pT=[];for(let xT=0;xT<this.props.length;++xT){const BE=this.getPropValue(xT,OT.COMMENT,true);if(BE!=null)pT.push(BE)}return pT.length>0?pT.join("\n"):null}commentHasRequiredWhitespace(pT){const{src:xT}=this.context;if(this.header&&pT===this.header.end)return false;if(!this.valueRange)return false;const{end:OT}=this.valueRange;return pT!==OT||Node.atBlank(xT,OT-1)}get hasComment(){if(this.context){const{src:pT}=this.context;for(let xT=0;xT<this.props.length;++xT){if(pT[this.props[xT].start]===OT.COMMENT)return true}}return false}get hasProps(){if(this.context){const{src:pT}=this.context;for(let xT=0;xT<this.props.length;++xT){if(pT[this.props[xT].start]!==OT.COMMENT)return true}}return false}get includesTrailingLines(){return false}get jsonLike(){const pT=[BE.FLOW_MAP,BE.FLOW_SEQ,BE.QUOTE_DOUBLE,BE.QUOTE_SINGLE];return pT.indexOf(this.type)!==-1}get rangeAsLinePos(){if(!this.range||!this.context)return undefined;const pT=getLinePos(this.range.start,this.context.root);if(!pT)return undefined;const xT=getLinePos(this.range.end,this.context.root);return{start:pT,end:xT}}get rawValue(){if(!this.valueRange||!this.context)return null;const{start:pT,end:xT}=this.valueRange;return this.context.src.slice(pT,xT)}get tag(){for(let pT=0;pT<this.props.length;++pT){const xT=this.getPropValue(pT,OT.TAG,false);if(xT!=null){if(xT[1]==="<"){return{verbatim:xT.slice(2,-1)}}else{const[pT,OT,BE]=xT.match(/^(.*!)([^!]*)$/);return{handle:OT,suffix:BE}}}}return null}get valueRangeContainsNewline(){if(!this.valueRange||!this.context)return false;const{start:pT,end:xT}=this.valueRange;const{src:OT}=this.context;for(let BE=pT;BE<xT;++BE){if(OT[BE]==="\n")return true}return false}parseComment(pT){const{src:xT}=this.context;if(xT[pT]===OT.COMMENT){const OT=Node.endOfLine(xT,pT+1);const BE=new Range(pT,OT);this.props.push(BE);return OT}return pT}setOrigRanges(pT,xT){if(this.range)xT=this.range.setOrigRange(pT,xT);if(this.valueRange)this.valueRange.setOrigRange(pT,xT);this.props.forEach((OT=>OT.setOrigRange(pT,xT)));return xT}toString(){const{context:{src:pT},range:xT,value:OT}=this;if(OT!=null)return OT;const BE=pT.slice(xT.start,xT.end);return Node.addStringTerminator(pT,xT.end,BE)}}class YAMLError extends Error{constructor(pT,xT,OT){if(!OT||!(xT instanceof Node))throw new Error(`Invalid arguments for new ${pT}`);super();this.name=pT;this.message=OT;this.source=xT}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const pT=this.source.context&&this.source.context.root;if(typeof this.offset==="number"){this.range=new Range(this.offset,this.offset+1);const xT=pT&&getLinePos(this.offset,pT);if(xT){const pT={line:xT.line,col:xT.col+1};this.linePos={start:xT,end:pT}}delete this.offset}else{this.range=this.source.range;this.linePos=this.source.rangeAsLinePos}if(this.linePos){const{line:xT,col:OT}=this.linePos.start;this.message+=` at line ${xT}, column ${OT}`;const BE=pT&&getPrettyContext(this.linePos,pT);if(BE)this.message+=`:\n\n${BE}\n`}delete this.source}}class YAMLReferenceError extends YAMLError{constructor(pT,xT){super("YAMLReferenceError",pT,xT)}}class YAMLSemanticError extends YAMLError{constructor(pT,xT){super("YAMLSemanticError",pT,xT)}}class YAMLSyntaxError extends YAMLError{constructor(pT,xT){super("YAMLSyntaxError",pT,xT)}}class YAMLWarning extends YAMLError{constructor(pT,xT){super("YAMLWarning",pT,xT)}}function _defineProperty(pT,xT,OT){if(xT in pT){Object.defineProperty(pT,xT,{value:OT,enumerable:true,configurable:true,writable:true})}else{pT[xT]=OT}return pT}class PlainValue extends Node{static endOfLine(pT,xT,OT){let BE=pT[xT];let LE=xT;while(BE&&BE!=="\n"){if(OT&&(BE==="["||BE==="]"||BE==="{"||BE==="}"||BE===","))break;const xT=pT[LE+1];if(BE===":"&&(!xT||xT==="\n"||xT==="\t"||xT===" "||OT&&xT===","))break;if((BE===" "||BE==="\t")&&xT==="#")break;LE+=1;BE=xT}return LE}get strValue(){if(!this.valueRange||!this.context)return null;let{start:pT,end:xT}=this.valueRange;const{src:OT}=this.context;let BE=OT[xT-1];while(pT<xT&&(BE==="\n"||BE==="\t"||BE===" "))BE=OT[--xT-1];let LE="";for(let BE=pT;BE<xT;++BE){const pT=OT[BE];if(pT==="\n"){const{fold:pT,offset:xT}=Node.foldNewline(OT,BE,-1);LE+=pT;BE=xT}else if(pT===" "||pT==="\t"){const RE=BE;let ME=OT[BE+1];while(BE<xT&&(ME===" "||ME==="\t")){BE+=1;ME=OT[BE+1]}if(ME!=="\n")LE+=BE>RE?OT.slice(RE,BE+1):pT}else{LE+=pT}}const RE=OT[pT];switch(RE){case"\t":{const pT="Plain value cannot start with a tab character";const xT=[new YAMLSemanticError(this,pT)];return{errors:xT,str:LE}}case"@":case"`":{const pT=`Plain value cannot start with reserved character ${RE}`;const xT=[new YAMLSemanticError(this,pT)];return{errors:xT,str:LE}}default:return LE}}parseBlockValue(pT){const{indent:xT,inFlow:OT,src:BE}=this.context;let LE=pT;let RE=pT;for(let pT=BE[LE];pT==="\n";pT=BE[LE]){if(Node.atDocumentBoundary(BE,LE+1))break;const pT=Node.endOfBlockIndent(BE,xT,LE+1);if(pT===null||BE[pT]==="#")break;if(BE[pT]==="\n"){LE=pT}else{RE=PlainValue.endOfLine(BE,pT,OT);LE=RE}}if(this.valueRange.isEmpty())this.valueRange.start=pT;this.valueRange.end=RE;return RE}parse(pT,xT){this.context=pT;const{inFlow:OT,src:BE}=pT;let LE=xT;const RE=BE[LE];if(RE&&RE!=="#"&&RE!=="\n"){LE=PlainValue.endOfLine(BE,xT,OT)}this.valueRange=new Range(xT,LE);LE=Node.endOfWhiteSpace(BE,LE);LE=this.parseComment(LE);if(!this.hasComment||this.valueRange.isEmpty()){LE=this.parseBlockValue(LE)}return LE}}xT.Char=OT;xT.Node=Node;xT.PlainValue=PlainValue;xT.Range=Range;xT.Type=BE;xT.YAMLError=YAMLError;xT.YAMLReferenceError=YAMLReferenceError;xT.YAMLSemanticError=YAMLSemanticError;xT.YAMLSyntaxError=YAMLSyntaxError;xT.YAMLWarning=YAMLWarning;xT._defineProperty=_defineProperty;xT.defaultTagPrefix=LE;xT.defaultTags=RE},8021:(pT,xT,OT)=>{"use strict";var BE=OT(5215);var LE=OT(4227);var RE=OT(6003);function createMap(pT,xT,OT){const BE=new LE.YAMLMap(pT);if(xT instanceof Map){for(const[LE,RE]of xT)BE.items.push(pT.createPair(LE,RE,OT))}else if(xT&&typeof xT==="object"){for(const LE of Object.keys(xT))BE.items.push(pT.createPair(LE,xT[LE],OT))}if(typeof pT.sortMapEntries==="function"){BE.items.sort(pT.sortMapEntries)}return BE}const ME={createNode:createMap,default:true,nodeClass:LE.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:LE.resolveMap};function createSeq(pT,xT,OT){const BE=new LE.YAMLSeq(pT);if(xT&&xT[Symbol.iterator]){for(const LE of xT){const xT=pT.createNode(LE,OT.wrapScalars,null,OT);BE.items.push(xT)}}return BE}const jE={createNode:createSeq,default:true,nodeClass:LE.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:LE.resolveSeq};const VE={identify:pT=>typeof pT==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:LE.resolveString,stringify(pT,xT,OT,BE){xT=Object.assign({actualString:true},xT);return LE.stringifyString(pT,xT,OT,BE)},options:LE.strOptions};const UE=[ME,jE,VE];const intIdentify$2=pT=>typeof pT==="bigint"||Number.isInteger(pT);const intResolve$1=(pT,xT,OT)=>LE.intOptions.asBigInt?BigInt(pT):parseInt(xT,OT);function intStringify$1(pT,xT,OT){const{value:BE}=pT;if(intIdentify$2(BE)&&BE>=0)return OT+BE.toString(xT);return LE.stringifyNumber(pT)}const JE={identify:pT=>pT==null,createNode:(pT,xT,OT)=>OT.wrapScalars?new LE.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:LE.nullOptions,stringify:()=>LE.nullOptions.nullStr};const qE={identify:pT=>typeof pT==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:pT=>pT[0]==="t"||pT[0]==="T",options:LE.boolOptions,stringify:({value:pT})=>pT?LE.boolOptions.trueStr:LE.boolOptions.falseStr};const KE={identify:pT=>intIdentify$2(pT)&&pT>=0,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(pT,xT)=>intResolve$1(pT,xT,8),options:LE.intOptions,stringify:pT=>intStringify$1(pT,8,"0o")};const zE={identify:intIdentify$2,default:true,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:pT=>intResolve$1(pT,pT,10),options:LE.intOptions,stringify:LE.stringifyNumber};const $E={identify:pT=>intIdentify$2(pT)&&pT>=0,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(pT,xT)=>intResolve$1(pT,xT,16),options:LE.intOptions,stringify:pT=>intStringify$1(pT,16,"0x")};const GE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(pT,xT)=>xT?NaN:pT[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:LE.stringifyNumber};const WE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:pT=>parseFloat(pT),stringify:({value:pT})=>Number(pT).toExponential()};const YE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(pT,xT,OT){const BE=xT||OT;const RE=new LE.Scalar(parseFloat(pT));if(BE&&BE[BE.length-1]==="0")RE.minFractionDigits=BE.length;return RE},stringify:LE.stringifyNumber};const HE=UE.concat([JE,qE,KE,zE,$E,GE,WE,YE]);const intIdentify$1=pT=>typeof pT==="bigint"||Number.isInteger(pT);const stringifyJSON=({value:pT})=>JSON.stringify(pT);const XE=[ME,jE,{identify:pT=>typeof pT==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:LE.resolveString,stringify:stringifyJSON},{identify:pT=>pT==null,createNode:(pT,xT,OT)=>OT.wrapScalars?new LE.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:stringifyJSON},{identify:pT=>typeof pT==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:pT=>pT==="true",stringify:stringifyJSON},{identify:intIdentify$1,default:true,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:pT=>LE.intOptions.asBigInt?BigInt(pT):parseInt(pT,10),stringify:({value:pT})=>intIdentify$1(pT)?pT.toString():JSON.stringify(pT)},{identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:pT=>parseFloat(pT),stringify:stringifyJSON}];XE.scalarFallback=pT=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(pT)}`)};const boolStringify=({value:pT})=>pT?LE.boolOptions.trueStr:LE.boolOptions.falseStr;const intIdentify=pT=>typeof pT==="bigint"||Number.isInteger(pT);function intResolve(pT,xT,OT){let BE=xT.replace(/_/g,"");if(LE.intOptions.asBigInt){switch(OT){case 2:BE=`0b${BE}`;break;case 8:BE=`0o${BE}`;break;case 16:BE=`0x${BE}`;break}const xT=BigInt(BE);return pT==="-"?BigInt(-1)*xT:xT}const RE=parseInt(BE,OT);return pT==="-"?-1*RE:RE}function intStringify(pT,xT,OT){const{value:BE}=pT;if(intIdentify(BE)){const pT=BE.toString(xT);return BE<0?"-"+OT+pT.substr(1):OT+pT}return LE.stringifyNumber(pT)}const QE=UE.concat([{identify:pT=>pT==null,createNode:(pT,xT,OT)=>OT.wrapScalars?new LE.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:LE.nullOptions,stringify:()=>LE.nullOptions.nullStr},{identify:pT=>typeof pT==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>true,options:LE.boolOptions,stringify:boolStringify},{identify:pT=>typeof pT==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>false,options:LE.boolOptions,stringify:boolStringify},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(pT,xT,OT)=>intResolve(xT,OT,2),stringify:pT=>intStringify(pT,2,"0b")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(pT,xT,OT)=>intResolve(xT,OT,8),stringify:pT=>intStringify(pT,8,"0")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(pT,xT,OT)=>intResolve(xT,OT,10),stringify:LE.stringifyNumber},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(pT,xT,OT)=>intResolve(xT,OT,16),stringify:pT=>intStringify(pT,16,"0x")},{identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(pT,xT)=>xT?NaN:pT[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:LE.stringifyNumber},{identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:pT=>parseFloat(pT.replace(/_/g,"")),stringify:({value:pT})=>Number(pT).toExponential()},{identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(pT,xT){const OT=new LE.Scalar(parseFloat(pT.replace(/_/g,"")));if(xT){const pT=xT.replace(/_/g,"");if(pT[pT.length-1]==="0")OT.minFractionDigits=pT.length}return OT},stringify:LE.stringifyNumber}],RE.binary,RE.omap,RE.pairs,RE.set,RE.intTime,RE.floatTime,RE.timestamp);const ZE={core:HE,failsafe:UE,json:XE,yaml11:QE};const eC={binary:RE.binary,bool:qE,float:YE,floatExp:WE,floatNaN:GE,floatTime:RE.floatTime,int:zE,intHex:$E,intOct:KE,intTime:RE.intTime,map:ME,null:JE,omap:RE.omap,pairs:RE.pairs,seq:jE,set:RE.set,timestamp:RE.timestamp};function findTagObject(pT,xT,OT){if(xT){const pT=OT.filter((pT=>pT.tag===xT));const BE=pT.find((pT=>!pT.format))||pT[0];if(!BE)throw new Error(`Tag ${xT} not found`);return BE}return OT.find((xT=>(xT.identify&&xT.identify(pT)||xT.class&&pT instanceof xT.class)&&!xT.format))}function createNode(pT,xT,OT){if(pT instanceof LE.Node)return pT;const{defaultPrefix:BE,onTagObj:RE,prevObjects:VE,schema:UE,wrapScalars:JE}=OT;if(xT&&xT.startsWith("!!"))xT=BE+xT.slice(2);let qE=findTagObject(pT,xT,UE.tags);if(!qE){if(typeof pT.toJSON==="function")pT=pT.toJSON();if(!pT||typeof pT!=="object")return JE?new LE.Scalar(pT):pT;qE=pT instanceof Map?ME:pT[Symbol.iterator]?jE:ME}if(RE){RE(qE);delete OT.onTagObj}const KE={value:undefined,node:undefined};if(pT&&typeof pT==="object"&&VE){const xT=VE.get(pT);if(xT){const pT=new LE.Alias(xT);OT.aliasNodes.push(pT);return pT}KE.value=pT;VE.set(pT,KE)}KE.node=qE.createNode?qE.createNode(OT.schema,pT,OT):JE?new LE.Scalar(pT):pT;if(xT&&KE.node instanceof LE.Node)KE.node.tag=xT;return KE.node}function getSchemaTags(pT,xT,OT,BE){let LE=pT[BE.replace(/\W/g,"")];if(!LE){const xT=Object.keys(pT).map((pT=>JSON.stringify(pT))).join(", ");throw new Error(`Unknown schema "${BE}"; use one of ${xT}`)}if(Array.isArray(OT)){for(const pT of OT)LE=LE.concat(pT)}else if(typeof OT==="function"){LE=OT(LE.slice())}for(let pT=0;pT<LE.length;++pT){const OT=LE[pT];if(typeof OT==="string"){const BE=xT[OT];if(!BE){const pT=Object.keys(xT).map((pT=>JSON.stringify(pT))).join(", ");throw new Error(`Unknown custom tag "${OT}"; use one of ${pT}`)}LE[pT]=BE}}return LE}const sortMapEntriesByKey=(pT,xT)=>pT.key<xT.key?-1:pT.key>xT.key?1:0;class Schema{constructor({customTags:pT,merge:xT,schema:OT,sortMapEntries:BE,tags:LE}){this.merge=!!xT;this.name=OT;this.sortMapEntries=BE===true?sortMapEntriesByKey:BE||null;if(!pT&&LE)RE.warnOptionDeprecation("tags","customTags");this.tags=getSchemaTags(ZE,eC,pT||LE,OT)}createNode(pT,xT,OT,BE){const LE={defaultPrefix:Schema.defaultPrefix,schema:this,wrapScalars:xT};const RE=BE?Object.assign(BE,LE):LE;return createNode(pT,OT,RE)}createPair(pT,xT,OT){if(!OT)OT={wrapScalars:true};const BE=this.createNode(pT,OT.wrapScalars,null,OT);const RE=this.createNode(xT,OT.wrapScalars,null,OT);return new LE.Pair(BE,RE)}}BE._defineProperty(Schema,"defaultPrefix",BE.defaultTagPrefix);BE._defineProperty(Schema,"defaultTags",BE.defaultTags);xT.Schema=Schema},5065:(pT,xT,OT)=>{"use strict";var BE=OT(445);var LE=OT(5506);var RE=OT(8021);var ME=OT(5215);var jE=OT(6003);OT(4227);function createNode(pT,xT=true,OT){if(OT===undefined&&typeof xT==="string"){OT=xT;xT=true}const BE=Object.assign({},LE.Document.defaults[LE.defaultOptions.version],LE.defaultOptions);const ME=new RE.Schema(BE);return ME.createNode(pT,xT,OT)}class Document extends LE.Document{constructor(pT){super(Object.assign({},LE.defaultOptions,pT))}}function parseAllDocuments(pT,xT){const OT=[];let LE;for(const RE of BE.parse(pT)){const pT=new Document(xT);pT.parse(RE,LE);OT.push(pT);LE=pT}return OT}function parseDocument(pT,xT){const OT=BE.parse(pT);const LE=new Document(xT).parse(OT[0]);if(OT.length>1){const pT="Source contains multiple documents; please use YAML.parseAllDocuments()";LE.errors.unshift(new ME.YAMLSemanticError(OT[1],pT))}return LE}function parse(pT,xT){const OT=parseDocument(pT,xT);OT.warnings.forEach((pT=>jE.warn(pT)));if(OT.errors.length>0)throw OT.errors[0];return OT.toJSON()}function stringify(pT,xT){const OT=new Document(xT);OT.contents=pT;return String(OT)}const VE={createNode:createNode,defaultOptions:LE.defaultOptions,Document:Document,parse:parse,parseAllDocuments:parseAllDocuments,parseCST:BE.parse,parseDocument:parseDocument,scalarOptions:LE.scalarOptions,stringify:stringify};xT.YAML=VE},445:(pT,xT,OT)=>{"use strict";var BE=OT(5215);class BlankLine extends BE.Node{constructor(){super(BE.Type.BLANK_LINE)}get includesTrailingLines(){return true}parse(pT,xT){this.context=pT;this.range=new BE.Range(xT,xT+1);return xT+1}}class CollectionItem extends BE.Node{constructor(pT,xT){super(pT,xT);this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(pT,xT){this.context=pT;const{parseNode:OT,src:LE}=pT;let{atLineStart:RE,lineStart:ME}=pT;if(!RE&&this.type===BE.Type.SEQ_ITEM)this.error=new BE.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line");const jE=RE?xT-ME:pT.indent;let VE=BE.Node.endOfWhiteSpace(LE,xT+1);let UE=LE[VE];const JE=UE==="#";const qE=[];let KE=null;while(UE==="\n"||UE==="#"){if(UE==="#"){const pT=BE.Node.endOfLine(LE,VE+1);qE.push(new BE.Range(VE,pT));VE=pT}else{RE=true;ME=VE+1;const pT=BE.Node.endOfWhiteSpace(LE,ME);if(LE[pT]==="\n"&&qE.length===0){KE=new BlankLine;ME=KE.parse({src:LE},ME)}VE=BE.Node.endOfIndent(LE,ME)}UE=LE[VE]}if(BE.Node.nextNodeIsIndented(UE,VE-(ME+jE),this.type!==BE.Type.SEQ_ITEM)){this.node=OT({atLineStart:RE,inCollection:false,indent:jE,lineStart:ME,parent:this},VE)}else if(UE&&ME>xT+1){VE=ME-1}if(this.node){if(KE){const xT=pT.parent.items||pT.parent.contents;if(xT)xT.push(KE)}if(qE.length)Array.prototype.push.apply(this.props,qE);VE=this.node.range.end}else{if(JE){const pT=qE[0];this.props.push(pT);VE=pT.end}else{VE=BE.Node.endOfLine(LE,xT+1)}}const zE=this.node?this.node.valueRange.end:VE;this.valueRange=new BE.Range(xT,zE);return VE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);return this.node?this.node.setOrigRanges(pT,xT):xT}toString(){const{context:{src:pT},node:xT,range:OT,value:LE}=this;if(LE!=null)return LE;const RE=xT?pT.slice(OT.start,xT.range.start)+String(xT):pT.slice(OT.start,OT.end);return BE.Node.addStringTerminator(pT,OT.end,RE)}}class Comment extends BE.Node{constructor(){super(BE.Type.COMMENT)}parse(pT,xT){this.context=pT;const OT=this.parseComment(xT);this.range=new BE.Range(xT,OT);return OT}}function grabCollectionEndComments(pT){let xT=pT;while(xT instanceof CollectionItem)xT=xT.node;if(!(xT instanceof Collection))return null;const OT=xT.items.length;let LE=-1;for(let pT=OT-1;pT>=0;--pT){const OT=xT.items[pT];if(OT.type===BE.Type.COMMENT){const{indent:xT,lineStart:BE}=OT.context;if(xT>0&&OT.range.start>=BE+xT)break;LE=pT}else if(OT.type===BE.Type.BLANK_LINE)LE=pT;else break}if(LE===-1)return null;const RE=xT.items.splice(LE,OT-LE);const ME=RE[0].range.start;while(true){xT.range.end=ME;if(xT.valueRange&&xT.valueRange.end>ME)xT.valueRange.end=ME;if(xT===pT)break;xT=xT.context.parent}return RE}class Collection extends BE.Node{static nextContentHasIndent(pT,xT,OT){const LE=BE.Node.endOfLine(pT,xT)+1;xT=BE.Node.endOfWhiteSpace(pT,LE);const RE=pT[xT];if(!RE)return false;if(xT>=LE+OT)return true;if(RE!=="#"&&RE!=="\n")return false;return Collection.nextContentHasIndent(pT,xT,OT)}constructor(pT){super(pT.type===BE.Type.SEQ_ITEM?BE.Type.SEQ:BE.Type.MAP);for(let xT=pT.props.length-1;xT>=0;--xT){if(pT.props[xT].start<pT.context.lineStart){this.props=pT.props.slice(0,xT+1);pT.props=pT.props.slice(xT+1);const OT=pT.props[0]||pT.valueRange;pT.range.start=OT.start;break}}this.items=[pT];const xT=grabCollectionEndComments(pT);if(xT)Array.prototype.push.apply(this.items,xT)}get includesTrailingLines(){return this.items.length>0}parse(pT,xT){this.context=pT;const{parseNode:OT,src:LE}=pT;let RE=BE.Node.startOfLine(LE,xT);const ME=this.items[0];ME.context.parent=this;this.valueRange=BE.Range.copy(ME.valueRange);const jE=ME.range.start-ME.context.lineStart;let VE=xT;VE=BE.Node.normalizeOffset(LE,VE);let UE=LE[VE];let JE=BE.Node.endOfWhiteSpace(LE,RE)===VE;let qE=false;while(UE){while(UE==="\n"||UE==="#"){if(JE&&UE==="\n"&&!qE){const pT=new BlankLine;VE=pT.parse({src:LE},VE);this.valueRange.end=VE;if(VE>=LE.length){UE=null;break}this.items.push(pT);VE-=1}else if(UE==="#"){if(VE<RE+jE&&!Collection.nextContentHasIndent(LE,VE,jE)){return VE}const pT=new Comment;VE=pT.parse({indent:jE,lineStart:RE,src:LE},VE);this.items.push(pT);this.valueRange.end=VE;if(VE>=LE.length){UE=null;break}}RE=VE+1;VE=BE.Node.endOfIndent(LE,RE);if(BE.Node.atBlank(LE,VE)){const pT=BE.Node.endOfWhiteSpace(LE,VE);const xT=LE[pT];if(!xT||xT==="\n"||xT==="#"){VE=pT}}UE=LE[VE];JE=true}if(!UE){break}if(VE!==RE+jE&&(JE||UE!==":")){if(VE<RE+jE){if(RE>xT)VE=RE;break}else if(!this.error){const pT="All collection items must start at the same column";this.error=new BE.YAMLSyntaxError(this,pT)}}if(ME.type===BE.Type.SEQ_ITEM){if(UE!=="-"){if(RE>xT)VE=RE;break}}else if(UE==="-"&&!this.error){const pT=LE[VE+1];if(!pT||pT==="\n"||pT==="\t"||pT===" "){const pT="A collection cannot be both a mapping and a sequence";this.error=new BE.YAMLSyntaxError(this,pT)}}const pT=OT({atLineStart:JE,inCollection:true,indent:jE,lineStart:RE,parent:this},VE);if(!pT)return VE;this.items.push(pT);this.valueRange.end=pT.valueRange.end;VE=BE.Node.normalizeOffset(LE,pT.range.end);UE=LE[VE];JE=false;qE=pT.includesTrailingLines;if(UE){let pT=VE-1;let xT=LE[pT];while(xT===" "||xT==="\t")xT=LE[--pT];if(xT==="\n"){RE=pT+1;JE=true}}const KE=grabCollectionEndComments(pT);if(KE)Array.prototype.push.apply(this.items,KE)}return VE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);this.items.forEach((OT=>{xT=OT.setOrigRanges(pT,xT)}));return xT}toString(){const{context:{src:pT},items:xT,range:OT,value:LE}=this;if(LE!=null)return LE;let RE=pT.slice(OT.start,xT[0].range.start)+String(xT[0]);for(let pT=1;pT<xT.length;++pT){const OT=xT[pT];const{atLineStart:BE,indent:LE}=OT.context;if(BE)for(let pT=0;pT<LE;++pT)RE+=" ";RE+=String(OT)}return BE.Node.addStringTerminator(pT,OT.end,RE)}}class Directive extends BE.Node{constructor(){super(BE.Type.DIRECTIVE);this.name=null}get parameters(){const pT=this.rawValue;return pT?pT.trim().split(/[ \t]+/):[]}parseName(pT){const{src:xT}=this.context;let OT=pT;let BE=xT[OT];while(BE&&BE!=="\n"&&BE!=="\t"&&BE!==" ")BE=xT[OT+=1];this.name=xT.slice(pT,OT);return OT}parseParameters(pT){const{src:xT}=this.context;let OT=pT;let LE=xT[OT];while(LE&&LE!=="\n"&&LE!=="#")LE=xT[OT+=1];this.valueRange=new BE.Range(pT,OT);return OT}parse(pT,xT){this.context=pT;let OT=this.parseName(xT+1);OT=this.parseParameters(OT);OT=this.parseComment(OT);this.range=new BE.Range(xT,OT);return OT}}class Document extends BE.Node{static startCommentOrEndBlankLine(pT,xT){const OT=BE.Node.endOfWhiteSpace(pT,xT);const LE=pT[OT];return LE==="#"||LE==="\n"?OT:xT}constructor(){super(BE.Type.DOCUMENT);this.directives=null;this.contents=null;this.directivesEndMarker=null;this.documentEndMarker=null}parseDirectives(pT){const{src:xT}=this.context;this.directives=[];let OT=true;let LE=false;let RE=pT;while(!BE.Node.atDocumentBoundary(xT,RE,BE.Char.DIRECTIVES_END)){RE=Document.startCommentOrEndBlankLine(xT,RE);switch(xT[RE]){case"\n":if(OT){const pT=new BlankLine;RE=pT.parse({src:xT},RE);if(RE<xT.length){this.directives.push(pT)}}else{RE+=1;OT=true}break;case"#":{const pT=new Comment;RE=pT.parse({src:xT},RE);this.directives.push(pT);OT=false}break;case"%":{const pT=new Directive;RE=pT.parse({parent:this,src:xT},RE);this.directives.push(pT);LE=true;OT=false}break;default:if(LE){this.error=new BE.YAMLSemanticError(this,"Missing directives-end indicator line")}else if(this.directives.length>0){this.contents=this.directives;this.directives=[]}return RE}}if(xT[RE]){this.directivesEndMarker=new BE.Range(RE,RE+3);return RE+3}if(LE){this.error=new BE.YAMLSemanticError(this,"Missing directives-end indicator line")}else if(this.directives.length>0){this.contents=this.directives;this.directives=[]}return RE}parseContents(pT){const{parseNode:xT,src:OT}=this.context;if(!this.contents)this.contents=[];let LE=pT;while(OT[LE-1]==="-")LE-=1;let RE=BE.Node.endOfWhiteSpace(OT,pT);let ME=LE===pT;this.valueRange=new BE.Range(RE);while(!BE.Node.atDocumentBoundary(OT,RE,BE.Char.DOCUMENT_END)){switch(OT[RE]){case"\n":if(ME){const pT=new BlankLine;RE=pT.parse({src:OT},RE);if(RE<OT.length){this.contents.push(pT)}}else{RE+=1;ME=true}LE=RE;break;case"#":{const pT=new Comment;RE=pT.parse({src:OT},RE);this.contents.push(pT);ME=false}break;default:{const pT=BE.Node.endOfIndent(OT,RE);const jE={atLineStart:ME,indent:-1,inFlow:false,inCollection:false,lineStart:LE,parent:this};const VE=xT(jE,pT);if(!VE)return this.valueRange.end=pT;this.contents.push(VE);RE=VE.range.end;ME=false;const UE=grabCollectionEndComments(VE);if(UE)Array.prototype.push.apply(this.contents,UE)}}RE=Document.startCommentOrEndBlankLine(OT,RE)}this.valueRange.end=RE;if(OT[RE]){this.documentEndMarker=new BE.Range(RE,RE+3);RE+=3;if(OT[RE]){RE=BE.Node.endOfWhiteSpace(OT,RE);if(OT[RE]==="#"){const pT=new Comment;RE=pT.parse({src:OT},RE);this.contents.push(pT)}switch(OT[RE]){case"\n":RE+=1;break;case undefined:break;default:this.error=new BE.YAMLSyntaxError(this,"Document end marker line cannot have a non-comment suffix")}}}return RE}parse(pT,xT){pT.root=this;this.context=pT;const{src:OT}=pT;let BE=OT.charCodeAt(xT)===65279?xT+1:xT;BE=this.parseDirectives(BE);BE=this.parseContents(BE);return BE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);this.directives.forEach((OT=>{xT=OT.setOrigRanges(pT,xT)}));if(this.directivesEndMarker)xT=this.directivesEndMarker.setOrigRange(pT,xT);this.contents.forEach((OT=>{xT=OT.setOrigRanges(pT,xT)}));if(this.documentEndMarker)xT=this.documentEndMarker.setOrigRange(pT,xT);return xT}toString(){const{contents:pT,directives:xT,value:OT}=this;if(OT!=null)return OT;let LE=xT.join("");if(pT.length>0){if(xT.length>0||pT[0].type===BE.Type.COMMENT)LE+="---\n";LE+=pT.join("")}if(LE[LE.length-1]!=="\n")LE+="\n";return LE}}class Alias extends BE.Node{parse(pT,xT){this.context=pT;const{src:OT}=pT;let LE=BE.Node.endOfIdentifier(OT,xT+1);this.valueRange=new BE.Range(xT+1,LE);LE=BE.Node.endOfWhiteSpace(OT,LE);LE=this.parseComment(LE);return LE}}const LE={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"};class BlockValue extends BE.Node{constructor(pT,xT){super(pT,xT);this.blockIndent=null;this.chomping=LE.CLIP;this.header=null}get includesTrailingLines(){return this.chomping===LE.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:pT,end:xT}=this.valueRange;const{indent:OT,src:RE}=this.context;if(this.valueRange.isEmpty())return"";let ME=null;let jE=RE[xT-1];while(jE==="\n"||jE==="\t"||jE===" "){xT-=1;if(xT<=pT){if(this.chomping===LE.KEEP)break;else return""}if(jE==="\n")ME=xT;jE=RE[xT-1]}let VE=xT+1;if(ME){if(this.chomping===LE.KEEP){VE=ME;xT=this.valueRange.end}else{xT=ME}}const UE=OT+this.blockIndent;const JE=this.type===BE.Type.BLOCK_FOLDED;let qE=true;let KE="";let zE="";let $E=false;for(let OT=pT;OT<xT;++OT){for(let pT=0;pT<UE;++pT){if(RE[OT]!==" ")break;OT+=1}const pT=RE[OT];if(pT==="\n"){if(zE==="\n")KE+="\n";else zE="\n"}else{const LE=BE.Node.endOfLine(RE,OT);const ME=RE.slice(OT,LE);OT=LE;if(JE&&(pT===" "||pT==="\t")&&OT<VE){if(zE===" ")zE="\n";else if(!$E&&!qE&&zE==="\n")zE="\n\n";KE+=zE+ME;zE=LE<xT&&RE[LE]||"";$E=true}else{KE+=zE+ME;zE=JE&&OT<VE?" ":"\n";$E=false}if(qE&&ME!=="")qE=false}}return this.chomping===LE.STRIP?KE:KE+"\n"}parseBlockHeader(pT){const{src:xT}=this.context;let OT=pT+1;let RE="";while(true){const ME=xT[OT];switch(ME){case"-":this.chomping=LE.STRIP;break;case"+":this.chomping=LE.KEEP;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":RE+=ME;break;default:this.blockIndent=Number(RE)||null;this.header=new BE.Range(pT,OT);return OT}OT+=1}}parseBlockValue(pT){const{indent:xT,src:OT}=this.context;const RE=!!this.blockIndent;let ME=pT;let jE=pT;let VE=1;for(let pT=OT[ME];pT==="\n";pT=OT[ME]){ME+=1;if(BE.Node.atDocumentBoundary(OT,ME))break;const pT=BE.Node.endOfBlockIndent(OT,xT,ME);if(pT===null)break;const LE=OT[pT];const UE=pT-(ME+xT);if(!this.blockIndent){if(OT[pT]!=="\n"){if(UE<VE){const pT="Block scalars with more-indented leading empty lines must use an explicit indentation indicator";this.error=new BE.YAMLSemanticError(this,pT)}this.blockIndent=UE}else if(UE>VE){VE=UE}}else if(LE&&LE!=="\n"&&UE<this.blockIndent){if(OT[pT]==="#")break;if(!this.error){const pT=RE?"explicit indentation indicator":"first line";const xT=`Block scalars must not be less indented than their ${pT}`;this.error=new BE.YAMLSemanticError(this,xT)}}if(OT[pT]==="\n"){ME=pT}else{ME=jE=BE.Node.endOfLine(OT,pT)}}if(this.chomping!==LE.KEEP){ME=OT[jE]?jE+1:jE}this.valueRange=new BE.Range(pT+1,ME);return ME}parse(pT,xT){this.context=pT;const{src:OT}=pT;let LE=this.parseBlockHeader(xT);LE=BE.Node.endOfWhiteSpace(OT,LE);LE=this.parseComment(LE);LE=this.parseBlockValue(LE);return LE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);return this.header?this.header.setOrigRange(pT,xT):xT}}class FlowCollection extends BE.Node{constructor(pT,xT){super(pT,xT);this.items=null}prevNodeIsJsonLike(pT=this.items.length){const xT=this.items[pT-1];return!!xT&&(xT.jsonLike||xT.type===BE.Type.COMMENT&&this.prevNodeIsJsonLike(pT-1))}parse(pT,xT){this.context=pT;const{parseNode:OT,src:LE}=pT;let{indent:RE,lineStart:ME}=pT;let jE=LE[xT];this.items=[{char:jE,offset:xT}];let VE=BE.Node.endOfWhiteSpace(LE,xT+1);jE=LE[VE];while(jE&&jE!=="]"&&jE!=="}"){switch(jE){case"\n":{ME=VE+1;const pT=BE.Node.endOfWhiteSpace(LE,ME);if(LE[pT]==="\n"){const pT=new BlankLine;ME=pT.parse({src:LE},ME);this.items.push(pT)}VE=BE.Node.endOfIndent(LE,ME);if(VE<=ME+RE){jE=LE[VE];if(VE<ME+RE||jE!=="]"&&jE!=="}"){const pT="Insufficient indentation in flow collection";this.error=new BE.YAMLSemanticError(this,pT)}}}break;case",":{this.items.push({char:jE,offset:VE});VE+=1}break;case"#":{const pT=new Comment;VE=pT.parse({src:LE},VE);this.items.push(pT)}break;case"?":case":":{const pT=LE[VE+1];if(pT==="\n"||pT==="\t"||pT===" "||pT===","||jE===":"&&this.prevNodeIsJsonLike()){this.items.push({char:jE,offset:VE});VE+=1;break}}default:{const pT=OT({atLineStart:false,inCollection:false,inFlow:true,indent:-1,lineStart:ME,parent:this},VE);if(!pT){this.valueRange=new BE.Range(xT,VE);return VE}this.items.push(pT);VE=BE.Node.normalizeOffset(LE,pT.range.end)}}VE=BE.Node.endOfWhiteSpace(LE,VE);jE=LE[VE]}this.valueRange=new BE.Range(xT,VE+1);if(jE){this.items.push({char:jE,offset:VE});VE=BE.Node.endOfWhiteSpace(LE,VE+1);VE=this.parseComment(VE)}return VE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);this.items.forEach((OT=>{if(OT instanceof BE.Node){xT=OT.setOrigRanges(pT,xT)}else if(pT.length===0){OT.origOffset=OT.offset}else{let BE=xT;while(BE<pT.length){if(pT[BE]>OT.offset)break;else++BE}OT.origOffset=OT.offset+BE;xT=BE}}));return xT}toString(){const{context:{src:pT},items:xT,range:OT,value:LE}=this;if(LE!=null)return LE;const RE=xT.filter((pT=>pT instanceof BE.Node));let ME="";let jE=OT.start;RE.forEach((xT=>{const OT=pT.slice(jE,xT.range.start);jE=xT.range.end;ME+=OT+String(xT);if(ME[ME.length-1]==="\n"&&pT[jE-1]!=="\n"&&pT[jE]==="\n"){jE+=1}}));ME+=pT.slice(jE,OT.end);return BE.Node.addStringTerminator(pT,OT.end,ME)}}class QuoteDouble extends BE.Node{static endOfQuote(pT,xT){let OT=pT[xT];while(OT&&OT!=='"'){xT+=OT==="\\"?2:1;OT=pT[xT]}return xT+1}get strValue(){if(!this.valueRange||!this.context)return null;const pT=[];const{start:xT,end:OT}=this.valueRange;const{indent:LE,src:RE}=this.context;if(RE[OT-1]!=='"')pT.push(new BE.YAMLSyntaxError(this,'Missing closing "quote'));let ME="";for(let jE=xT+1;jE<OT-1;++jE){const xT=RE[jE];if(xT==="\n"){if(BE.Node.atDocumentBoundary(RE,jE+1))pT.push(new BE.YAMLSemanticError(this,"Document boundary indicators are not allowed within string values"));const{fold:xT,offset:OT,error:VE}=BE.Node.foldNewline(RE,jE,LE);ME+=xT;jE=OT;if(VE)pT.push(new BE.YAMLSemanticError(this,"Multi-line double-quoted string needs to be sufficiently indented"))}else if(xT==="\\"){jE+=1;switch(RE[jE]){case"0":ME+="\0";break;case"a":ME+="";break;case"b":ME+="\b";break;case"e":ME+="";break;case"f":ME+="\f";break;case"n":ME+="\n";break;case"r":ME+="\r";break;case"t":ME+="\t";break;case"v":ME+="\v";break;case"N":ME+="…";break;case"_":ME+=" ";break;case"L":ME+="\u2028";break;case"P":ME+="\u2029";break;case" ":ME+=" ";break;case'"':ME+='"';break;case"/":ME+="/";break;case"\\":ME+="\\";break;case"\t":ME+="\t";break;case"x":ME+=this.parseCharCode(jE+1,2,pT);jE+=2;break;case"u":ME+=this.parseCharCode(jE+1,4,pT);jE+=4;break;case"U":ME+=this.parseCharCode(jE+1,8,pT);jE+=8;break;case"\n":while(RE[jE+1]===" "||RE[jE+1]==="\t")jE+=1;break;default:pT.push(new BE.YAMLSyntaxError(this,`Invalid escape sequence ${RE.substr(jE-1,2)}`));ME+="\\"+RE[jE]}}else if(xT===" "||xT==="\t"){const pT=jE;let OT=RE[jE+1];while(OT===" "||OT==="\t"){jE+=1;OT=RE[jE+1]}if(OT!=="\n")ME+=jE>pT?RE.slice(pT,jE+1):xT}else{ME+=xT}}return pT.length>0?{errors:pT,str:ME}:ME}parseCharCode(pT,xT,OT){const{src:LE}=this.context;const RE=LE.substr(pT,xT);const ME=RE.length===xT&&/^[0-9a-fA-F]+$/.test(RE);const jE=ME?parseInt(RE,16):NaN;if(isNaN(jE)){OT.push(new BE.YAMLSyntaxError(this,`Invalid escape sequence ${LE.substr(pT-2,xT+2)}`));return LE.substr(pT-2,xT+2)}return String.fromCodePoint(jE)}parse(pT,xT){this.context=pT;const{src:OT}=pT;let LE=QuoteDouble.endOfQuote(OT,xT+1);this.valueRange=new BE.Range(xT,LE);LE=BE.Node.endOfWhiteSpace(OT,LE);LE=this.parseComment(LE);return LE}}class QuoteSingle extends BE.Node{static endOfQuote(pT,xT){let OT=pT[xT];while(OT){if(OT==="'"){if(pT[xT+1]!=="'")break;OT=pT[xT+=2]}else{OT=pT[xT+=1]}}return xT+1}get strValue(){if(!this.valueRange||!this.context)return null;const pT=[];const{start:xT,end:OT}=this.valueRange;const{indent:LE,src:RE}=this.context;if(RE[OT-1]!=="'")pT.push(new BE.YAMLSyntaxError(this,"Missing closing 'quote"));let ME="";for(let jE=xT+1;jE<OT-1;++jE){const xT=RE[jE];if(xT==="\n"){if(BE.Node.atDocumentBoundary(RE,jE+1))pT.push(new BE.YAMLSemanticError(this,"Document boundary indicators are not allowed within string values"));const{fold:xT,offset:OT,error:VE}=BE.Node.foldNewline(RE,jE,LE);ME+=xT;jE=OT;if(VE)pT.push(new BE.YAMLSemanticError(this,"Multi-line single-quoted string needs to be sufficiently indented"))}else if(xT==="'"){ME+=xT;jE+=1;if(RE[jE]!=="'")pT.push(new BE.YAMLSyntaxError(this,"Unescaped single quote? This should not happen."))}else if(xT===" "||xT==="\t"){const pT=jE;let OT=RE[jE+1];while(OT===" "||OT==="\t"){jE+=1;OT=RE[jE+1]}if(OT!=="\n")ME+=jE>pT?RE.slice(pT,jE+1):xT}else{ME+=xT}}return pT.length>0?{errors:pT,str:ME}:ME}parse(pT,xT){this.context=pT;const{src:OT}=pT;let LE=QuoteSingle.endOfQuote(OT,xT+1);this.valueRange=new BE.Range(xT,LE);LE=BE.Node.endOfWhiteSpace(OT,LE);LE=this.parseComment(LE);return LE}}function createNewNode(pT,xT){switch(pT){case BE.Type.ALIAS:return new Alias(pT,xT);case BE.Type.BLOCK_FOLDED:case BE.Type.BLOCK_LITERAL:return new BlockValue(pT,xT);case BE.Type.FLOW_MAP:case BE.Type.FLOW_SEQ:return new FlowCollection(pT,xT);case BE.Type.MAP_KEY:case BE.Type.MAP_VALUE:case BE.Type.SEQ_ITEM:return new CollectionItem(pT,xT);case BE.Type.COMMENT:case BE.Type.PLAIN:return new BE.PlainValue(pT,xT);case BE.Type.QUOTE_DOUBLE:return new QuoteDouble(pT,xT);case BE.Type.QUOTE_SINGLE:return new QuoteSingle(pT,xT);default:return null}}class ParseContext{static parseType(pT,xT,OT){switch(pT[xT]){case"*":return BE.Type.ALIAS;case">":return BE.Type.BLOCK_FOLDED;case"|":return BE.Type.BLOCK_LITERAL;case"{":return BE.Type.FLOW_MAP;case"[":return BE.Type.FLOW_SEQ;case"?":return!OT&&BE.Node.atBlank(pT,xT+1,true)?BE.Type.MAP_KEY:BE.Type.PLAIN;case":":return!OT&&BE.Node.atBlank(pT,xT+1,true)?BE.Type.MAP_VALUE:BE.Type.PLAIN;case"-":return!OT&&BE.Node.atBlank(pT,xT+1,true)?BE.Type.SEQ_ITEM:BE.Type.PLAIN;case'"':return BE.Type.QUOTE_DOUBLE;case"'":return BE.Type.QUOTE_SINGLE;default:return BE.Type.PLAIN}}constructor(pT={},{atLineStart:xT,inCollection:OT,inFlow:LE,indent:RE,lineStart:ME,parent:jE}={}){BE._defineProperty(this,"parseNode",((pT,xT)=>{if(BE.Node.atDocumentBoundary(this.src,xT))return null;const OT=new ParseContext(this,pT);const{props:LE,type:RE,valueStart:ME}=OT.parseProps(xT);const jE=createNewNode(RE,LE);let VE=jE.parse(OT,ME);jE.range=new BE.Range(xT,VE);if(VE<=xT){jE.error=new Error(`Node#parse consumed no characters`);jE.error.parseEnd=VE;jE.error.source=jE;jE.range.end=xT+1}if(OT.nodeStartsCollection(jE)){if(!jE.error&&!OT.atLineStart&&OT.parent.type===BE.Type.DOCUMENT){jE.error=new BE.YAMLSyntaxError(jE,"Block collection must not have preceding content here (e.g. directives-end indicator)")}const pT=new Collection(jE);VE=pT.parse(new ParseContext(OT),VE);pT.range=new BE.Range(xT,VE);return pT}return jE}));this.atLineStart=xT!=null?xT:pT.atLineStart||false;this.inCollection=OT!=null?OT:pT.inCollection||false;this.inFlow=LE!=null?LE:pT.inFlow||false;this.indent=RE!=null?RE:pT.indent;this.lineStart=ME!=null?ME:pT.lineStart;this.parent=jE!=null?jE:pT.parent||{};this.root=pT.root;this.src=pT.src}nodeStartsCollection(pT){const{inCollection:xT,inFlow:OT,src:LE}=this;if(xT||OT)return false;if(pT instanceof CollectionItem)return true;let RE=pT.range.end;if(LE[RE]==="\n"||LE[RE-1]==="\n")return false;RE=BE.Node.endOfWhiteSpace(LE,RE);return LE[RE]===":"}parseProps(pT){const{inFlow:xT,parent:OT,src:LE}=this;const RE=[];let ME=false;pT=this.atLineStart?BE.Node.endOfIndent(LE,pT):BE.Node.endOfWhiteSpace(LE,pT);let jE=LE[pT];while(jE===BE.Char.ANCHOR||jE===BE.Char.COMMENT||jE===BE.Char.TAG||jE==="\n"){if(jE==="\n"){let xT=pT;let RE;do{RE=xT+1;xT=BE.Node.endOfIndent(LE,RE)}while(LE[xT]==="\n");const jE=xT-(RE+this.indent);const VE=OT.type===BE.Type.SEQ_ITEM&&OT.context.atLineStart;if(LE[xT]!=="#"&&!BE.Node.nextNodeIsIndented(LE[xT],jE,!VE))break;this.atLineStart=true;this.lineStart=RE;ME=false;pT=xT}else if(jE===BE.Char.COMMENT){const xT=BE.Node.endOfLine(LE,pT+1);RE.push(new BE.Range(pT,xT));pT=xT}else{let xT=BE.Node.endOfIdentifier(LE,pT+1);if(jE===BE.Char.TAG&&LE[xT]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(LE.slice(pT+1,xT+13))){xT=BE.Node.endOfIdentifier(LE,xT+5)}RE.push(new BE.Range(pT,xT));ME=true;pT=BE.Node.endOfWhiteSpace(LE,xT)}jE=LE[pT]}if(ME&&jE===":"&&BE.Node.atBlank(LE,pT+1,true))pT-=1;const VE=ParseContext.parseType(LE,pT,xT);return{props:RE,type:VE,valueStart:pT}}}function parse(pT){const xT=[];if(pT.indexOf("\r")!==-1){pT=pT.replace(/\r\n?/g,((pT,OT)=>{if(pT.length>1)xT.push(OT);return"\n"}))}const OT=[];let BE=0;do{const xT=new Document;const LE=new ParseContext({src:pT});BE=xT.parse(LE,BE);OT.push(xT)}while(BE<pT.length);OT.setOrigRanges=()=>{if(xT.length===0)return false;for(let pT=1;pT<xT.length;++pT)xT[pT]-=pT;let pT=0;for(let BE=0;BE<OT.length;++BE){pT=OT[BE].setOrigRanges(xT,pT)}xT.splice(0,xT.length);return true};OT.toString=()=>OT.join("...\n");return OT}xT.parse=parse},4227:(pT,xT,OT)=>{"use strict";var BE=OT(5215);function addCommentBefore(pT,xT,OT){if(!OT)return pT;const BE=OT.replace(/[\s\S]^/gm,`$&${xT}#`);return`#${BE}\n${xT}${pT}`}function addComment(pT,xT,OT){return!OT?pT:OT.indexOf("\n")===-1?`${pT} #${OT}`:`${pT}\n`+OT.replace(/^/gm,`${xT||""}#`)}class Node{}function toJSON(pT,xT,OT){if(Array.isArray(pT))return pT.map(((pT,xT)=>toJSON(pT,String(xT),OT)));if(pT&&typeof pT.toJSON==="function"){const BE=OT&&OT.anchors&&OT.anchors.get(pT);if(BE)OT.onCreate=pT=>{BE.res=pT;delete OT.onCreate};const LE=pT.toJSON(xT,OT);if(BE&&OT.onCreate)OT.onCreate(LE);return LE}if((!OT||!OT.keep)&&typeof pT==="bigint")return Number(pT);return pT}class Scalar extends Node{constructor(pT){super();this.value=pT}toJSON(pT,xT){return xT&&xT.keep?this.value:toJSON(this.value,pT,xT)}toString(){return String(this.value)}}function collectionFromPath(pT,xT,OT){let BE=OT;for(let pT=xT.length-1;pT>=0;--pT){const OT=xT[pT];if(Number.isInteger(OT)&&OT>=0){const pT=[];pT[OT]=BE;BE=pT}else{const pT={};Object.defineProperty(pT,OT,{value:BE,writable:true,enumerable:true,configurable:true});BE=pT}}return pT.createNode(BE,false)}const isEmptyPath=pT=>pT==null||typeof pT==="object"&&pT[Symbol.iterator]().next().done;class Collection extends Node{constructor(pT){super();BE._defineProperty(this,"items",[]);this.schema=pT}addIn(pT,xT){if(isEmptyPath(pT))this.add(xT);else{const[OT,...BE]=pT;const LE=this.get(OT,true);if(LE instanceof Collection)LE.addIn(BE,xT);else if(LE===undefined&&this.schema)this.set(OT,collectionFromPath(this.schema,BE,xT));else throw new Error(`Expected YAML collection at ${OT}. Remaining path: ${BE}`)}}deleteIn([pT,...xT]){if(xT.length===0)return this.delete(pT);const OT=this.get(pT,true);if(OT instanceof Collection)return OT.deleteIn(xT);else throw new Error(`Expected YAML collection at ${pT}. Remaining path: ${xT}`)}getIn([pT,...xT],OT){const BE=this.get(pT,true);if(xT.length===0)return!OT&&BE instanceof Scalar?BE.value:BE;else return BE instanceof Collection?BE.getIn(xT,OT):undefined}hasAllNullValues(){return this.items.every((pT=>{if(!pT||pT.type!=="PAIR")return false;const xT=pT.value;return xT==null||xT instanceof Scalar&&xT.value==null&&!xT.commentBefore&&!xT.comment&&!xT.tag}))}hasIn([pT,...xT]){if(xT.length===0)return this.has(pT);const OT=this.get(pT,true);return OT instanceof Collection?OT.hasIn(xT):false}setIn([pT,...xT],OT){if(xT.length===0){this.set(pT,OT)}else{const BE=this.get(pT,true);if(BE instanceof Collection)BE.setIn(xT,OT);else if(BE===undefined&&this.schema)this.set(pT,collectionFromPath(this.schema,xT,OT));else throw new Error(`Expected YAML collection at ${pT}. Remaining path: ${xT}`)}}toJSON(){return null}toString(pT,{blockItem:xT,flowChars:OT,isMap:LE,itemIndent:RE},ME,jE){const{indent:VE,indentStep:UE,stringify:JE}=pT;const qE=this.type===BE.Type.FLOW_MAP||this.type===BE.Type.FLOW_SEQ||pT.inFlow;if(qE)RE+=UE;const KE=LE&&this.hasAllNullValues();pT=Object.assign({},pT,{allNullValues:KE,indent:RE,inFlow:qE,type:null});let zE=false;let $E=false;const GE=this.items.reduce(((xT,OT,BE)=>{let LE;if(OT){if(!zE&&OT.spaceBefore)xT.push({type:"comment",str:""});if(OT.commentBefore)OT.commentBefore.match(/^.*$/gm).forEach((pT=>{xT.push({type:"comment",str:`#${pT}`})}));if(OT.comment)LE=OT.comment;if(qE&&(!zE&&OT.spaceBefore||OT.commentBefore||OT.comment||OT.key&&(OT.key.commentBefore||OT.key.comment)||OT.value&&(OT.value.commentBefore||OT.value.comment)))$E=true}zE=false;let ME=JE(OT,pT,(()=>LE=null),(()=>zE=true));if(qE&&!$E&&ME.includes("\n"))$E=true;if(qE&&BE<this.items.length-1)ME+=",";ME=addComment(ME,RE,LE);if(zE&&(LE||qE))zE=false;xT.push({type:"item",str:ME});return xT}),[]);let WE;if(GE.length===0){WE=OT.start+OT.end}else if(qE){const{start:pT,end:xT}=OT;const BE=GE.map((pT=>pT.str));if($E||BE.reduce(((pT,xT)=>pT+xT.length+2),2)>Collection.maxFlowStringSingleLineLength){WE=pT;for(const pT of BE){WE+=pT?`\n${UE}${VE}${pT}`:"\n"}WE+=`\n${VE}${xT}`}else{WE=`${pT} ${BE.join(" ")} ${xT}`}}else{const pT=GE.map(xT);WE=pT.shift();for(const xT of pT)WE+=xT?`\n${VE}${xT}`:"\n"}if(this.comment){WE+="\n"+this.comment.replace(/^/gm,`${VE}#`);if(ME)ME()}else if(zE&&jE)jE();return WE}}BE._defineProperty(Collection,"maxFlowStringSingleLineLength",60);function asItemIndex(pT){let xT=pT instanceof Scalar?pT.value:pT;if(xT&&typeof xT==="string")xT=Number(xT);return Number.isInteger(xT)&&xT>=0?xT:null}class YAMLSeq extends Collection{add(pT){this.items.push(pT)}delete(pT){const xT=asItemIndex(pT);if(typeof xT!=="number")return false;const OT=this.items.splice(xT,1);return OT.length>0}get(pT,xT){const OT=asItemIndex(pT);if(typeof OT!=="number")return undefined;const BE=this.items[OT];return!xT&&BE instanceof Scalar?BE.value:BE}has(pT){const xT=asItemIndex(pT);return typeof xT==="number"&&xT<this.items.length}set(pT,xT){const OT=asItemIndex(pT);if(typeof OT!=="number")throw new Error(`Expected a valid index, not ${pT}.`);this.items[OT]=xT}toJSON(pT,xT){const OT=[];if(xT&&xT.onCreate)xT.onCreate(OT);let BE=0;for(const pT of this.items)OT.push(toJSON(pT,String(BE++),xT));return OT}toString(pT,xT,OT){if(!pT)return JSON.stringify(this);return super.toString(pT,{blockItem:pT=>pT.type==="comment"?pT.str:`- ${pT.str}`,flowChars:{start:"[",end:"]"},isMap:false,itemIndent:(pT.indent||"")+" "},xT,OT)}}const stringifyKey=(pT,xT,OT)=>{if(xT===null)return"";if(typeof xT!=="object")return String(xT);if(pT instanceof Node&&OT&&OT.doc)return pT.toString({anchors:Object.create(null),doc:OT.doc,indent:"",indentStep:OT.indentStep,inFlow:true,inStringifyKey:true,stringify:OT.stringify});return JSON.stringify(xT)};class Pair extends Node{constructor(pT,xT=null){super();this.key=pT;this.value=xT;this.type=Pair.Type.PAIR}get commentBefore(){return this.key instanceof Node?this.key.commentBefore:undefined}set commentBefore(pT){if(this.key==null)this.key=new Scalar(null);if(this.key instanceof Node)this.key.commentBefore=pT;else{const pT="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(pT)}}addToJSMap(pT,xT){const OT=toJSON(this.key,"",pT);if(xT instanceof Map){const BE=toJSON(this.value,OT,pT);xT.set(OT,BE)}else if(xT instanceof Set){xT.add(OT)}else{const BE=stringifyKey(this.key,OT,pT);const LE=toJSON(this.value,BE,pT);if(BE in xT)Object.defineProperty(xT,BE,{value:LE,writable:true,enumerable:true,configurable:true});else xT[BE]=LE}return xT}toJSON(pT,xT){const OT=xT&&xT.mapAsMap?new Map:{};return this.addToJSMap(xT,OT)}toString(pT,xT,OT){if(!pT||!pT.doc)return JSON.stringify(this);const{indent:LE,indentSeq:RE,simpleKeys:ME}=pT.doc.options;let{key:jE,value:VE}=this;let UE=jE instanceof Node&&jE.comment;if(ME){if(UE){throw new Error("With simple keys, key nodes cannot have comments")}if(jE instanceof Collection){const pT="With simple keys, collection cannot be used as a key value";throw new Error(pT)}}let JE=!ME&&(!jE||UE||(jE instanceof Node?jE instanceof Collection||jE.type===BE.Type.BLOCK_FOLDED||jE.type===BE.Type.BLOCK_LITERAL:typeof jE==="object"));const{doc:qE,indent:KE,indentStep:zE,stringify:$E}=pT;pT=Object.assign({},pT,{implicitKey:!JE,indent:KE+zE});let GE=false;let WE=$E(jE,pT,(()=>UE=null),(()=>GE=true));WE=addComment(WE,pT.indent,UE);if(!JE&&WE.length>1024){if(ME)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");JE=true}if(pT.allNullValues&&!ME){if(this.comment){WE=addComment(WE,pT.indent,this.comment);if(xT)xT()}else if(GE&&!UE&&OT)OT();return pT.inFlow&&!JE?WE:`? ${WE}`}WE=JE?`? ${WE}\n${KE}:`:`${WE}:`;if(this.comment){WE=addComment(WE,pT.indent,this.comment);if(xT)xT()}let YE="";let HE=null;if(VE instanceof Node){if(VE.spaceBefore)YE="\n";if(VE.commentBefore){const xT=VE.commentBefore.replace(/^/gm,`${pT.indent}#`);YE+=`\n${xT}`}HE=VE.comment}else if(VE&&typeof VE==="object"){VE=qE.schema.createNode(VE,true)}pT.implicitKey=false;if(!JE&&!this.comment&&VE instanceof Scalar)pT.indentAtStart=WE.length+1;GE=false;if(!RE&&LE>=2&&!pT.inFlow&&!JE&&VE instanceof YAMLSeq&&VE.type!==BE.Type.FLOW_SEQ&&!VE.tag&&!qE.anchors.getName(VE)){pT.indent=pT.indent.substr(2)}const XE=$E(VE,pT,(()=>HE=null),(()=>GE=true));let QE=" ";if(YE||this.comment){QE=`${YE}\n${pT.indent}`}else if(!JE&&VE instanceof Collection){const xT=XE[0]==="["||XE[0]==="{";if(!xT||XE.includes("\n"))QE=`\n${pT.indent}`}else if(XE[0]==="\n")QE="";if(GE&&!HE&&OT)OT();return addComment(WE+QE+XE,pT.indent,HE)}}BE._defineProperty(Pair,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});const getAliasCount=(pT,xT)=>{if(pT instanceof Alias){const OT=xT.get(pT.source);return OT.count*OT.aliasCount}else if(pT instanceof Collection){let OT=0;for(const BE of pT.items){const pT=getAliasCount(BE,xT);if(pT>OT)OT=pT}return OT}else if(pT instanceof Pair){const OT=getAliasCount(pT.key,xT);const BE=getAliasCount(pT.value,xT);return Math.max(OT,BE)}return 1};class Alias extends Node{static stringify({range:pT,source:xT},{anchors:OT,doc:BE,implicitKey:LE,inStringifyKey:RE}){let ME=Object.keys(OT).find((pT=>OT[pT]===xT));if(!ME&&RE)ME=BE.anchors.getName(xT)||BE.anchors.newName();if(ME)return`*${ME}${LE?" ":""}`;const jE=BE.anchors.getName(xT)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${jE} [${pT}]`)}constructor(pT){super();this.source=pT;this.type=BE.Type.ALIAS}set tag(pT){throw new Error("Alias nodes cannot have tags")}toJSON(pT,xT){if(!xT)return toJSON(this.source,pT,xT);const{anchors:OT,maxAliasCount:LE}=xT;const RE=OT.get(this.source);if(!RE||RE.res===undefined){const pT="This should not happen: Alias anchor was not resolved?";if(this.cstNode)throw new BE.YAMLReferenceError(this.cstNode,pT);else throw new ReferenceError(pT)}if(LE>=0){RE.count+=1;if(RE.aliasCount===0)RE.aliasCount=getAliasCount(this.source,OT);if(RE.count*RE.aliasCount>LE){const pT="Excessive alias count indicates a resource exhaustion attack";if(this.cstNode)throw new BE.YAMLReferenceError(this.cstNode,pT);else throw new ReferenceError(pT)}}return RE.res}toString(pT){return Alias.stringify(this,pT)}}BE._defineProperty(Alias,"default",true);function findPair(pT,xT){const OT=xT instanceof Scalar?xT.value:xT;for(const BE of pT){if(BE instanceof Pair){if(BE.key===xT||BE.key===OT)return BE;if(BE.key&&BE.key.value===OT)return BE}}return undefined}class YAMLMap extends Collection{add(pT,xT){if(!pT)pT=new Pair(pT);else if(!(pT instanceof Pair))pT=new Pair(pT.key||pT,pT.value);const OT=findPair(this.items,pT.key);const BE=this.schema&&this.schema.sortMapEntries;if(OT){if(xT)OT.value=pT.value;else throw new Error(`Key ${pT.key} already set`)}else if(BE){const xT=this.items.findIndex((xT=>BE(pT,xT)<0));if(xT===-1)this.items.push(pT);else this.items.splice(xT,0,pT)}else{this.items.push(pT)}}delete(pT){const xT=findPair(this.items,pT);if(!xT)return false;const OT=this.items.splice(this.items.indexOf(xT),1);return OT.length>0}get(pT,xT){const OT=findPair(this.items,pT);const BE=OT&&OT.value;return!xT&&BE instanceof Scalar?BE.value:BE}has(pT){return!!findPair(this.items,pT)}set(pT,xT){this.add(new Pair(pT,xT),true)}toJSON(pT,xT,OT){const BE=OT?new OT:xT&&xT.mapAsMap?new Map:{};if(xT&&xT.onCreate)xT.onCreate(BE);for(const pT of this.items)pT.addToJSMap(xT,BE);return BE}toString(pT,xT,OT){if(!pT)return JSON.stringify(this);for(const pT of this.items){if(!(pT instanceof Pair))throw new Error(`Map items must all be pairs; found ${JSON.stringify(pT)} instead`)}return super.toString(pT,{blockItem:pT=>pT.str,flowChars:{start:"{",end:"}"},isMap:true,itemIndent:pT.indent||""},xT,OT)}}const LE="<<";class Merge extends Pair{constructor(pT){if(pT instanceof Pair){let xT=pT.value;if(!(xT instanceof YAMLSeq)){xT=new YAMLSeq;xT.items.push(pT.value);xT.range=pT.value.range}super(pT.key,xT);this.range=pT.range}else{super(new Scalar(LE),new YAMLSeq)}this.type=Pair.Type.MERGE_PAIR}addToJSMap(pT,xT){for(const{source:OT}of this.value.items){if(!(OT instanceof YAMLMap))throw new Error("Merge sources must be maps");const BE=OT.toJSON(null,pT,Map);for(const[pT,OT]of BE){if(xT instanceof Map){if(!xT.has(pT))xT.set(pT,OT)}else if(xT instanceof Set){xT.add(pT)}else if(!Object.prototype.hasOwnProperty.call(xT,pT)){Object.defineProperty(xT,pT,{value:OT,writable:true,enumerable:true,configurable:true})}}}return xT}toString(pT,xT){const OT=this.value;if(OT.items.length>1)return super.toString(pT,xT);this.value=OT.items[0];const BE=super.toString(pT,xT);this.value=OT;return BE}}const RE={defaultType:BE.Type.BLOCK_LITERAL,lineWidth:76};const ME={trueStr:"true",falseStr:"false"};const jE={asBigInt:false};const VE={nullStr:"null"};const UE={defaultType:BE.Type.PLAIN,doubleQuoted:{jsonEncoding:false,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function resolveScalar(pT,xT,OT){for(const{format:OT,test:BE,resolve:LE}of xT){if(BE){const xT=pT.match(BE);if(xT){let pT=LE.apply(null,xT);if(!(pT instanceof Scalar))pT=new Scalar(pT);if(OT)pT.format=OT;return pT}}}if(OT)pT=OT(pT);return new Scalar(pT)}const JE="flow";const qE="block";const KE="quoted";const consumeMoreIndentedLines=(pT,xT)=>{let OT=pT[xT+1];while(OT===" "||OT==="\t"){do{OT=pT[xT+=1]}while(OT&&OT!=="\n");OT=pT[xT+1]}return xT};function foldFlowLines(pT,xT,OT,{indentAtStart:BE,lineWidth:LE=80,minContentWidth:RE=20,onFold:ME,onOverflow:jE}){if(!LE||LE<0)return pT;const VE=Math.max(1+RE,1+LE-xT.length);if(pT.length<=VE)return pT;const UE=[];const JE={};let zE=LE-xT.length;if(typeof BE==="number"){if(BE>LE-Math.max(2,RE))UE.push(0);else zE=LE-BE}let $E=undefined;let GE=undefined;let WE=false;let YE=-1;let HE=-1;let XE=-1;if(OT===qE){YE=consumeMoreIndentedLines(pT,YE);if(YE!==-1)zE=YE+VE}for(let xT;xT=pT[YE+=1];){if(OT===KE&&xT==="\\"){HE=YE;switch(pT[YE+1]){case"x":YE+=3;break;case"u":YE+=5;break;case"U":YE+=9;break;default:YE+=1}XE=YE}if(xT==="\n"){if(OT===qE)YE=consumeMoreIndentedLines(pT,YE);zE=YE+VE;$E=undefined}else{if(xT===" "&&GE&&GE!==" "&&GE!=="\n"&&GE!=="\t"){const xT=pT[YE+1];if(xT&&xT!==" "&&xT!=="\n"&&xT!=="\t")$E=YE}if(YE>=zE){if($E){UE.push($E);zE=$E+VE;$E=undefined}else if(OT===KE){while(GE===" "||GE==="\t"){GE=xT;xT=pT[YE+=1];WE=true}const OT=YE>XE+1?YE-2:HE-1;if(JE[OT])return pT;UE.push(OT);JE[OT]=true;zE=OT+VE;$E=undefined}else{WE=true}}}GE=xT}if(WE&&jE)jE();if(UE.length===0)return pT;if(ME)ME();let QE=pT.slice(0,UE[0]);for(let BE=0;BE<UE.length;++BE){const LE=UE[BE];const RE=UE[BE+1]||pT.length;if(LE===0)QE=`\n${xT}${pT.slice(0,RE)}`;else{if(OT===KE&&JE[LE])QE+=`${pT[LE]}\\`;QE+=`\n${xT}${pT.slice(LE+1,RE)}`}}return QE}const getFoldOptions=({indentAtStart:pT})=>pT?Object.assign({indentAtStart:pT},UE.fold):UE.fold;const containsDocumentMarker=pT=>/^(%|---|\.\.\.)/m.test(pT);function lineLengthOverLimit(pT,xT,OT){if(!xT||xT<0)return false;const BE=xT-OT;const LE=pT.length;if(LE<=BE)return false;for(let xT=0,OT=0;xT<LE;++xT){if(pT[xT]==="\n"){if(xT-OT>BE)return true;OT=xT+1;if(LE-OT<=BE)return false}}return true}function doubleQuotedString(pT,xT){const{implicitKey:OT}=xT;const{jsonEncoding:BE,minMultiLineLength:LE}=UE.doubleQuoted;const RE=JSON.stringify(pT);if(BE)return RE;const ME=xT.indent||(containsDocumentMarker(pT)?" ":"");let jE="";let VE=0;for(let pT=0,xT=RE[pT];xT;xT=RE[++pT]){if(xT===" "&&RE[pT+1]==="\\"&&RE[pT+2]==="n"){jE+=RE.slice(VE,pT)+"\\ ";pT+=1;VE=pT;xT="\\"}if(xT==="\\")switch(RE[pT+1]){case"u":{jE+=RE.slice(VE,pT);const xT=RE.substr(pT+2,4);switch(xT){case"0000":jE+="\\0";break;case"0007":jE+="\\a";break;case"000b":jE+="\\v";break;case"001b":jE+="\\e";break;case"0085":jE+="\\N";break;case"00a0":jE+="\\_";break;case"2028":jE+="\\L";break;case"2029":jE+="\\P";break;default:if(xT.substr(0,2)==="00")jE+="\\x"+xT.substr(2);else jE+=RE.substr(pT,6)}pT+=5;VE=pT+1}break;case"n":if(OT||RE[pT+2]==='"'||RE.length<LE){pT+=1}else{jE+=RE.slice(VE,pT)+"\n\n";while(RE[pT+2]==="\\"&&RE[pT+3]==="n"&&RE[pT+4]!=='"'){jE+="\n";pT+=2}jE+=ME;if(RE[pT+2]===" ")jE+="\\";pT+=1;VE=pT+1}break;default:pT+=1}}jE=VE?jE+RE.slice(VE):RE;return OT?jE:foldFlowLines(jE,ME,KE,getFoldOptions(xT))}function singleQuotedString(pT,xT){if(xT.implicitKey){if(/\n/.test(pT))return doubleQuotedString(pT,xT)}else{if(/[ \t]\n|\n[ \t]/.test(pT))return doubleQuotedString(pT,xT)}const OT=xT.indent||(containsDocumentMarker(pT)?" ":"");const BE="'"+pT.replace(/'/g,"''").replace(/\n+/g,`$&\n${OT}`)+"'";return xT.implicitKey?BE:foldFlowLines(BE,OT,JE,getFoldOptions(xT))}function blockString({comment:pT,type:xT,value:OT},LE,RE,ME){if(/\n[\t ]+$/.test(OT)||/^\s*$/.test(OT)){return doubleQuotedString(OT,LE)}const jE=LE.indent||(LE.forceBlockIndent||containsDocumentMarker(OT)?" ":"");const VE=jE?"2":"1";const JE=xT===BE.Type.BLOCK_FOLDED?false:xT===BE.Type.BLOCK_LITERAL?true:!lineLengthOverLimit(OT,UE.fold.lineWidth,jE.length);let KE=JE?"|":">";if(!OT)return KE+"\n";let zE="";let $E="";OT=OT.replace(/[\n\t ]*$/,(pT=>{const xT=pT.indexOf("\n");if(xT===-1){KE+="-"}else if(OT===pT||xT!==pT.length-1){KE+="+";if(ME)ME()}$E=pT.replace(/\n$/,"");return""})).replace(/^[\n ]*/,(pT=>{if(pT.indexOf(" ")!==-1)KE+=VE;const xT=pT.match(/ +$/);if(xT){zE=pT.slice(0,-xT[0].length);return xT[0]}else{zE=pT;return""}}));if($E)$E=$E.replace(/\n+(?!\n|$)/g,`$&${jE}`);if(zE)zE=zE.replace(/\n+/g,`$&${jE}`);if(pT){KE+=" #"+pT.replace(/ ?[\r\n]+/g," ");if(RE)RE()}if(!OT)return`${KE}${VE}\n${jE}${$E}`;if(JE){OT=OT.replace(/\n+/g,`$&${jE}`);return`${KE}\n${jE}${zE}${OT}${$E}`}OT=OT.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${jE}`);const GE=foldFlowLines(`${zE}${OT}${$E}`,jE,qE,UE.fold);return`${KE}\n${jE}${GE}`}function plainString(pT,xT,OT,LE){const{comment:RE,type:ME,value:jE}=pT;const{actualString:VE,implicitKey:UE,indent:qE,inFlow:KE}=xT;if(UE&&/[\n[\]{},]/.test(jE)||KE&&/[[\]{},]/.test(jE)){return doubleQuotedString(jE,xT)}if(!jE||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(jE)){return UE||KE||jE.indexOf("\n")===-1?jE.indexOf('"')!==-1&&jE.indexOf("'")===-1?singleQuotedString(jE,xT):doubleQuotedString(jE,xT):blockString(pT,xT,OT,LE)}if(!UE&&!KE&&ME!==BE.Type.PLAIN&&jE.indexOf("\n")!==-1){return blockString(pT,xT,OT,LE)}if(qE===""&&containsDocumentMarker(jE)){xT.forceBlockIndent=true;return blockString(pT,xT,OT,LE)}const zE=jE.replace(/\n+/g,`$&\n${qE}`);if(VE){const{tags:pT}=xT.doc.schema;const OT=resolveScalar(zE,pT,pT.scalarFallback).value;if(typeof OT!=="string")return doubleQuotedString(jE,xT)}const $E=UE?zE:foldFlowLines(zE,qE,JE,getFoldOptions(xT));if(RE&&!KE&&($E.indexOf("\n")!==-1||RE.indexOf("\n")!==-1)){if(OT)OT();return addCommentBefore($E,qE,RE)}return $E}function stringifyString(pT,xT,OT,LE){const{defaultType:RE}=UE;const{implicitKey:ME,inFlow:jE}=xT;let{type:VE,value:JE}=pT;if(typeof JE!=="string"){JE=String(JE);pT=Object.assign({},pT,{value:JE})}const _stringify=RE=>{switch(RE){case BE.Type.BLOCK_FOLDED:case BE.Type.BLOCK_LITERAL:return blockString(pT,xT,OT,LE);case BE.Type.QUOTE_DOUBLE:return doubleQuotedString(JE,xT);case BE.Type.QUOTE_SINGLE:return singleQuotedString(JE,xT);case BE.Type.PLAIN:return plainString(pT,xT,OT,LE);default:return null}};if(VE!==BE.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(JE)){VE=BE.Type.QUOTE_DOUBLE}else if((ME||jE)&&(VE===BE.Type.BLOCK_FOLDED||VE===BE.Type.BLOCK_LITERAL)){VE=BE.Type.QUOTE_DOUBLE}let qE=_stringify(VE);if(qE===null){qE=_stringify(RE);if(qE===null)throw new Error(`Unsupported default string type ${RE}`)}return qE}function stringifyNumber({format:pT,minFractionDigits:xT,tag:OT,value:BE}){if(typeof BE==="bigint")return String(BE);if(!isFinite(BE))return isNaN(BE)?".nan":BE<0?"-.inf":".inf";let LE=JSON.stringify(BE);if(!pT&&xT&&(!OT||OT==="tag:yaml.org,2002:float")&&/^\d/.test(LE)){let pT=LE.indexOf(".");if(pT<0){pT=LE.length;LE+="."}let OT=xT-(LE.length-pT-1);while(OT-- >0)LE+="0"}return LE}function checkFlowCollectionEnd(pT,xT){let OT,LE;switch(xT.type){case BE.Type.FLOW_MAP:OT="}";LE="flow map";break;case BE.Type.FLOW_SEQ:OT="]";LE="flow sequence";break;default:pT.push(new BE.YAMLSemanticError(xT,"Not a flow collection!?"));return}let RE;for(let pT=xT.items.length-1;pT>=0;--pT){const OT=xT.items[pT];if(!OT||OT.type!==BE.Type.COMMENT){RE=OT;break}}if(RE&&RE.char!==OT){const ME=`Expected ${LE} to end with ${OT}`;let jE;if(typeof RE.offset==="number"){jE=new BE.YAMLSemanticError(xT,ME);jE.offset=RE.offset+1}else{jE=new BE.YAMLSemanticError(RE,ME);if(RE.range&&RE.range.end)jE.offset=RE.range.end-RE.range.start}pT.push(jE)}}function checkFlowCommentSpace(pT,xT){const OT=xT.context.src[xT.range.start-1];if(OT!=="\n"&&OT!=="\t"&&OT!==" "){const OT="Comments must be separated from other tokens by white space characters";pT.push(new BE.YAMLSemanticError(xT,OT))}}function getLongKeyError(pT,xT){const OT=String(xT);const LE=OT.substr(0,8)+"..."+OT.substr(-8);return new BE.YAMLSemanticError(pT,`The "${LE}" key is too long`)}function resolveComments(pT,xT){for(const{afterKey:OT,before:BE,comment:LE}of xT){let xT=pT.items[BE];if(!xT){if(LE!==undefined){if(pT.comment)pT.comment+="\n"+LE;else pT.comment=LE}}else{if(OT&&xT.value)xT=xT.value;if(LE===undefined){if(OT||!xT.commentBefore)xT.spaceBefore=true}else{if(xT.commentBefore)xT.commentBefore+="\n"+LE;else xT.commentBefore=LE}}}}function resolveString(pT,xT){const OT=xT.strValue;if(!OT)return"";if(typeof OT==="string")return OT;OT.errors.forEach((OT=>{if(!OT.source)OT.source=xT;pT.errors.push(OT)}));return OT.str}function resolveTagHandle(pT,xT){const{handle:OT,suffix:LE}=xT.tag;let RE=pT.tagPrefixes.find((pT=>pT.handle===OT));if(!RE){const LE=pT.getDefaults().tagPrefixes;if(LE)RE=LE.find((pT=>pT.handle===OT));if(!RE)throw new BE.YAMLSemanticError(xT,`The ${OT} tag handle is non-default and was not declared.`)}if(!LE)throw new BE.YAMLSemanticError(xT,`The ${OT} tag has no suffix.`);if(OT==="!"&&(pT.version||pT.options.version)==="1.0"){if(LE[0]==="^"){pT.warnings.push(new BE.YAMLWarning(xT,"YAML 1.0 ^ tag expansion is not supported"));return LE}if(/[:/]/.test(LE)){const pT=LE.match(/^([a-z0-9-]+)\/(.*)/i);return pT?`tag:${pT[1]}.yaml.org,2002:${pT[2]}`:`tag:${LE}`}}return RE.prefix+decodeURIComponent(LE)}function resolveTagName(pT,xT){const{tag:OT,type:LE}=xT;let RE=false;if(OT){const{handle:LE,suffix:ME,verbatim:jE}=OT;if(jE){if(jE!=="!"&&jE!=="!!")return jE;const OT=`Verbatim tags aren't resolved, so ${jE} is invalid.`;pT.errors.push(new BE.YAMLSemanticError(xT,OT))}else if(LE==="!"&&!ME){RE=true}else{try{return resolveTagHandle(pT,xT)}catch(xT){pT.errors.push(xT)}}}switch(LE){case BE.Type.BLOCK_FOLDED:case BE.Type.BLOCK_LITERAL:case BE.Type.QUOTE_DOUBLE:case BE.Type.QUOTE_SINGLE:return BE.defaultTags.STR;case BE.Type.FLOW_MAP:case BE.Type.MAP:return BE.defaultTags.MAP;case BE.Type.FLOW_SEQ:case BE.Type.SEQ:return BE.defaultTags.SEQ;case BE.Type.PLAIN:return RE?BE.defaultTags.STR:null;default:return null}}function resolveByTagName(pT,xT,OT){const{tags:BE}=pT.schema;const LE=[];for(const RE of BE){if(RE.tag===OT){if(RE.test)LE.push(RE);else{const OT=RE.resolve(pT,xT);return OT instanceof Collection?OT:new Scalar(OT)}}}const RE=resolveString(pT,xT);if(typeof RE==="string"&&LE.length>0)return resolveScalar(RE,LE,BE.scalarFallback);return null}function getFallbackTagName({type:pT}){switch(pT){case BE.Type.FLOW_MAP:case BE.Type.MAP:return BE.defaultTags.MAP;case BE.Type.FLOW_SEQ:case BE.Type.SEQ:return BE.defaultTags.SEQ;default:return BE.defaultTags.STR}}function resolveTag(pT,xT,OT){try{const BE=resolveByTagName(pT,xT,OT);if(BE){if(OT&&xT.tag)BE.tag=OT;return BE}}catch(OT){if(!OT.source)OT.source=xT;pT.errors.push(OT);return null}try{const LE=getFallbackTagName(xT);if(!LE)throw new Error(`The tag ${OT} is unavailable`);const RE=`The tag ${OT} is unavailable, falling back to ${LE}`;pT.warnings.push(new BE.YAMLWarning(xT,RE));const ME=resolveByTagName(pT,xT,LE);ME.tag=OT;return ME}catch(OT){const LE=new BE.YAMLReferenceError(xT,OT.message);LE.stack=OT.stack;pT.errors.push(LE);return null}}const isCollectionItem=pT=>{if(!pT)return false;const{type:xT}=pT;return xT===BE.Type.MAP_KEY||xT===BE.Type.MAP_VALUE||xT===BE.Type.SEQ_ITEM};function resolveNodeProps(pT,xT){const OT={before:[],after:[]};let LE=false;let RE=false;const ME=isCollectionItem(xT.context.parent)?xT.context.parent.props.concat(xT.props):xT.props;for(const{start:jE,end:VE}of ME){switch(xT.context.src[jE]){case BE.Char.COMMENT:{if(!xT.commentHasRequiredWhitespace(jE)){const OT="Comments must be separated from other tokens by white space characters";pT.push(new BE.YAMLSemanticError(xT,OT))}const{header:LE,valueRange:RE}=xT;const ME=RE&&(jE>RE.start||LE&&jE>LE.start)?OT.after:OT.before;ME.push(xT.context.src.slice(jE+1,VE));break}case BE.Char.ANCHOR:if(LE){const OT="A node can have at most one anchor";pT.push(new BE.YAMLSemanticError(xT,OT))}LE=true;break;case BE.Char.TAG:if(RE){const OT="A node can have at most one tag";pT.push(new BE.YAMLSemanticError(xT,OT))}RE=true;break}}return{comments:OT,hasAnchor:LE,hasTag:RE}}function resolveNodeValue(pT,xT){const{anchors:OT,errors:LE,schema:RE}=pT;if(xT.type===BE.Type.ALIAS){const pT=xT.rawValue;const RE=OT.getNode(pT);if(!RE){const OT=`Aliased anchor not found: ${pT}`;LE.push(new BE.YAMLReferenceError(xT,OT));return null}const ME=new Alias(RE);OT._cstAliases.push(ME);return ME}const ME=resolveTagName(pT,xT);if(ME)return resolveTag(pT,xT,ME);if(xT.type!==BE.Type.PLAIN){const pT=`Failed to resolve ${xT.type} node here`;LE.push(new BE.YAMLSyntaxError(xT,pT));return null}try{const OT=resolveString(pT,xT);return resolveScalar(OT,RE.tags,RE.tags.scalarFallback)}catch(pT){if(!pT.source)pT.source=xT;LE.push(pT);return null}}function resolveNode(pT,xT){if(!xT)return null;if(xT.error)pT.errors.push(xT.error);const{comments:OT,hasAnchor:LE,hasTag:RE}=resolveNodeProps(pT.errors,xT);if(LE){const{anchors:OT}=pT;const BE=xT.anchor;const LE=OT.getNode(BE);if(LE)OT.map[OT.newName(BE)]=LE;OT.map[BE]=xT}if(xT.type===BE.Type.ALIAS&&(LE||RE)){const OT="An alias node must not specify any properties";pT.errors.push(new BE.YAMLSemanticError(xT,OT))}const ME=resolveNodeValue(pT,xT);if(ME){ME.range=[xT.range.start,xT.range.end];if(pT.options.keepCstNodes)ME.cstNode=xT;if(pT.options.keepNodeTypes)ME.type=xT.type;const BE=OT.before.join("\n");if(BE){ME.commentBefore=ME.commentBefore?`${ME.commentBefore}\n${BE}`:BE}const LE=OT.after.join("\n");if(LE)ME.comment=ME.comment?`${ME.comment}\n${LE}`:LE}return xT.resolved=ME}function resolveMap(pT,xT){if(xT.type!==BE.Type.MAP&&xT.type!==BE.Type.FLOW_MAP){const OT=`A ${xT.type} node cannot be resolved as a mapping`;pT.errors.push(new BE.YAMLSyntaxError(xT,OT));return null}const{comments:OT,items:RE}=xT.type===BE.Type.FLOW_MAP?resolveFlowMapItems(pT,xT):resolveBlockMapItems(pT,xT);const ME=new YAMLMap;ME.items=RE;resolveComments(ME,OT);let jE=false;for(let OT=0;OT<RE.length;++OT){const{key:ME}=RE[OT];if(ME instanceof Collection)jE=true;if(pT.schema.merge&&ME&&ME.value===LE){RE[OT]=new Merge(RE[OT]);const LE=RE[OT].value.items;let ME=null;LE.some((pT=>{if(pT instanceof Alias){const{type:xT}=pT.source;if(xT===BE.Type.MAP||xT===BE.Type.FLOW_MAP)return false;return ME="Merge nodes aliases can only point to maps"}return ME="Merge nodes can only have Alias nodes as values"}));if(ME)pT.errors.push(new BE.YAMLSemanticError(xT,ME))}else{for(let LE=OT+1;LE<RE.length;++LE){const{key:OT}=RE[LE];if(ME===OT||ME&&OT&&Object.prototype.hasOwnProperty.call(ME,"value")&&ME.value===OT.value){const OT=`Map keys must be unique; "${ME}" is repeated`;pT.errors.push(new BE.YAMLSemanticError(xT,OT));break}}}}if(jE&&!pT.options.mapAsMap){const OT="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";pT.warnings.push(new BE.YAMLWarning(xT,OT))}xT.resolved=ME;return ME}const valueHasPairComment=({context:{lineStart:pT,node:xT,src:OT},props:LE})=>{if(LE.length===0)return false;const{start:RE}=LE[0];if(xT&&RE>xT.valueRange.start)return false;if(OT[RE]!==BE.Char.COMMENT)return false;for(let xT=pT;xT<RE;++xT)if(OT[xT]==="\n")return false;return true};function resolvePairComment(pT,xT){if(!valueHasPairComment(pT))return;const OT=pT.getPropValue(0,BE.Char.COMMENT,true);let LE=false;const RE=xT.value.commentBefore;if(RE&&RE.startsWith(OT)){xT.value.commentBefore=RE.substr(OT.length+1);LE=true}else{const BE=xT.value.comment;if(!pT.node&&BE&&BE.startsWith(OT)){xT.value.comment=BE.substr(OT.length+1);LE=true}}if(LE)xT.comment=OT}function resolveBlockMapItems(pT,xT){const OT=[];const LE=[];let RE=undefined;let ME=null;for(let jE=0;jE<xT.items.length;++jE){const VE=xT.items[jE];switch(VE.type){case BE.Type.BLANK_LINE:OT.push({afterKey:!!RE,before:LE.length});break;case BE.Type.COMMENT:OT.push({afterKey:!!RE,before:LE.length,comment:VE.comment});break;case BE.Type.MAP_KEY:if(RE!==undefined)LE.push(new Pair(RE));if(VE.error)pT.errors.push(VE.error);RE=resolveNode(pT,VE.node);ME=null;break;case BE.Type.MAP_VALUE:{if(RE===undefined)RE=null;if(VE.error)pT.errors.push(VE.error);if(!VE.context.atLineStart&&VE.node&&VE.node.type===BE.Type.MAP&&!VE.node.context.atLineStart){const xT="Nested mappings are not allowed in compact mappings";pT.errors.push(new BE.YAMLSemanticError(VE.node,xT))}let OT=VE.node;if(!OT&&VE.props.length>0){OT=new BE.PlainValue(BE.Type.PLAIN,[]);OT.context={parent:VE,src:VE.context.src};const pT=VE.range.start+1;OT.range={start:pT,end:pT};OT.valueRange={start:pT,end:pT};if(typeof VE.range.origStart==="number"){const pT=VE.range.origStart+1;OT.range.origStart=OT.range.origEnd=pT;OT.valueRange.origStart=OT.valueRange.origEnd=pT}}const jE=new Pair(RE,resolveNode(pT,OT));resolvePairComment(VE,jE);LE.push(jE);if(RE&&typeof ME==="number"){if(VE.range.start>ME+1024)pT.errors.push(getLongKeyError(xT,RE))}RE=undefined;ME=null}break;default:if(RE!==undefined)LE.push(new Pair(RE));RE=resolveNode(pT,VE);ME=VE.range.start;if(VE.error)pT.errors.push(VE.error);e:for(let OT=jE+1;;++OT){const LE=xT.items[OT];switch(LE&&LE.type){case BE.Type.BLANK_LINE:case BE.Type.COMMENT:continue e;case BE.Type.MAP_VALUE:break e;default:{const xT="Implicit map keys need to be followed by map values";pT.errors.push(new BE.YAMLSemanticError(VE,xT));break e}}}if(VE.valueRangeContainsNewline){const xT="Implicit map keys need to be on a single line";pT.errors.push(new BE.YAMLSemanticError(VE,xT))}}}if(RE!==undefined)LE.push(new Pair(RE));return{comments:OT,items:LE}}function resolveFlowMapItems(pT,xT){const OT=[];const LE=[];let RE=undefined;let ME=false;let jE="{";for(let VE=0;VE<xT.items.length;++VE){const UE=xT.items[VE];if(typeof UE.char==="string"){const{char:OT,offset:JE}=UE;if(OT==="?"&&RE===undefined&&!ME){ME=true;jE=":";continue}if(OT===":"){if(RE===undefined)RE=null;if(jE===":"){jE=",";continue}}else{if(ME){if(RE===undefined&&OT!==",")RE=null;ME=false}if(RE!==undefined){LE.push(new Pair(RE));RE=undefined;if(OT===","){jE=":";continue}}}if(OT==="}"){if(VE===xT.items.length-1)continue}else if(OT===jE){jE=":";continue}const qE=`Flow map contains an unexpected ${OT}`;const KE=new BE.YAMLSyntaxError(xT,qE);KE.offset=JE;pT.errors.push(KE)}else if(UE.type===BE.Type.BLANK_LINE){OT.push({afterKey:!!RE,before:LE.length})}else if(UE.type===BE.Type.COMMENT){checkFlowCommentSpace(pT.errors,UE);OT.push({afterKey:!!RE,before:LE.length,comment:UE.comment})}else if(RE===undefined){if(jE===",")pT.errors.push(new BE.YAMLSemanticError(UE,"Separator , missing in flow map"));RE=resolveNode(pT,UE)}else{if(jE!==",")pT.errors.push(new BE.YAMLSemanticError(UE,"Indicator : missing in flow map entry"));LE.push(new Pair(RE,resolveNode(pT,UE)));RE=undefined;ME=false}}checkFlowCollectionEnd(pT.errors,xT);if(RE!==undefined)LE.push(new Pair(RE));return{comments:OT,items:LE}}function resolveSeq(pT,xT){if(xT.type!==BE.Type.SEQ&&xT.type!==BE.Type.FLOW_SEQ){const OT=`A ${xT.type} node cannot be resolved as a sequence`;pT.errors.push(new BE.YAMLSyntaxError(xT,OT));return null}const{comments:OT,items:LE}=xT.type===BE.Type.FLOW_SEQ?resolveFlowSeqItems(pT,xT):resolveBlockSeqItems(pT,xT);const RE=new YAMLSeq;RE.items=LE;resolveComments(RE,OT);if(!pT.options.mapAsMap&&LE.some((pT=>pT instanceof Pair&&pT.key instanceof Collection))){const OT="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";pT.warnings.push(new BE.YAMLWarning(xT,OT))}xT.resolved=RE;return RE}function resolveBlockSeqItems(pT,xT){const OT=[];const LE=[];for(let RE=0;RE<xT.items.length;++RE){const ME=xT.items[RE];switch(ME.type){case BE.Type.BLANK_LINE:OT.push({before:LE.length});break;case BE.Type.COMMENT:OT.push({comment:ME.comment,before:LE.length});break;case BE.Type.SEQ_ITEM:if(ME.error)pT.errors.push(ME.error);LE.push(resolveNode(pT,ME.node));if(ME.hasProps){const xT="Sequence items cannot have tags or anchors before the - indicator";pT.errors.push(new BE.YAMLSemanticError(ME,xT))}break;default:if(ME.error)pT.errors.push(ME.error);pT.errors.push(new BE.YAMLSyntaxError(ME,`Unexpected ${ME.type} node in sequence`))}}return{comments:OT,items:LE}}function resolveFlowSeqItems(pT,xT){const OT=[];const LE=[];let RE=false;let ME=undefined;let jE=null;let VE="[";let UE=null;for(let JE=0;JE<xT.items.length;++JE){const qE=xT.items[JE];if(typeof qE.char==="string"){const{char:OT,offset:KE}=qE;if(OT!==":"&&(RE||ME!==undefined)){if(RE&&ME===undefined)ME=VE?LE.pop():null;LE.push(new Pair(ME));RE=false;ME=undefined;jE=null}if(OT===VE){VE=null}else if(!VE&&OT==="?"){RE=true}else if(VE!=="["&&OT===":"&&ME===undefined){if(VE===","){ME=LE.pop();if(ME instanceof Pair){const OT="Chaining flow sequence pairs is invalid";const LE=new BE.YAMLSemanticError(xT,OT);LE.offset=KE;pT.errors.push(LE)}if(!RE&&typeof jE==="number"){const OT=qE.range?qE.range.start:qE.offset;if(OT>jE+1024)pT.errors.push(getLongKeyError(xT,ME));const{src:LE}=UE.context;for(let xT=jE;xT<OT;++xT)if(LE[xT]==="\n"){const xT="Implicit keys of flow sequence pairs need to be on a single line";pT.errors.push(new BE.YAMLSemanticError(UE,xT));break}}}else{ME=null}jE=null;RE=false;VE=null}else if(VE==="["||OT!=="]"||JE<xT.items.length-1){const LE=`Flow sequence contains an unexpected ${OT}`;const RE=new BE.YAMLSyntaxError(xT,LE);RE.offset=KE;pT.errors.push(RE)}}else if(qE.type===BE.Type.BLANK_LINE){OT.push({before:LE.length})}else if(qE.type===BE.Type.COMMENT){checkFlowCommentSpace(pT.errors,qE);OT.push({comment:qE.comment,before:LE.length})}else{if(VE){const xT=`Expected a ${VE} in flow sequence`;pT.errors.push(new BE.YAMLSemanticError(qE,xT))}const xT=resolveNode(pT,qE);if(ME===undefined){LE.push(xT);UE=qE}else{LE.push(new Pair(ME,xT));ME=undefined}jE=qE.range.start;VE=","}}checkFlowCollectionEnd(pT.errors,xT);if(ME!==undefined)LE.push(new Pair(ME));return{comments:OT,items:LE}}xT.Alias=Alias;xT.Collection=Collection;xT.Merge=Merge;xT.Node=Node;xT.Pair=Pair;xT.Scalar=Scalar;xT.YAMLMap=YAMLMap;xT.YAMLSeq=YAMLSeq;xT.addComment=addComment;xT.binaryOptions=RE;xT.boolOptions=ME;xT.findPair=findPair;xT.intOptions=jE;xT.isEmptyPath=isEmptyPath;xT.nullOptions=VE;xT.resolveMap=resolveMap;xT.resolveNode=resolveNode;xT.resolveSeq=resolveSeq;xT.resolveString=resolveString;xT.strOptions=UE;xT.stringifyNumber=stringifyNumber;xT.stringifyString=stringifyString;xT.toJSON=toJSON},6003:(pT,xT,OT)=>{"use strict";var BE=OT(5215);var LE=OT(4227);const RE={identify:pT=>pT instanceof Uint8Array,default:false,tag:"tag:yaml.org,2002:binary",resolve:(pT,xT)=>{const OT=LE.resolveString(pT,xT);if(typeof Buffer==="function"){return Buffer.from(OT,"base64")}else if(typeof atob==="function"){const pT=atob(OT.replace(/[\n\r]/g,""));const xT=new Uint8Array(pT.length);for(let OT=0;OT<pT.length;++OT)xT[OT]=pT.charCodeAt(OT);return xT}else{const OT="This environment does not support reading binary tags; either Buffer or atob is required";pT.errors.push(new BE.YAMLReferenceError(xT,OT));return null}},options:LE.binaryOptions,stringify:({comment:pT,type:xT,value:OT},RE,ME,jE)=>{let VE;if(typeof Buffer==="function"){VE=OT instanceof Buffer?OT.toString("base64"):Buffer.from(OT.buffer).toString("base64")}else if(typeof btoa==="function"){let pT="";for(let xT=0;xT<OT.length;++xT)pT+=String.fromCharCode(OT[xT]);VE=btoa(pT)}else{throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required")}if(!xT)xT=LE.binaryOptions.defaultType;if(xT===BE.Type.QUOTE_DOUBLE){OT=VE}else{const{lineWidth:pT}=LE.binaryOptions;const RE=Math.ceil(VE.length/pT);const ME=new Array(RE);for(let xT=0,OT=0;xT<RE;++xT,OT+=pT){ME[xT]=VE.substr(OT,pT)}OT=ME.join(xT===BE.Type.BLOCK_LITERAL?"\n":" ")}return LE.stringifyString({comment:pT,type:xT,value:OT},RE,ME,jE)}};function parsePairs(pT,xT){const OT=LE.resolveSeq(pT,xT);for(let pT=0;pT<OT.items.length;++pT){let RE=OT.items[pT];if(RE instanceof LE.Pair)continue;else if(RE instanceof LE.YAMLMap){if(RE.items.length>1){const pT="Each pair must have its own sequence indicator";throw new BE.YAMLSemanticError(xT,pT)}const pT=RE.items[0]||new LE.Pair;if(RE.commentBefore)pT.commentBefore=pT.commentBefore?`${RE.commentBefore}\n${pT.commentBefore}`:RE.commentBefore;if(RE.comment)pT.comment=pT.comment?`${RE.comment}\n${pT.comment}`:RE.comment;RE=pT}OT.items[pT]=RE instanceof LE.Pair?RE:new LE.Pair(RE)}return OT}function createPairs(pT,xT,OT){const BE=new LE.YAMLSeq(pT);BE.tag="tag:yaml.org,2002:pairs";for(const LE of xT){let xT,RE;if(Array.isArray(LE)){if(LE.length===2){xT=LE[0];RE=LE[1]}else throw new TypeError(`Expected [key, value] tuple: ${LE}`)}else if(LE&&LE instanceof Object){const pT=Object.keys(LE);if(pT.length===1){xT=pT[0];RE=LE[xT]}else throw new TypeError(`Expected { key: value } tuple: ${LE}`)}else{xT=LE}const ME=pT.createPair(xT,RE,OT);BE.items.push(ME)}return BE}const ME={default:false,tag:"tag:yaml.org,2002:pairs",resolve:parsePairs,createNode:createPairs};class YAMLOMap extends LE.YAMLSeq{constructor(){super();BE._defineProperty(this,"add",LE.YAMLMap.prototype.add.bind(this));BE._defineProperty(this,"delete",LE.YAMLMap.prototype.delete.bind(this));BE._defineProperty(this,"get",LE.YAMLMap.prototype.get.bind(this));BE._defineProperty(this,"has",LE.YAMLMap.prototype.has.bind(this));BE._defineProperty(this,"set",LE.YAMLMap.prototype.set.bind(this));this.tag=YAMLOMap.tag}toJSON(pT,xT){const OT=new Map;if(xT&&xT.onCreate)xT.onCreate(OT);for(const pT of this.items){let BE,RE;if(pT instanceof LE.Pair){BE=LE.toJSON(pT.key,"",xT);RE=LE.toJSON(pT.value,BE,xT)}else{BE=LE.toJSON(pT,"",xT)}if(OT.has(BE))throw new Error("Ordered maps must not include duplicate keys");OT.set(BE,RE)}return OT}}BE._defineProperty(YAMLOMap,"tag","tag:yaml.org,2002:omap");function parseOMap(pT,xT){const OT=parsePairs(pT,xT);const RE=[];for(const{key:pT}of OT.items){if(pT instanceof LE.Scalar){if(RE.includes(pT.value)){const pT="Ordered maps must not include duplicate keys";throw new BE.YAMLSemanticError(xT,pT)}else{RE.push(pT.value)}}}return Object.assign(new YAMLOMap,OT)}function createOMap(pT,xT,OT){const BE=createPairs(pT,xT,OT);const LE=new YAMLOMap;LE.items=BE.items;return LE}const jE={identify:pT=>pT instanceof Map,nodeClass:YAMLOMap,default:false,tag:"tag:yaml.org,2002:omap",resolve:parseOMap,createNode:createOMap};class YAMLSet extends LE.YAMLMap{constructor(){super();this.tag=YAMLSet.tag}add(pT){const xT=pT instanceof LE.Pair?pT:new LE.Pair(pT);const OT=LE.findPair(this.items,xT.key);if(!OT)this.items.push(xT)}get(pT,xT){const OT=LE.findPair(this.items,pT);return!xT&&OT instanceof LE.Pair?OT.key instanceof LE.Scalar?OT.key.value:OT.key:OT}set(pT,xT){if(typeof xT!=="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof xT}`);const OT=LE.findPair(this.items,pT);if(OT&&!xT){this.items.splice(this.items.indexOf(OT),1)}else if(!OT&&xT){this.items.push(new LE.Pair(pT))}}toJSON(pT,xT){return super.toJSON(pT,xT,Set)}toString(pT,xT,OT){if(!pT)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(pT,xT,OT);else throw new Error("Set items must all have null values")}}BE._defineProperty(YAMLSet,"tag","tag:yaml.org,2002:set");function parseSet(pT,xT){const OT=LE.resolveMap(pT,xT);if(!OT.hasAllNullValues())throw new BE.YAMLSemanticError(xT,"Set items must all have null values");return Object.assign(new YAMLSet,OT)}function createSet(pT,xT,OT){const BE=new YAMLSet;for(const LE of xT)BE.items.push(pT.createPair(LE,null,OT));return BE}const VE={identify:pT=>pT instanceof Set,nodeClass:YAMLSet,default:false,tag:"tag:yaml.org,2002:set",resolve:parseSet,createNode:createSet};const parseSexagesimal=(pT,xT)=>{const OT=xT.split(":").reduce(((pT,xT)=>pT*60+Number(xT)),0);return pT==="-"?-OT:OT};const stringifySexagesimal=({value:pT})=>{if(isNaN(pT)||!isFinite(pT))return LE.stringifyNumber(pT);let xT="";if(pT<0){xT="-";pT=Math.abs(pT)}const OT=[pT%60];if(pT<60){OT.unshift(0)}else{pT=Math.round((pT-OT[0])/60);OT.unshift(pT%60);if(pT>=60){pT=Math.round((pT-OT[0])/60);OT.unshift(pT)}}return xT+OT.map((pT=>pT<10?"0"+String(pT):String(pT))).join(":").replace(/000000\d*$/,"")};const UE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(pT,xT,OT)=>parseSexagesimal(xT,OT.replace(/_/g,"")),stringify:stringifySexagesimal};const JE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(pT,xT,OT)=>parseSexagesimal(xT,OT.replace(/_/g,"")),stringify:stringifySexagesimal};const qE={identify:pT=>pT instanceof Date,default:true,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:"+"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"+"(?:(?:t|T|[ \\t]+)"+"([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)"+"(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?"+")?"+")$"),resolve:(pT,xT,OT,BE,LE,RE,ME,jE,VE)=>{if(jE)jE=(jE+"00").substr(1,3);let UE=Date.UTC(xT,OT-1,BE,LE||0,RE||0,ME||0,jE||0);if(VE&&VE!=="Z"){let pT=parseSexagesimal(VE[0],VE.slice(1));if(Math.abs(pT)<30)pT*=60;UE-=6e4*pT}return new Date(UE)},stringify:({value:pT})=>pT.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function shouldWarn(pT){const xT=typeof process!=="undefined"&&process.env||{};if(pT){if(typeof YAML_SILENCE_DEPRECATION_WARNINGS!=="undefined")return!YAML_SILENCE_DEPRECATION_WARNINGS;return!xT.YAML_SILENCE_DEPRECATION_WARNINGS}if(typeof YAML_SILENCE_WARNINGS!=="undefined")return!YAML_SILENCE_WARNINGS;return!xT.YAML_SILENCE_WARNINGS}function warn(pT,xT){if(shouldWarn(false)){const OT=typeof process!=="undefined"&&process.emitWarning;if(OT)OT(pT,xT);else{console.warn(xT?`${xT}: ${pT}`:pT)}}}function warnFileDeprecation(pT){if(shouldWarn(true)){const xT=pT.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");warn(`The endpoint 'yaml/${xT}' will be removed in a future release.`,"DeprecationWarning")}}const KE={};function warnOptionDeprecation(pT,xT){if(!KE[pT]&&shouldWarn(true)){KE[pT]=true;let OT=`The option '${pT}' will be removed in a future release`;OT+=xT?`, use '${xT}' instead.`:".";warn(OT,"DeprecationWarning")}}xT.binary=RE;xT.floatTime=JE;xT.intTime=UE;xT.omap=jE;xT.pairs=ME;xT.set=VE;xT.timestamp=qE;xT.warn=warn;xT.warnFileDeprecation=warnFileDeprecation;xT.warnOptionDeprecation=warnOptionDeprecation},7236:(pT,xT,OT)=>{pT.exports=OT(5065).YAML},6615:pT=>{"use strict";pT.exports=JSON.parse('{"dots":{"interval":80,"frames":["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"]},"dots2":{"interval":80,"frames":["⣾","⣽","⣻","⢿","⡿","⣟","⣯","⣷"]},"dots3":{"interval":80,"frames":["⠋","⠙","⠚","⠞","⠖","⠦","⠴","⠲","⠳","⠓"]},"dots4":{"interval":80,"frames":["⠄","⠆","⠇","⠋","⠙","⠸","⠰","⠠","⠰","⠸","⠙","⠋","⠇","⠆"]},"dots5":{"interval":80,"frames":["⠋","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋"]},"dots6":{"interval":80,"frames":["⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠴","⠲","⠒","⠂","⠂","⠒","⠚","⠙","⠉","⠁"]},"dots7":{"interval":80,"frames":["⠈","⠉","⠋","⠓","⠒","⠐","⠐","⠒","⠖","⠦","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈"]},"dots8":{"interval":80,"frames":["⠁","⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈","⠈"]},"dots9":{"interval":80,"frames":["⢹","⢺","⢼","⣸","⣇","⡧","⡗","⡏"]},"dots10":{"interval":80,"frames":["⢄","⢂","⢁","⡁","⡈","⡐","⡠"]},"dots11":{"interval":100,"frames":["⠁","⠂","⠄","⡀","⢀","⠠","⠐","⠈"]},"dots12":{"interval":80,"frames":["⢀⠀","⡀⠀","⠄⠀","⢂⠀","⡂⠀","⠅⠀","⢃⠀","⡃⠀","⠍⠀","⢋⠀","⡋⠀","⠍⠁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⢈⠩","⡀⢙","⠄⡙","⢂⠩","⡂⢘","⠅⡘","⢃⠨","⡃⢐","⠍⡐","⢋⠠","⡋⢀","⠍⡁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⠈⠩","⠀⢙","⠀⡙","⠀⠩","⠀⢘","⠀⡘","⠀⠨","⠀⢐","⠀⡐","⠀⠠","⠀⢀","⠀⡀"]},"dots8Bit":{"interval":80,"frames":["⠀","⠁","⠂","⠃","⠄","⠅","⠆","⠇","⡀","⡁","⡂","⡃","⡄","⡅","⡆","⡇","⠈","⠉","⠊","⠋","⠌","⠍","⠎","⠏","⡈","⡉","⡊","⡋","⡌","⡍","⡎","⡏","⠐","⠑","⠒","⠓","⠔","⠕","⠖","⠗","⡐","⡑","⡒","⡓","⡔","⡕","⡖","⡗","⠘","⠙","⠚","⠛","⠜","⠝","⠞","⠟","⡘","⡙","⡚","⡛","⡜","⡝","⡞","⡟","⠠","⠡","⠢","⠣","⠤","⠥","⠦","⠧","⡠","⡡","⡢","⡣","⡤","⡥","⡦","⡧","⠨","⠩","⠪","⠫","⠬","⠭","⠮","⠯","⡨","⡩","⡪","⡫","⡬","⡭","⡮","⡯","⠰","⠱","⠲","⠳","⠴","⠵","⠶","⠷","⡰","⡱","⡲","⡳","⡴","⡵","⡶","⡷","⠸","⠹","⠺","⠻","⠼","⠽","⠾","⠿","⡸","⡹","⡺","⡻","⡼","⡽","⡾","⡿","⢀","⢁","⢂","⢃","⢄","⢅","⢆","⢇","⣀","⣁","⣂","⣃","⣄","⣅","⣆","⣇","⢈","⢉","⢊","⢋","⢌","⢍","⢎","⢏","⣈","⣉","⣊","⣋","⣌","⣍","⣎","⣏","⢐","⢑","⢒","⢓","⢔","⢕","⢖","⢗","⣐","⣑","⣒","⣓","⣔","⣕","⣖","⣗","⢘","⢙","⢚","⢛","⢜","⢝","⢞","⢟","⣘","⣙","⣚","⣛","⣜","⣝","⣞","⣟","⢠","⢡","⢢","⢣","⢤","⢥","⢦","⢧","⣠","⣡","⣢","⣣","⣤","⣥","⣦","⣧","⢨","⢩","⢪","⢫","⢬","⢭","⢮","⢯","⣨","⣩","⣪","⣫","⣬","⣭","⣮","⣯","⢰","⢱","⢲","⢳","⢴","⢵","⢶","⢷","⣰","⣱","⣲","⣳","⣴","⣵","⣶","⣷","⢸","⢹","⢺","⢻","⢼","⢽","⢾","⢿","⣸","⣹","⣺","⣻","⣼","⣽","⣾","⣿"]},"line":{"interval":130,"frames":["-","\\\\","|","/"]},"line2":{"interval":100,"frames":["⠂","-","–","—","–","-"]},"pipe":{"interval":100,"frames":["┤","┘","┴","└","├","┌","┬","┐"]},"simpleDots":{"interval":400,"frames":[". ",".. ","..."," "]},"simpleDotsScrolling":{"interval":200,"frames":[". ",".. ","..."," .."," ."," "]},"star":{"interval":70,"frames":["✶","✸","✹","✺","✹","✷"]},"star2":{"interval":80,"frames":["+","x","*"]},"flip":{"interval":70,"frames":["_","_","_","-","`","`","\'","´","-","_","_","_"]},"hamburger":{"interval":100,"frames":["☱","☲","☴"]},"growVertical":{"interval":120,"frames":["▁","▃","▄","▅","▆","▇","▆","▅","▄","▃"]},"growHorizontal":{"interval":120,"frames":["▏","▎","▍","▌","▋","▊","▉","▊","▋","▌","▍","▎"]},"balloon":{"interval":140,"frames":[" ",".","o","O","@","*"," "]},"balloon2":{"interval":120,"frames":[".","o","O","°","O","o","."]},"noise":{"interval":100,"frames":["▓","▒","░"]},"bounce":{"interval":120,"frames":["⠁","⠂","⠄","⠂"]},"boxBounce":{"interval":120,"frames":["▖","▘","▝","▗"]},"boxBounce2":{"interval":100,"frames":["▌","▀","▐","▄"]},"triangle":{"interval":50,"frames":["◢","◣","◤","◥"]},"arc":{"interval":100,"frames":["◜","◠","◝","◞","◡","◟"]},"circle":{"interval":120,"frames":["◡","⊙","◠"]},"squareCorners":{"interval":180,"frames":["◰","◳","◲","◱"]},"circleQuarters":{"interval":120,"frames":["◴","◷","◶","◵"]},"circleHalves":{"interval":50,"frames":["◐","◓","◑","◒"]},"squish":{"interval":100,"frames":["╫","╪"]},"toggle":{"interval":250,"frames":["⊶","⊷"]},"toggle2":{"interval":80,"frames":["▫","▪"]},"toggle3":{"interval":120,"frames":["□","■"]},"toggle4":{"interval":100,"frames":["■","□","▪","▫"]},"toggle5":{"interval":100,"frames":["▮","▯"]},"toggle6":{"interval":300,"frames":["ဝ","၀"]},"toggle7":{"interval":80,"frames":["⦾","⦿"]},"toggle8":{"interval":100,"frames":["◍","◌"]},"toggle9":{"interval":100,"frames":["◉","◎"]},"toggle10":{"interval":100,"frames":["㊂","㊀","㊁"]},"toggle11":{"interval":50,"frames":["⧇","⧆"]},"toggle12":{"interval":120,"frames":["☗","☖"]},"toggle13":{"interval":80,"frames":["=","*","-"]},"arrow":{"interval":100,"frames":["←","↖","↑","↗","→","↘","↓","↙"]},"arrow2":{"interval":80,"frames":["⬆️ ","↗️ ","➡️ ","↘️ ","⬇️ ","↙️ ","⬅️ ","↖️ "]},"arrow3":{"interval":120,"frames":["▹▹▹▹▹","▸▹▹▹▹","▹▸▹▹▹","▹▹▸▹▹","▹▹▹▸▹","▹▹▹▹▸"]},"bouncingBar":{"interval":80,"frames":["[ ]","[= ]","[== ]","[=== ]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},"bouncingBall":{"interval":80,"frames":["( ● )","( ● )","( ● )","( ● )","( ●)","( ● )","( ● )","( ● )","( ● )","(● )"]},"smiley":{"interval":200,"frames":["😄 ","😝 "]},"monkey":{"interval":300,"frames":["🙈 ","🙈 ","🙉 ","🙊 "]},"hearts":{"interval":100,"frames":["💛 ","💙 ","💜 ","💚 ","❤️ "]},"clock":{"interval":100,"frames":["🕛 ","🕐 ","🕑 ","🕒 ","🕓 ","🕔 ","🕕 ","🕖 ","🕗 ","🕘 ","🕙 ","🕚 "]},"earth":{"interval":180,"frames":["🌍 ","🌎 ","🌏 "]},"material":{"interval":17,"frames":["█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███████▁▁▁▁▁▁▁▁▁▁▁▁▁","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","██████████▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","█████████████▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁██████████████▁▁▁▁","▁▁▁██████████████▁▁▁","▁▁▁▁█████████████▁▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁▁▁████████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","██████▁▁▁▁▁▁▁▁▁▁▁▁▁█","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁▁█████████████▁▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁▁███████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁▁█████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"]},"moon":{"interval":80,"frames":["🌑 ","🌒 ","🌓 ","🌔 ","🌕 ","🌖 ","🌗 ","🌘 "]},"runner":{"interval":140,"frames":["🚶 ","🏃 "]},"pong":{"interval":80,"frames":["▐⠂ ▌","▐⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂▌","▐ ⠠▌","▐ ⡀▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐⠠ ▌"]},"shark":{"interval":120,"frames":["▐|\\\\____________▌","▐_|\\\\___________▌","▐__|\\\\__________▌","▐___|\\\\_________▌","▐____|\\\\________▌","▐_____|\\\\_______▌","▐______|\\\\______▌","▐_______|\\\\_____▌","▐________|\\\\____▌","▐_________|\\\\___▌","▐__________|\\\\__▌","▐___________|\\\\_▌","▐____________|\\\\▌","▐____________/|▌","▐___________/|_▌","▐__________/|__▌","▐_________/|___▌","▐________/|____▌","▐_______/|_____▌","▐______/|______▌","▐_____/|_______▌","▐____/|________▌","▐___/|_________▌","▐__/|__________▌","▐_/|___________▌","▐/|____________▌"]},"dqpb":{"interval":100,"frames":["d","q","p","b"]},"weather":{"interval":100,"frames":["☀️ ","☀️ ","☀️ ","🌤 ","⛅️ ","🌥 ","☁️ ","🌧 ","🌨 ","🌧 ","🌨 ","🌧 ","🌨 ","⛈ ","🌨 ","🌧 ","🌨 ","☁️ ","🌥 ","⛅️ ","🌤 ","☀️ ","☀️ "]},"christmas":{"interval":400,"frames":["🌲","🎄"]},"grenade":{"interval":80,"frames":["، ","′ "," ´ "," ‾ "," ⸌"," ⸊"," |"," ⁎"," ⁕"," ෴ "," ⁓"," "," "," "]},"point":{"interval":125,"frames":["∙∙∙","●∙∙","∙●∙","∙∙●","∙∙∙"]},"layer":{"interval":150,"frames":["-","=","≡"]},"betaWave":{"interval":80,"frames":["ρββββββ","βρβββββ","ββρββββ","βββρβββ","ββββρββ","βββββρβ","ββββββρ"]},"fingerDance":{"interval":160,"frames":["🤘 ","🤟 ","🖖 ","✋ ","🤚 ","👆 "]},"fistBump":{"interval":80,"frames":["🤜    🤛 ","🤜    🤛 ","🤜    🤛 "," 🤜  🤛  ","  🤜🤛   "," 🤜✨🤛   ","🤜 ✨ 🤛  "]},"soccerHeader":{"interval":80,"frames":[" 🧑⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 "]},"mindblown":{"interval":160,"frames":["😐 ","😐 ","😮 ","😮 ","😦 ","😦 ","😧 ","😧 ","🤯 ","💥 ","✨ ","  ","  ","  "]},"speaker":{"interval":160,"frames":["🔈 ","🔉 ","🔊 ","🔉 "]},"orangePulse":{"interval":100,"frames":["🔸 ","🔶 ","🟠 ","🟠 ","🔶 "]},"bluePulse":{"interval":100,"frames":["🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},"orangeBluePulse":{"interval":100,"frames":["🔸 ","🔶 ","🟠 ","🟠 ","🔶 ","🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},"timeTravel":{"interval":100,"frames":["🕛 ","🕚 ","🕙 ","🕘 ","🕗 ","🕖 ","🕕 ","🕔 ","🕓 ","🕒 ","🕑 ","🕐 "]},"aesthetic":{"interval":80,"frames":["▰▱▱▱▱▱▱","▰▰▱▱▱▱▱","▰▰▰▱▱▱▱","▰▰▰▰▱▱▱","▰▰▰▰▰▱▱","▰▰▰▰▰▰▱","▰▰▰▰▰▰▰","▰▱▱▱▱▱▱"]}}')},2357:pT=>{"use strict";pT.exports=require("assert")},4293:pT=>{"use strict";pT.exports=require("buffer")},3129:pT=>{"use strict";pT.exports=require("child_process")},8614:pT=>{"use strict";pT.exports=require("events")},5747:pT=>{"use strict";pT.exports=require("fs")},2282:pT=>{"use strict";pT.exports=require("module")},2087:pT=>{"use strict";pT.exports=require("os")},5622:pT=>{"use strict";pT.exports=require("path")},1058:pT=>{"use strict";pT.exports=require("readline")},2413:pT=>{"use strict";pT.exports=require("stream")},3867:pT=>{"use strict";pT.exports=require("tty")},1669:pT=>{"use strict";pT.exports=require("util")}};var xT={};function __nccwpck_require__(OT){var BE=xT[OT];if(BE!==undefined){return BE.exports}var LE=xT[OT]={id:OT,loaded:false,exports:{}};var RE=true;try{pT[OT].call(LE.exports,LE,LE.exports,__nccwpck_require__);RE=false}finally{if(RE)delete xT[OT]}LE.loaded=true;return LE.exports}(()=>{__nccwpck_require__.n=pT=>{var xT=pT&&pT.__esModule?()=>pT["default"]:()=>pT;__nccwpck_require__.d(xT,{a:xT});return xT}})();(()=>{__nccwpck_require__.d=(pT,xT)=>{for(var OT in xT){if(__nccwpck_require__.o(xT,OT)&&!__nccwpck_require__.o(pT,OT)){Object.defineProperty(pT,OT,{enumerable:true,get:xT[OT]})}}}})();(()=>{__nccwpck_require__.o=(pT,xT)=>Object.prototype.hasOwnProperty.call(pT,xT)})();(()=>{__nccwpck_require__.r=pT=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(pT,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(pT,"__esModule",{value:true})}})();(()=>{__nccwpck_require__.nmd=pT=>{pT.paths=[];if(!pT.children)pT.children=[];return pT}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var OT={};(()=>{"use strict";__nccwpck_require__.r(OT);var pT=__nccwpck_require__(1904);var xT=__nccwpck_require__(970);var BE=__nccwpck_require__.n(xT);var LE=__nccwpck_require__(5622);var RE=__nccwpck_require__.n(LE);var ME=__nccwpck_require__(5747);var jE=__nccwpck_require__.n(ME);var VE=__nccwpck_require__(6155);var UE=__nccwpck_require__(7314);var JE=__nccwpck_require__(9882);var qE=__nccwpck_require__(5655);let makeExtractTagsFromSource=pT=>xT=>{const OT=(0,UE.getLocator)(xT);const BE=[];let LE;while((LE=pT.exec(xT))!==null){let pT=OT(LE.index);let xT=OT(LE.index+LE[0].length);BE.push({content:LE[0],start:pT.character,end:xT.character})}return BE};const KE=new RegExp(/(?<=\%relay\([\s]*`)[\s\S.]+?(?=`[\s]*\))/g);const zE=makeExtractTagsFromSource(KE);function prettify(pT){return(0,JE.format)(pT,{parser:"graphql",plugins:[qE]}).replace(/^\s+|\s+$/g,"")}const padOperation=(pT,xT)=>pT.split("\n").map((pT=>" ".repeat(xT)+pT)).join("\n");const $E=new RegExp(/^[\s]*(?=[\w])/g);const GE=new RegExp(/[\s]*$/g);const findOperationPadding=pT=>{const xT=(pT.match($E)||[]).pop();const OT=(xT||"").split("\n").pop();return OT?OT.length:0};const restoreOperationPadding=(pT,xT)=>{const OT=(xT.match(GE)||[]).join("");return"\n"+padOperation(pT,findOperationPadding(xT))+OT};const isNodeInterfaceWithSingleMember=pT=>{var xT;const OT=pT.selectionSet.selections.find((pT=>pT.kind==="Field"&&pT.name.value==="node"));if((OT===null||OT===void 0?void 0:OT.kind)==="Field"){const pT=(xT=OT.selectionSet)===null||xT===void 0?void 0:xT.selections.filter((pT=>pT.kind==="InlineFragment"));return(pT===null||pT===void 0?void 0:pT.length)===1}return false};const namedPathOfAncestors=pT=>(pT||[]).reduce(((pT,xT)=>{var OT,BE;if(Array.isArray(xT)){return pT}const LE=xT;switch(LE.kind){case"Field":return[...pT,LE.name.value];case"InlineFragment":return[...pT,(BE=(OT=LE.typeCondition)===null||OT===void 0?void 0:OT.name.value)!==null&&BE!==void 0?BE:""];default:return pT}}),[]).join("_");const getPathAssets=({unusedFieldPaths:pT,fieldName:xT,ancestors:OT})=>{const BE=namedPathOfAncestors(OT);const LE=BE===""?xT:[namedPathOfAncestors(OT),xT].join("_");const RE=`${LE}.`;const ME=pT.filter((pT=>pT.startsWith(RE))).map((pT=>pT.slice(RE.length)));return{fieldsToRemove:ME,shouldRemoveFullSelection:pT.includes(LE),path:LE,ancestorPath:BE}};const removeUnusedFieldsFromOperation=({definition:pT,unusedFieldPaths:xT})=>{let OT=false;const BE=(0,VE.Vn3)(pT,{InlineFragment(OT,BE,LE,RE,ME){if(OT.typeCondition==null)return OT;const jE=namedPathOfAncestors(ME);const VE=jE==="node"&&isNodeInterfaceWithSingleMember(pT);const UE=VE?jE:[jE,OT.typeCondition.name.value].filter((pT=>pT!=="")).join("_");const JE=`${UE}.`;const qE=xT.filter((pT=>pT.startsWith(JE))).map((pT=>pT.slice(JE.length)));if(qE.length>0){const pT=qE.includes("fragmentRefs");const xT=Object.assign(Object.assign({},OT.selectionSet),{selections:OT.selectionSet.selections.filter((xT=>{var OT,BE;if(xT.kind==="FragmentSpread"&&pT){return false}if(xT.kind==="Field"){const pT=(BE=(OT=xT.alias)===null||OT===void 0?void 0:OT.value)!==null&&BE!==void 0?BE:xT.name.value;return!qE.includes(pT)}return true}))});if(xT.selections.length===0){return null}return Object.assign(Object.assign({},OT),{selectionSet:xT})}return OT},FragmentDefinition(pT){const BE=xT.filter((pT=>!pT.includes(".")));const LE=BE.includes("fragmentRefs");if(BE.length>0){const xT=Object.assign(Object.assign({},pT.selectionSet),{selections:pT.selectionSet.selections.filter((pT=>{var xT,OT;if(pT.kind==="FragmentSpread"&&LE){return false}if(pT.kind==="Field"){const LE=(OT=(xT=pT.alias)===null||xT===void 0?void 0:xT.value)!==null&&OT!==void 0?OT:pT.name.value;return!BE.includes(LE)}return true}))});if(xT.selections.length===0){OT=true;return VE.$_X}return Object.assign(Object.assign({},pT),{selectionSet:xT})}return pT},OperationDefinition(pT){if(pT.operation!=="query"){return pT}const BE=xT.filter((pT=>!pT.includes(".")));const LE=BE.includes("fragmentRefs");if(BE.length>0){const xT=Object.assign(Object.assign({},pT.selectionSet),{selections:pT.selectionSet.selections.filter((pT=>{var xT,OT;if(pT.kind==="FragmentSpread"&&LE){return false}if(pT.kind==="Field"){const LE=(OT=(xT=pT.alias)===null||xT===void 0?void 0:xT.value)!==null&&OT!==void 0?OT:pT.name.value;return!BE.includes(LE)}return true}))});if(xT.selections.length===0){OT=true;return VE.$_X}return Object.assign(Object.assign({},pT),{selectionSet:xT})}return pT},Field(pT,OT,BE,LE,RE){var ME,jE,VE,UE;const JE=(jE=(ME=pT.alias)===null||ME===void 0?void 0:ME.value)!==null&&jE!==void 0?jE:pT.name.value;const{fieldsToRemove:qE,shouldRemoveFullSelection:KE}=getPathAssets({unusedFieldPaths:xT,fieldName:JE,ancestors:RE});if(KE){return null}if(qE.length>0){const xT=qE.includes("fragmentRefs");const OT=(UE=(VE=pT.selectionSet)===null||VE===void 0?void 0:VE.selections)===null||UE===void 0?void 0:UE.filter((pT=>{var OT,BE;if(pT.kind==="FragmentSpread"&&xT){return false}if(pT.kind==="Field"){const xT=(BE=(OT=pT.alias)===null||OT===void 0?void 0:OT.value)!==null&&BE!==void 0?BE:pT.name.value;return!qE.includes(xT)}return true}));const BE={kind:"Field",name:{kind:"Name",value:"__typename"}};return Object.assign(Object.assign({},pT),{selectionSet:{kind:"SelectionSet",selections:(OT===null||OT===void 0?void 0:OT.length)===0?[BE]:OT}})}return pT}});if(OT){return null}return BE};const WE=new RegExp(/(?<=__generated__\/)[A-Za-z_0-9]+(?=_graphql\.res)/g);const YE=new RegExp(/(?<=Types\.(fragment|response)[_.])[A-Za-z_.0-9]+(?= )/g);const HE=new RegExp(/Types\.(fragment|response)/g);const processReanalyzeOutput=pT=>{const xT=pT.split(/\n\n/g).filter((pT=>pT.match(HE))).reduce(((pT,xT)=>{var OT,BE;const LE=xT.includes("Types.fragment")?"fragment":"query";const RE=(OT=xT.match(WE))===null||OT===void 0?void 0:OT[0];const ME=RE==null?null:`${RE}_graphql.res`;const jE=(BE=xT.match(YE))===null||BE===void 0?void 0:BE[0];if(LE==="query"&&!(RE===null||RE===void 0?void 0:RE.toLowerCase().endsWith("query"))){return pT}if(jE==="id"){return pT}if(jE===null||jE===void 0?void 0:jE.endsWith("__typename")){return pT}if(RE==null||jE==null||ME==null){return pT}pT[ME]=pT[ME]||{type:LE,graphqlName:RE,unusedFieldPaths:[]};pT[ME].unusedFieldPaths.push(jE);return pT}),{});return xT};const maybePluralize=(pT,xT)=>{if(xT===1){return`${xT} ${pT}`}return`${xT} ${pT}s`};var XE=__nccwpck_require__(7519);var QE=__nccwpck_require__.n(XE);var ZE=__nccwpck_require__(4066);var eC=undefined&&undefined.__awaiter||function(pT,xT,OT,BE){function adopt(pT){return pT instanceof OT?pT:new OT((function(xT){xT(pT)}))}return new(OT||(OT=Promise))((function(OT,LE){function fulfilled(pT){try{step(BE.next(pT))}catch(pT){LE(pT)}}function rejected(pT){try{step(BE["throw"](pT))}catch(pT){LE(pT)}}function step(pT){pT.done?OT(pT.value):adopt(pT.value).then(fulfilled,rejected)}step((BE=BE.apply(pT,xT||[])).next())}))};const tC=(0,ZE.Wy)("relay",{searchPlaces:["package.json","relay.json","relay.config.json","relay.config.js","relay.config.cjs"]});const loadRelayConfig=()=>{const pT=tC.search();if(!pT){console.error("Could not find relay.config.js. You must configure Relay through relay.config.js for RescriptRelay to work.");process.exit(1)}const xT=pT.config;if(!xT.artifactDirectory){console.error("RescriptRelay requires you to define 'artifactDirectory' (for outputing generated files in a single directory) in your relay.config.js. Please define it and re-run this command.");process.exit(1)}return xT};const getRelayArtifactDirectoryLocation=pT=>{const xT=RE().resolve(RE().join(process.cwd(),pT.artifactDirectory));return xT};const getAllGeneratedFiles=pT=>eC(void 0,void 0,void 0,(function*(){const xT=yield QE()(`${pT}/*.res`,{absolute:true,onlyFiles:true});return xT}));const rC=new RegExp(/(?<=\/\* @sourceLoc )[A-Za-z_.0-9]+(?= \*\/)/g);const findAllSourceFilesFromGeneratedFiles=(pT,xT)=>eC(void 0,void 0,void 0,(function*(){const OT=yield Promise.all(pT.map((pT=>eC(void 0,void 0,void 0,(function*(){var OT;if(xT!=null){xT.text=`Checking ${RE().basename(pT)}...`}const BE=yield jE().promises.readFile(pT,{encoding:"utf-8"});return(OT=BE.match(rC))===null||OT===void 0?void 0:OT[0]})))));const BE=OT.reduce(((pT,xT)=>{if(xT!=null){const OT=xT;if(!pT.includes(OT)){pT.push(OT)}return pT}return pT}),[]);return BE}));const getSrcCwd=pT=>RE().resolve(RE().join(process.cwd(),pT));const findSourceFiles=(pT,xT)=>eC(void 0,void 0,void 0,(function*(){const OT=getSrcCwd(xT);const BE=yield QE()(pT.map((pT=>`**/${pT}`)),{cwd:OT,absolute:true,onlyFiles:true});return BE}));const formatOperationsInDocument=pT=>{const xT=zE(pT);if(xT.length===0){return pT}let OT="";for(let BE=0;BE<=xT.length-1;BE+=1){const LE=xT[BE];const RE=xT[BE-1];const ME=RE==null?0:RE.end;OT+=pT.slice(ME,LE.start);const jE=LE.content.split("\n").some((pT=>pT.trim().startsWith("//")));if(jE){const pT=LE.content.split("\n").map((pT=>pT.replace("//",""))).join("\n");OT+=restoreOperationPadding(prettify(pT),pT).split("\n").map((pT=>pT!==""?`//${pT}`:pT)).join("\n")}else{OT+=restoreOperationPadding(prettify(LE.content),LE.content)}}const BE=xT[xT.length-1];OT+=pT.slice(BE.end);return OT};var nC=undefined&&undefined.__awaiter||function(pT,xT,OT,BE){function adopt(pT){return pT instanceof OT?pT:new OT((function(xT){xT(pT)}))}return new(OT||(OT=Promise))((function(OT,LE){function fulfilled(pT){try{step(BE.next(pT))}catch(pT){LE(pT)}}function rejected(pT){try{step(BE["throw"](pT))}catch(pT){LE(pT)}}function step(pT){pT.done?OT(pT.value):adopt(pT.value).then(fulfilled,rejected)}step((BE=BE.apply(pT,xT||[])).next())}))};const addFormatGraphQLCommands=pT=>{pT.command("format-all-graphql").option("--ci","CI mode: Exit if unformatted files are encountered.").description("Format all GraphQL operations in project.").action((({ci:pT})=>nC(void 0,void 0,void 0,(function*(){const xT=loadRelayConfig();const OT=getRelayArtifactDirectoryLocation(xT);const LE=BE()("Findings files to format").start();const ME=yield getAllGeneratedFiles(OT);const VE=yield findAllSourceFilesFromGeneratedFiles(ME,LE);LE.text=`Searching for ${maybePluralize("source file",VE.length)}.`;const UE=yield findSourceFiles(VE,xT.src);const JE=yield Promise.all(UE.map((xT=>nC(void 0,void 0,void 0,(function*(){LE.text=`${pT?"Checking":"Formatting"} "${RE().basename(xT)}".`;const OT=yield jE().promises.readFile(xT,{encoding:"utf-8"});const BE=formatOperationsInDocument(OT);if(OT!==BE&&!pT){yield jE().promises.writeFile(xT,BE)}return OT!==BE})))));const qE=JE.filter((pT=>pT===true)).length;if(pT){if(qE===0){LE.succeed(`Done! None of ${maybePluralize("file",UE.length)} in need of formatting.`);process.exit(0)}else{LE.fail(`${maybePluralize("file",qE)} needs formatting.`);process.exit(1)}}else{if(qE===0){LE.succeed(`Done! None of ${maybePluralize("scanned file",UE.length)} needed formatting.`)}else{LE.succeed(`Done! Formatted ${maybePluralize("file",qE)} of ${maybePluralize("scanned file",UE.length)}.`)}}}))));pT.command("format-single-graphql").description("Format GraphQL operations in single file.").argument("<file>","Path to file to format. Must be absolute.").action((pT=>nC(void 0,void 0,void 0,(function*(){const xT=BE()("Formatting file..").start();const OT=yield jE().promises.stat(pT,{throwIfNoEntry:false});if(OT==null){xT.fail("File does not exist.");process.exit(1)}try{const OT=yield jE().promises.readFile(pT,{encoding:"utf-8"});const BE=formatOperationsInDocument(OT);if(OT!==BE){yield jE().promises.writeFile(pT,BE);xT.succeed("Successfully formatted file.")}else{xT.succeed("File already formatted.")}}catch(pT){xT.fail("Could not format file.");process.exit(1)}}))))};var iC=undefined&&undefined.__awaiter||function(pT,xT,OT,BE){function adopt(pT){return pT instanceof OT?pT:new OT((function(xT){xT(pT)}))}return new(OT||(OT=Promise))((function(OT,LE){function fulfilled(pT){try{step(BE.next(pT))}catch(pT){LE(pT)}}function rejected(pT){try{step(BE["throw"](pT))}catch(pT){LE(pT)}}function step(pT){pT.done?OT(pT.value):adopt(pT.value).then(fulfilled,rejected)}step((BE=BE.apply(pT,xT||[])).next())}))};const addDebugCommand=pT=>{pT.command("debug").description("Prints debug information for the CLI.").action((()=>iC(void 0,void 0,void 0,(function*(){const pT=loadRelayConfig();const xT=getRelayArtifactDirectoryLocation(pT);console.log(`Artifact directory location: ${xT}\n`);console.log("Getting all generated files...\n");const OT=yield getAllGeneratedFiles(xT);console.log(`Number of generated files found in artifact directory: ${OT.length}\n`);console.log("Looking up source files\n");const BE=yield findAllSourceFilesFromGeneratedFiles(OT);console.log(`Found ${BE.length} source locations with explicit definitions.\n`);console.log("Looking up source files..\n");const LE=yield findSourceFiles(BE,pT.src);console.log(`Found ${LE.length} actual source files, when looking in ${getSrcCwd(pT.src)}.\n`);console.log("Done!")}))))};var aC=__nccwpck_require__(3129);var oC=__nccwpck_require__.n(aC);var sC=undefined&&undefined.__awaiter||function(pT,xT,OT,BE){function adopt(pT){return pT instanceof OT?pT:new OT((function(xT){xT(pT)}))}return new(OT||(OT=Promise))((function(OT,LE){function fulfilled(pT){try{step(BE.next(pT))}catch(pT){LE(pT)}}function rejected(pT){try{step(BE["throw"](pT))}catch(pT){LE(pT)}}function step(pT){pT.done?OT(pT.value):adopt(pT.value).then(fulfilled,rejected)}step((BE=BE.apply(pT,xT||[])).next())}))};const addRemoveUnusedFieldsCommand=pT=>{pT.command("remove-unused-fields").option("--verbose","Verbose mode").option("--debug","Debug mode").option("--ci","CI mode: Exit if unused fields exist, but don't remove them.").description("Remove unused GraphQL selections in fragments in current project.").action((({ci:pT,verbose:xT,debug:OT})=>{var LE;const ME=loadRelayConfig();const UE=getRelayArtifactDirectoryLocation(ME);const JE=BE()("Analyzing ReScript project").start();const qE=oC().spawn("npx",["--yes","reanalyze","-dce"]);if(qE.stdout==null){console.error("Something went wrong.");process.exit(1)}let KE="";qE.stdout.on("data",(pT=>{KE+=pT}));(LE=qE.stderr)===null||LE===void 0?void 0:LE.on("data",(pT=>{if(pT.includes("End_of_file")){JE.fail(`Something went wrong trying to analyze the ReScript project. Try cleaning your ReScript project and rebuilding it from scratch before trying again.`)}else{JE.fail(`Something went wrong trying to analyze the ReScript project.`)}if(OT){console.error(pT)}process.exit(1)}));qE.on("close",(()=>sC(void 0,void 0,void 0,(function*(){JE.text="Analyzing GraphQL usage";const BE=processReanalyzeOutput(KE);if(OT){console.log(`Found ${maybePluralize("file",Object.keys(BE).length)} with potentially missing fields.`)}const LE=[];JE.text="Scanning fragment files";if(OT){console.log(`Extracing source locations for ${maybePluralize("files",Object.keys(BE).length)}.`)}yield Promise.all(Object.entries(BE).map((([pT,xT])=>sC(void 0,void 0,void 0,(function*(){var OT;const BE=RE().resolve(UE,pT);try{const pT=yield jE().promises.readFile(BE,{encoding:"utf-8"});const RE=(OT=pT.match(rC))===null||OT===void 0?void 0:OT[0];if(RE!=null){LE.push(Object.assign(Object.assign({},xT),{sourceLocation:RE}))}}catch(pT){console.error(pT)}})))));JE.text=`Findings files`;const qE=LE.map((pT=>({path:pT.sourceLocation,graphqlName:pT.graphqlName})));const $E=yield findSourceFiles(qE.map((pT=>pT.path)),ME.src);const GE=$E.map((pT=>{const xT=LE.find((xT=>pT.endsWith(xT.sourceLocation)));if(xT!=null){return Object.assign(Object.assign({},xT),{absoluteFilePath:pT})}}));JE.text=`Analyzing found files`;const WE=[];yield Promise.all(GE.map((pT=>sC(void 0,void 0,void 0,(function*(){var xT;if(pT==null)return;try{const OT=yield jE().promises.readFile(pT.absoluteFilePath,{encoding:"utf-8"});const BE=zE(OT);let LE=null;let RE=null;for(const OT of BE){const BE=(0,VE.Qc3)(OT.content);const ME=BE.definitions[0];if(ME==null){continue}if((ME.kind==="OperationDefinition"||ME.kind==="FragmentDefinition")&&((xT=ME.name)===null||xT===void 0?void 0:xT.value)===pT.graphqlName){LE=BE;RE=OT;break}}if(LE==null||RE==null)return;const ME=LE.definitions[0];if(ME==null||!(ME.kind==="FragmentDefinition"||ME.kind==="OperationDefinition")){return}WE.push(Object.assign({targetDef:ME,fileContents:OT,targetTag:RE},pT))}catch(pT){console.error(pT)}})))));if(xT&&LE.length>0){console.log(`\n\n------\nUnused fields: \n`,WE.map((pT=>`${pT.type==="fragment"?"Fragment":"Query"} "${pT.graphqlName}" in ${pT.sourceLocation}: \n ${pT.unusedFieldPaths.join("\n ")}`)).join("\n\n"),`\n------\n\n`)}if(pT){if(WE.length===0){JE.succeed("No unused fields found.");process.exit(0)}else{JE.fail(`Found ${WE.length} file(s) with unused fields.`);process.exit(1)}}JE.text=`Removing unused fields`;yield Promise.all(WE.map((({targetDef:pT,unusedFieldPaths:xT,targetTag:OT,absoluteFilePath:BE,fileContents:LE})=>sC(void 0,void 0,void 0,(function*(){const RE=removeUnusedFieldsFromOperation({definition:pT,unusedFieldPaths:xT});const ME=RE==null?"# This module is unused and can be removed":restoreOperationPadding(prettify((0,VE.S0v)(RE)),OT.content);yield jE().promises.writeFile(BE,`${LE.slice(0,OT.start)}${ME}${LE.slice(OT.end)}`)})))));const YE=WE.reduce(((pT,xT)=>{var OT;return pT+((OT=xT===null||xT===void 0?void 0:xT.unusedFieldPaths.length)!==null&&OT!==void 0?OT:0)}),0);if(YE===0){JE.succeed("Done! No unused fields found.")}else{JE.succeed(`Done! Removed ${maybePluralize("field",YE)} from ${maybePluralize("file",WE.length)}.`)}}))))}))};pT.program.version("0.1.0");addFormatGraphQLCommands(pT.program);addDebugCommand(pT.program);addRemoveUnusedFieldsCommand(pT.program);pT.program.parse(process.argv)})();module.exports=OT})();
472
+ */const BE=OT(5680);const toRegexRange=(pT,xT,OT)=>{if(BE(pT)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(xT===void 0||pT===xT){return String(pT)}if(BE(xT)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let LE={relaxZeros:true,...OT};if(typeof LE.strictZeros==="boolean"){LE.relaxZeros=LE.strictZeros===false}let RE=String(LE.relaxZeros);let ME=String(LE.shorthand);let jE=String(LE.capture);let VE=String(LE.wrap);let UE=pT+":"+xT+"="+RE+ME+jE+VE;if(toRegexRange.cache.hasOwnProperty(UE)){return toRegexRange.cache[UE].result}let JE=Math.min(pT,xT);let qE=Math.max(pT,xT);if(Math.abs(JE-qE)===1){let OT=pT+"|"+xT;if(LE.capture){return`(${OT})`}if(LE.wrap===false){return OT}return`(?:${OT})`}let KE=hasPadding(pT)||hasPadding(xT);let zE={min:pT,max:xT,a:JE,b:qE};let $E=[];let GE=[];if(KE){zE.isPadded=KE;zE.maxLen=String(zE.max).length}if(JE<0){let pT=qE<0?Math.abs(qE):1;GE=splitToPatterns(pT,Math.abs(JE),zE,LE);JE=zE.a=0}if(qE>=0){$E=splitToPatterns(JE,qE,zE,LE)}zE.negatives=GE;zE.positives=$E;zE.result=collatePatterns(GE,$E,LE);if(LE.capture===true){zE.result=`(${zE.result})`}else if(LE.wrap!==false&&$E.length+GE.length>1){zE.result=`(?:${zE.result})`}toRegexRange.cache[UE]=zE;return zE.result};function collatePatterns(pT,xT,OT){let BE=filterPatterns(pT,xT,"-",false,OT)||[];let LE=filterPatterns(xT,pT,"",false,OT)||[];let RE=filterPatterns(pT,xT,"-?",true,OT)||[];let ME=BE.concat(RE).concat(LE);return ME.join("|")}function splitToRanges(pT,xT){let OT=1;let BE=1;let LE=countNines(pT,OT);let RE=new Set([xT]);while(pT<=LE&&LE<=xT){RE.add(LE);OT+=1;LE=countNines(pT,OT)}LE=countZeros(xT+1,BE)-1;while(pT<LE&&LE<=xT){RE.add(LE);BE+=1;LE=countZeros(xT+1,BE)-1}RE=[...RE];RE.sort(compare);return RE}function rangeToPattern(pT,xT,OT){if(pT===xT){return{pattern:pT,count:[],digits:0}}let BE=zip(pT,xT);let LE=BE.length;let RE="";let ME=0;for(let pT=0;pT<LE;pT++){let[xT,LE]=BE[pT];if(xT===LE){RE+=xT}else if(xT!=="0"||LE!=="9"){RE+=toCharacterClass(xT,LE,OT)}else{ME++}}if(ME){RE+=OT.shorthand===true?"\\d":"[0-9]"}return{pattern:RE,count:[ME],digits:LE}}function splitToPatterns(pT,xT,OT,BE){let LE=splitToRanges(pT,xT);let RE=[];let ME=pT;let jE;for(let pT=0;pT<LE.length;pT++){let xT=LE[pT];let VE=rangeToPattern(String(ME),String(xT),BE);let UE="";if(!OT.isPadded&&jE&&jE.pattern===VE.pattern){if(jE.count.length>1){jE.count.pop()}jE.count.push(VE.count[0]);jE.string=jE.pattern+toQuantifier(jE.count);ME=xT+1;continue}if(OT.isPadded){UE=padZeros(xT,OT,BE)}VE.string=UE+VE.pattern+toQuantifier(VE.count);RE.push(VE);ME=xT+1;jE=VE}return RE}function filterPatterns(pT,xT,OT,BE,LE){let RE=[];for(let LE of pT){let{string:pT}=LE;if(!BE&&!contains(xT,"string",pT)){RE.push(OT+pT)}if(BE&&contains(xT,"string",pT)){RE.push(OT+pT)}}return RE}function zip(pT,xT){let OT=[];for(let BE=0;BE<pT.length;BE++)OT.push([pT[BE],xT[BE]]);return OT}function compare(pT,xT){return pT>xT?1:xT>pT?-1:0}function contains(pT,xT,OT){return pT.some((pT=>pT[xT]===OT))}function countNines(pT,xT){return Number(String(pT).slice(0,-xT)+"9".repeat(xT))}function countZeros(pT,xT){return pT-pT%Math.pow(10,xT)}function toQuantifier(pT){let[xT=0,OT=""]=pT;if(OT||xT>1){return`{${xT+(OT?","+OT:"")}}`}return""}function toCharacterClass(pT,xT,OT){return`[${pT}${xT-pT===1?"":"-"}${xT}]`}function hasPadding(pT){return/^-?(0+)\d/.test(pT)}function padZeros(pT,xT,OT){if(!xT.isPadded){return pT}let BE=Math.abs(xT.maxLen-String(pT).length);let LE=OT.relaxZeros!==false;switch(BE){case 0:return"";case 1:return LE?"0?":"0";case 2:return LE?"0{0,2}":"00";default:{return LE?`0{0,${BE}}`:`0{${BE}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};pT.exports=toRegexRange},5278:(pT,xT,OT)=>{pT.exports=OT(1669).deprecate},4383:pT=>{pT.exports=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]]},5917:(pT,xT,OT)=>{"use strict";var BE=OT(732);var LE=OT(4383);var RE={nul:0,control:0};pT.exports=function wcwidth(pT){return wcswidth(pT,RE)};pT.exports.config=function(pT){pT=BE(pT||{},RE);return function wcwidth(xT){return wcswidth(xT,pT)}};function wcswidth(pT,xT){if(typeof pT!=="string")return wcwidth(pT,xT);var OT=0;for(var BE=0;BE<pT.length;BE++){var LE=wcwidth(pT.charCodeAt(BE),xT);if(LE<0)return-1;OT+=LE}return OT}function wcwidth(pT,xT){if(pT===0)return xT.nul;if(pT<32||pT>=127&&pT<160)return xT.control;if(bisearch(pT))return 0;return 1+(pT>=4352&&(pT<=4447||pT==9001||pT==9002||pT>=11904&&pT<=42191&&pT!=12351||pT>=44032&&pT<=55203||pT>=63744&&pT<=64255||pT>=65040&&pT<=65049||pT>=65072&&pT<=65135||pT>=65280&&pT<=65376||pT>=65504&&pT<=65510||pT>=131072&&pT<=196605||pT>=196608&&pT<=262141))}function bisearch(pT){var xT=0;var OT=LE.length-1;var BE;if(pT<LE[0][0]||pT>LE[OT][1])return false;while(OT>=xT){BE=Math.floor((xT+OT)/2);if(pT>LE[BE][1])xT=BE+1;else if(pT<LE[BE][0])OT=BE-1;else return true}return false}},5506:(pT,xT,OT)=>{"use strict";var BE=OT(5215);var LE=OT(4227);var RE=OT(8021);const ME={anchorPrefix:"a",customTags:null,indent:2,indentSeq:true,keepCstNodes:false,keepNodeTypes:true,keepBlobsInJSON:true,mapAsMap:false,maxAliasCount:100,prettyErrors:false,simpleKeys:false,version:"1.2"};const jE={get binary(){return LE.binaryOptions},set binary(pT){Object.assign(LE.binaryOptions,pT)},get bool(){return LE.boolOptions},set bool(pT){Object.assign(LE.boolOptions,pT)},get int(){return LE.intOptions},set int(pT){Object.assign(LE.intOptions,pT)},get null(){return LE.nullOptions},set null(pT){Object.assign(LE.nullOptions,pT)},get str(){return LE.strOptions},set str(pT){Object.assign(LE.strOptions,pT)}};const VE={"1.0":{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:BE.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:BE.defaultTagPrefix}]},1.2:{schema:"core",merge:false,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:BE.defaultTagPrefix}]}};function stringifyTag(pT,xT){if((pT.version||pT.options.version)==="1.0"){const pT=xT.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(pT)return"!"+pT[1];const OT=xT.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return OT?`!${OT[1]}/${OT[2]}`:`!${xT.replace(/^tag:/,"")}`}let OT=pT.tagPrefixes.find((pT=>xT.indexOf(pT.prefix)===0));if(!OT){const BE=pT.getDefaults().tagPrefixes;OT=BE&&BE.find((pT=>xT.indexOf(pT.prefix)===0))}if(!OT)return xT[0]==="!"?xT:`!<${xT}>`;const BE=xT.substr(OT.prefix.length).replace(/[!,[\]{}]/g,(pT=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[pT])));return OT.handle+BE}function getTagObject(pT,xT){if(xT instanceof LE.Alias)return LE.Alias;if(xT.tag){const OT=pT.filter((pT=>pT.tag===xT.tag));if(OT.length>0)return OT.find((pT=>pT.format===xT.format))||OT[0]}let OT,BE;if(xT instanceof LE.Scalar){BE=xT.value;const LE=pT.filter((pT=>pT.identify&&pT.identify(BE)||pT.class&&BE instanceof pT.class));OT=LE.find((pT=>pT.format===xT.format))||LE.find((pT=>!pT.format))}else{BE=xT;OT=pT.find((pT=>pT.nodeClass&&BE instanceof pT.nodeClass))}if(!OT){const pT=BE&&BE.constructor?BE.constructor.name:typeof BE;throw new Error(`Tag not resolved for ${pT} value`)}return OT}function stringifyProps(pT,xT,{anchors:OT,doc:BE}){const LE=[];const RE=BE.anchors.getName(pT);if(RE){OT[RE]=pT;LE.push(`&${RE}`)}if(pT.tag){LE.push(stringifyTag(BE,pT.tag))}else if(!xT.default){LE.push(stringifyTag(BE,xT.tag))}return LE.join(" ")}function stringify(pT,xT,OT,BE){const{anchors:RE,schema:ME}=xT.doc;let jE;if(!(pT instanceof LE.Node)){const xT={aliasNodes:[],onTagObj:pT=>jE=pT,prevObjects:new Map};pT=ME.createNode(pT,true,null,xT);for(const pT of xT.aliasNodes){pT.source=pT.source.node;let xT=RE.getName(pT.source);if(!xT){xT=RE.newName();RE.map[xT]=pT.source}}}if(pT instanceof LE.Pair)return pT.toString(xT,OT,BE);if(!jE)jE=getTagObject(ME.tags,pT);const VE=stringifyProps(pT,jE,xT);if(VE.length>0)xT.indentAtStart=(xT.indentAtStart||0)+VE.length+1;const UE=typeof jE.stringify==="function"?jE.stringify(pT,xT,OT,BE):pT instanceof LE.Scalar?LE.stringifyString(pT,xT,OT,BE):pT.toString(xT,OT,BE);if(!VE)return UE;return pT instanceof LE.Scalar||UE[0]==="{"||UE[0]==="["?`${VE} ${UE}`:`${VE}\n${xT.indent}${UE}`}class Anchors{static validAnchorNode(pT){return pT instanceof LE.Scalar||pT instanceof LE.YAMLSeq||pT instanceof LE.YAMLMap}constructor(pT){BE._defineProperty(this,"map",Object.create(null));this.prefix=pT}createAlias(pT,xT){this.setAnchor(pT,xT);return new LE.Alias(pT)}createMergePair(...pT){const xT=new LE.Merge;xT.value.items=pT.map((pT=>{if(pT instanceof LE.Alias){if(pT.source instanceof LE.YAMLMap)return pT}else if(pT instanceof LE.YAMLMap){return this.createAlias(pT)}throw new Error("Merge sources must be Map nodes or their Aliases")}));return xT}getName(pT){const{map:xT}=this;return Object.keys(xT).find((OT=>xT[OT]===pT))}getNames(){return Object.keys(this.map)}getNode(pT){return this.map[pT]}newName(pT){if(!pT)pT=this.prefix;const xT=Object.keys(this.map);for(let OT=1;true;++OT){const BE=`${pT}${OT}`;if(!xT.includes(BE))return BE}}resolveNodes(){const{map:pT,_cstAliases:xT}=this;Object.keys(pT).forEach((xT=>{pT[xT]=pT[xT].resolved}));xT.forEach((pT=>{pT.source=pT.source.resolved}));delete this._cstAliases}setAnchor(pT,xT){if(pT!=null&&!Anchors.validAnchorNode(pT)){throw new Error("Anchors may only be set for Scalar, Seq and Map nodes")}if(xT&&/[\x00-\x19\s,[\]{}]/.test(xT)){throw new Error("Anchor names must not contain whitespace or control characters")}const{map:OT}=this;const BE=pT&&Object.keys(OT).find((xT=>OT[xT]===pT));if(BE){if(!xT){return BE}else if(BE!==xT){delete OT[BE];OT[xT]=pT}}else{if(!xT){if(!pT)return null;xT=this.newName()}OT[xT]=pT}return xT}}const visit=(pT,xT)=>{if(pT&&typeof pT==="object"){const{tag:OT}=pT;if(pT instanceof LE.Collection){if(OT)xT[OT]=true;pT.items.forEach((pT=>visit(pT,xT)))}else if(pT instanceof LE.Pair){visit(pT.key,xT);visit(pT.value,xT)}else if(pT instanceof LE.Scalar){if(OT)xT[OT]=true}}return xT};const listTagNames=pT=>Object.keys(visit(pT,{}));function parseContents(pT,xT){const OT={before:[],after:[]};let RE=undefined;let ME=false;for(const jE of xT){if(jE.valueRange){if(RE!==undefined){const xT="Document contains trailing content not separated by a ... or --- line";pT.errors.push(new BE.YAMLSyntaxError(jE,xT));break}const xT=LE.resolveNode(pT,jE);if(ME){xT.spaceBefore=true;ME=false}RE=xT}else if(jE.comment!==null){const pT=RE===undefined?OT.before:OT.after;pT.push(jE.comment)}else if(jE.type===BE.Type.BLANK_LINE){ME=true;if(RE===undefined&&OT.before.length>0&&!pT.commentBefore){pT.commentBefore=OT.before.join("\n");OT.before=[]}}}pT.contents=RE||null;if(!RE){pT.comment=OT.before.concat(OT.after).join("\n")||null}else{const xT=OT.before.join("\n");if(xT){const pT=RE instanceof LE.Collection&&RE.items[0]?RE.items[0]:RE;pT.commentBefore=pT.commentBefore?`${xT}\n${pT.commentBefore}`:xT}pT.comment=OT.after.join("\n")||null}}function resolveTagDirective({tagPrefixes:pT},xT){const[OT,LE]=xT.parameters;if(!OT||!LE){const pT="Insufficient parameters given for %TAG directive";throw new BE.YAMLSemanticError(xT,pT)}if(pT.some((pT=>pT.handle===OT))){const pT="The %TAG directive must only be given at most once per handle in the same document.";throw new BE.YAMLSemanticError(xT,pT)}return{handle:OT,prefix:LE}}function resolveYamlDirective(pT,xT){let[OT]=xT.parameters;if(xT.name==="YAML:1.0")OT="1.0";if(!OT){const pT="Insufficient parameters given for %YAML directive";throw new BE.YAMLSemanticError(xT,pT)}if(!VE[OT]){const LE=pT.version||pT.options.version;const RE=`Document will be parsed as YAML ${LE} rather than YAML ${OT}`;pT.warnings.push(new BE.YAMLWarning(xT,RE))}return OT}function parseDirectives(pT,xT,OT){const LE=[];let RE=false;for(const OT of xT){const{comment:xT,name:ME}=OT;switch(ME){case"TAG":try{pT.tagPrefixes.push(resolveTagDirective(pT,OT))}catch(xT){pT.errors.push(xT)}RE=true;break;case"YAML":case"YAML:1.0":if(pT.version){const xT="The %YAML directive must only be given at most once per document.";pT.errors.push(new BE.YAMLSemanticError(OT,xT))}try{pT.version=resolveYamlDirective(pT,OT)}catch(xT){pT.errors.push(xT)}RE=true;break;default:if(ME){const xT=`YAML only supports %TAG and %YAML directives, and not %${ME}`;pT.warnings.push(new BE.YAMLWarning(OT,xT))}}if(xT)LE.push(xT)}if(OT&&!RE&&"1.1"===(pT.version||OT.version||pT.options.version)){const copyTagPrefix=({handle:pT,prefix:xT})=>({handle:pT,prefix:xT});pT.tagPrefixes=OT.tagPrefixes.map(copyTagPrefix);pT.version=OT.version}pT.commentBefore=LE.join("\n")||null}function assertCollection(pT){if(pT instanceof LE.Collection)return true;throw new Error("Expected a YAML collection as document contents")}class Document{constructor(pT){this.anchors=new Anchors(pT.anchorPrefix);this.commentBefore=null;this.comment=null;this.contents=null;this.directivesEndMarker=null;this.errors=[];this.options=pT;this.schema=null;this.tagPrefixes=[];this.version=null;this.warnings=[]}add(pT){assertCollection(this.contents);return this.contents.add(pT)}addIn(pT,xT){assertCollection(this.contents);this.contents.addIn(pT,xT)}delete(pT){assertCollection(this.contents);return this.contents.delete(pT)}deleteIn(pT){if(LE.isEmptyPath(pT)){if(this.contents==null)return false;this.contents=null;return true}assertCollection(this.contents);return this.contents.deleteIn(pT)}getDefaults(){return Document.defaults[this.version]||Document.defaults[this.options.version]||{}}get(pT,xT){return this.contents instanceof LE.Collection?this.contents.get(pT,xT):undefined}getIn(pT,xT){if(LE.isEmptyPath(pT))return!xT&&this.contents instanceof LE.Scalar?this.contents.value:this.contents;return this.contents instanceof LE.Collection?this.contents.getIn(pT,xT):undefined}has(pT){return this.contents instanceof LE.Collection?this.contents.has(pT):false}hasIn(pT){if(LE.isEmptyPath(pT))return this.contents!==undefined;return this.contents instanceof LE.Collection?this.contents.hasIn(pT):false}set(pT,xT){assertCollection(this.contents);this.contents.set(pT,xT)}setIn(pT,xT){if(LE.isEmptyPath(pT))this.contents=xT;else{assertCollection(this.contents);this.contents.setIn(pT,xT)}}setSchema(pT,xT){if(!pT&&!xT&&this.schema)return;if(typeof pT==="number")pT=pT.toFixed(1);if(pT==="1.0"||pT==="1.1"||pT==="1.2"){if(this.version)this.version=pT;else this.options.version=pT;delete this.options.schema}else if(pT&&typeof pT==="string"){this.options.schema=pT}if(Array.isArray(xT))this.options.customTags=xT;const OT=Object.assign({},this.getDefaults(),this.options);this.schema=new RE.Schema(OT)}parse(pT,xT){if(this.options.keepCstNodes)this.cstNode=pT;if(this.options.keepNodeTypes)this.type="DOCUMENT";const{directives:OT=[],contents:LE=[],directivesEndMarker:RE,error:ME,valueRange:jE}=pT;if(ME){if(!ME.source)ME.source=this;this.errors.push(ME)}parseDirectives(this,OT,xT);if(RE)this.directivesEndMarker=true;this.range=jE?[jE.start,jE.end]:null;this.setSchema();this.anchors._cstAliases=[];parseContents(this,LE);this.anchors.resolveNodes();if(this.options.prettyErrors){for(const pT of this.errors)if(pT instanceof BE.YAMLError)pT.makePretty();for(const pT of this.warnings)if(pT instanceof BE.YAMLError)pT.makePretty()}return this}listNonDefaultTags(){return listTagNames(this.contents).filter((pT=>pT.indexOf(RE.Schema.defaultPrefix)!==0))}setTagPrefix(pT,xT){if(pT[0]!=="!"||pT[pT.length-1]!=="!")throw new Error("Handle must start and end with !");if(xT){const OT=this.tagPrefixes.find((xT=>xT.handle===pT));if(OT)OT.prefix=xT;else this.tagPrefixes.push({handle:pT,prefix:xT})}else{this.tagPrefixes=this.tagPrefixes.filter((xT=>xT.handle!==pT))}}toJSON(pT,xT){const{keepBlobsInJSON:OT,mapAsMap:BE,maxAliasCount:RE}=this.options;const ME=OT&&(typeof pT!=="string"||!(this.contents instanceof LE.Scalar));const jE={doc:this,indentStep:" ",keep:ME,mapAsMap:ME&&!!BE,maxAliasCount:RE,stringify:stringify};const VE=Object.keys(this.anchors.map);if(VE.length>0)jE.anchors=new Map(VE.map((pT=>[this.anchors.map[pT],{alias:[],aliasCount:0,count:1}])));const UE=LE.toJSON(this.contents,pT,jE);if(typeof xT==="function"&&jE.anchors)for(const{count:pT,res:OT}of jE.anchors.values())xT(OT,pT);return UE}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const pT=this.options.indent;if(!Number.isInteger(pT)||pT<=0){const xT=JSON.stringify(pT);throw new Error(`"indent" option must be a positive integer, not ${xT}`)}this.setSchema();const xT=[];let OT=false;if(this.version){let pT="%YAML 1.2";if(this.schema.name==="yaml-1.1"){if(this.version==="1.0")pT="%YAML:1.0";else if(this.version==="1.1")pT="%YAML 1.1"}xT.push(pT);OT=true}const BE=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:pT,prefix:LE})=>{if(BE.some((pT=>pT.indexOf(LE)===0))){xT.push(`%TAG ${pT} ${LE}`);OT=true}}));if(OT||this.directivesEndMarker)xT.push("---");if(this.commentBefore){if(OT||!this.directivesEndMarker)xT.unshift("");xT.unshift(this.commentBefore.replace(/^/gm,"#"))}const RE={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(pT),stringify:stringify};let ME=false;let jE=null;if(this.contents){if(this.contents instanceof LE.Node){if(this.contents.spaceBefore&&(OT||this.directivesEndMarker))xT.push("");if(this.contents.commentBefore)xT.push(this.contents.commentBefore.replace(/^/gm,"#"));RE.forceBlockIndent=!!this.comment;jE=this.contents.comment}const pT=jE?null:()=>ME=true;const BE=stringify(this.contents,RE,(()=>jE=null),pT);xT.push(LE.addComment(BE,"",jE))}else if(this.contents!==undefined){xT.push(stringify(this.contents,RE))}if(this.comment){if((!ME||jE)&&xT[xT.length-1]!=="")xT.push("");xT.push(this.comment.replace(/^/gm,"#"))}return xT.join("\n")+"\n"}}BE._defineProperty(Document,"defaults",VE);xT.Document=Document;xT.defaultOptions=ME;xT.scalarOptions=jE},5215:(pT,xT)=>{"use strict";const OT={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."};const BE={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"};const LE="tag:yaml.org,2002:";const RE={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function findLineStarts(pT){const xT=[0];let OT=pT.indexOf("\n");while(OT!==-1){OT+=1;xT.push(OT);OT=pT.indexOf("\n",OT)}return xT}function getSrcInfo(pT){let xT,OT;if(typeof pT==="string"){xT=findLineStarts(pT);OT=pT}else{if(Array.isArray(pT))pT=pT[0];if(pT&&pT.context){if(!pT.lineStarts)pT.lineStarts=findLineStarts(pT.context.src);xT=pT.lineStarts;OT=pT.context.src}}return{lineStarts:xT,src:OT}}function getLinePos(pT,xT){if(typeof pT!=="number"||pT<0)return null;const{lineStarts:OT,src:BE}=getSrcInfo(xT);if(!OT||!BE||pT>BE.length)return null;for(let xT=0;xT<OT.length;++xT){const BE=OT[xT];if(pT<BE){return{line:xT,col:pT-OT[xT-1]+1}}if(pT===BE)return{line:xT+1,col:1}}const LE=OT.length;return{line:LE,col:pT-OT[LE-1]+1}}function getLine(pT,xT){const{lineStarts:OT,src:BE}=getSrcInfo(xT);if(!OT||!(pT>=1)||pT>OT.length)return null;const LE=OT[pT-1];let RE=OT[pT];while(RE&&RE>LE&&BE[RE-1]==="\n")--RE;return BE.slice(LE,RE)}function getPrettyContext({start:pT,end:xT},OT,BE=80){let LE=getLine(pT.line,OT);if(!LE)return null;let{col:RE}=pT;if(LE.length>BE){if(RE<=BE-10){LE=LE.substr(0,BE-1)+"…"}else{const pT=Math.round(BE/2);if(LE.length>RE+pT)LE=LE.substr(0,RE+pT-1)+"…";RE-=LE.length-BE;LE="…"+LE.substr(1-BE)}}let ME=1;let jE="";if(xT){if(xT.line===pT.line&&RE+(xT.col-pT.col)<=BE+1){ME=xT.col-pT.col}else{ME=Math.min(LE.length+1,BE)-RE;jE="…"}}const VE=RE>1?" ".repeat(RE-1):"";const UE="^".repeat(ME);return`${LE}\n${VE}${UE}${jE}`}class Range{static copy(pT){return new Range(pT.start,pT.end)}constructor(pT,xT){this.start=pT;this.end=xT||pT}isEmpty(){return typeof this.start!=="number"||!this.end||this.end<=this.start}setOrigRange(pT,xT){const{start:OT,end:BE}=this;if(pT.length===0||BE<=pT[0]){this.origStart=OT;this.origEnd=BE;return xT}let LE=xT;while(LE<pT.length){if(pT[LE]>OT)break;else++LE}this.origStart=OT+LE;const RE=LE;while(LE<pT.length){if(pT[LE]>=BE)break;else++LE}this.origEnd=BE+LE;return RE}}class Node{static addStringTerminator(pT,xT,OT){if(OT[OT.length-1]==="\n")return OT;const BE=Node.endOfWhiteSpace(pT,xT);return BE>=pT.length||pT[BE]==="\n"?OT+"\n":OT}static atDocumentBoundary(pT,xT,BE){const LE=pT[xT];if(!LE)return true;const RE=pT[xT-1];if(RE&&RE!=="\n")return false;if(BE){if(LE!==BE)return false}else{if(LE!==OT.DIRECTIVES_END&&LE!==OT.DOCUMENT_END)return false}const ME=pT[xT+1];const jE=pT[xT+2];if(ME!==LE||jE!==LE)return false;const VE=pT[xT+3];return!VE||VE==="\n"||VE==="\t"||VE===" "}static endOfIdentifier(pT,xT){let OT=pT[xT];const BE=OT==="<";const LE=BE?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];while(OT&&LE.indexOf(OT)===-1)OT=pT[xT+=1];if(BE&&OT===">")xT+=1;return xT}static endOfIndent(pT,xT){let OT=pT[xT];while(OT===" ")OT=pT[xT+=1];return xT}static endOfLine(pT,xT){let OT=pT[xT];while(OT&&OT!=="\n")OT=pT[xT+=1];return xT}static endOfWhiteSpace(pT,xT){let OT=pT[xT];while(OT==="\t"||OT===" ")OT=pT[xT+=1];return xT}static startOfLine(pT,xT){let OT=pT[xT-1];if(OT==="\n")return xT;while(OT&&OT!=="\n")OT=pT[xT-=1];return xT+1}static endOfBlockIndent(pT,xT,OT){const BE=Node.endOfIndent(pT,OT);if(BE>OT+xT){return BE}else{const xT=Node.endOfWhiteSpace(pT,BE);const OT=pT[xT];if(!OT||OT==="\n")return xT}return null}static atBlank(pT,xT,OT){const BE=pT[xT];return BE==="\n"||BE==="\t"||BE===" "||OT&&!BE}static nextNodeIsIndented(pT,xT,OT){if(!pT||xT<0)return false;if(xT>0)return true;return OT&&pT==="-"}static normalizeOffset(pT,xT){const OT=pT[xT];return!OT?xT:OT!=="\n"&&pT[xT-1]==="\n"?xT-1:Node.endOfWhiteSpace(pT,xT)}static foldNewline(pT,xT,OT){let BE=0;let LE=false;let RE="";let ME=pT[xT+1];while(ME===" "||ME==="\t"||ME==="\n"){switch(ME){case"\n":BE=0;xT+=1;RE+="\n";break;case"\t":if(BE<=OT)LE=true;xT=Node.endOfWhiteSpace(pT,xT+2)-1;break;case" ":BE+=1;xT+=1;break}ME=pT[xT+1]}if(!RE)RE=" ";if(ME&&BE<=OT)LE=true;return{fold:RE,offset:xT,error:LE}}constructor(pT,xT,OT){Object.defineProperty(this,"context",{value:OT||null,writable:true});this.error=null;this.range=null;this.valueRange=null;this.props=xT||[];this.type=pT;this.value=null}getPropValue(pT,xT,OT){if(!this.context)return null;const{src:BE}=this.context;const LE=this.props[pT];return LE&&BE[LE.start]===xT?BE.slice(LE.start+(OT?1:0),LE.end):null}get anchor(){for(let pT=0;pT<this.props.length;++pT){const xT=this.getPropValue(pT,OT.ANCHOR,true);if(xT!=null)return xT}return null}get comment(){const pT=[];for(let xT=0;xT<this.props.length;++xT){const BE=this.getPropValue(xT,OT.COMMENT,true);if(BE!=null)pT.push(BE)}return pT.length>0?pT.join("\n"):null}commentHasRequiredWhitespace(pT){const{src:xT}=this.context;if(this.header&&pT===this.header.end)return false;if(!this.valueRange)return false;const{end:OT}=this.valueRange;return pT!==OT||Node.atBlank(xT,OT-1)}get hasComment(){if(this.context){const{src:pT}=this.context;for(let xT=0;xT<this.props.length;++xT){if(pT[this.props[xT].start]===OT.COMMENT)return true}}return false}get hasProps(){if(this.context){const{src:pT}=this.context;for(let xT=0;xT<this.props.length;++xT){if(pT[this.props[xT].start]!==OT.COMMENT)return true}}return false}get includesTrailingLines(){return false}get jsonLike(){const pT=[BE.FLOW_MAP,BE.FLOW_SEQ,BE.QUOTE_DOUBLE,BE.QUOTE_SINGLE];return pT.indexOf(this.type)!==-1}get rangeAsLinePos(){if(!this.range||!this.context)return undefined;const pT=getLinePos(this.range.start,this.context.root);if(!pT)return undefined;const xT=getLinePos(this.range.end,this.context.root);return{start:pT,end:xT}}get rawValue(){if(!this.valueRange||!this.context)return null;const{start:pT,end:xT}=this.valueRange;return this.context.src.slice(pT,xT)}get tag(){for(let pT=0;pT<this.props.length;++pT){const xT=this.getPropValue(pT,OT.TAG,false);if(xT!=null){if(xT[1]==="<"){return{verbatim:xT.slice(2,-1)}}else{const[pT,OT,BE]=xT.match(/^(.*!)([^!]*)$/);return{handle:OT,suffix:BE}}}}return null}get valueRangeContainsNewline(){if(!this.valueRange||!this.context)return false;const{start:pT,end:xT}=this.valueRange;const{src:OT}=this.context;for(let BE=pT;BE<xT;++BE){if(OT[BE]==="\n")return true}return false}parseComment(pT){const{src:xT}=this.context;if(xT[pT]===OT.COMMENT){const OT=Node.endOfLine(xT,pT+1);const BE=new Range(pT,OT);this.props.push(BE);return OT}return pT}setOrigRanges(pT,xT){if(this.range)xT=this.range.setOrigRange(pT,xT);if(this.valueRange)this.valueRange.setOrigRange(pT,xT);this.props.forEach((OT=>OT.setOrigRange(pT,xT)));return xT}toString(){const{context:{src:pT},range:xT,value:OT}=this;if(OT!=null)return OT;const BE=pT.slice(xT.start,xT.end);return Node.addStringTerminator(pT,xT.end,BE)}}class YAMLError extends Error{constructor(pT,xT,OT){if(!OT||!(xT instanceof Node))throw new Error(`Invalid arguments for new ${pT}`);super();this.name=pT;this.message=OT;this.source=xT}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const pT=this.source.context&&this.source.context.root;if(typeof this.offset==="number"){this.range=new Range(this.offset,this.offset+1);const xT=pT&&getLinePos(this.offset,pT);if(xT){const pT={line:xT.line,col:xT.col+1};this.linePos={start:xT,end:pT}}delete this.offset}else{this.range=this.source.range;this.linePos=this.source.rangeAsLinePos}if(this.linePos){const{line:xT,col:OT}=this.linePos.start;this.message+=` at line ${xT}, column ${OT}`;const BE=pT&&getPrettyContext(this.linePos,pT);if(BE)this.message+=`:\n\n${BE}\n`}delete this.source}}class YAMLReferenceError extends YAMLError{constructor(pT,xT){super("YAMLReferenceError",pT,xT)}}class YAMLSemanticError extends YAMLError{constructor(pT,xT){super("YAMLSemanticError",pT,xT)}}class YAMLSyntaxError extends YAMLError{constructor(pT,xT){super("YAMLSyntaxError",pT,xT)}}class YAMLWarning extends YAMLError{constructor(pT,xT){super("YAMLWarning",pT,xT)}}function _defineProperty(pT,xT,OT){if(xT in pT){Object.defineProperty(pT,xT,{value:OT,enumerable:true,configurable:true,writable:true})}else{pT[xT]=OT}return pT}class PlainValue extends Node{static endOfLine(pT,xT,OT){let BE=pT[xT];let LE=xT;while(BE&&BE!=="\n"){if(OT&&(BE==="["||BE==="]"||BE==="{"||BE==="}"||BE===","))break;const xT=pT[LE+1];if(BE===":"&&(!xT||xT==="\n"||xT==="\t"||xT===" "||OT&&xT===","))break;if((BE===" "||BE==="\t")&&xT==="#")break;LE+=1;BE=xT}return LE}get strValue(){if(!this.valueRange||!this.context)return null;let{start:pT,end:xT}=this.valueRange;const{src:OT}=this.context;let BE=OT[xT-1];while(pT<xT&&(BE==="\n"||BE==="\t"||BE===" "))BE=OT[--xT-1];let LE="";for(let BE=pT;BE<xT;++BE){const pT=OT[BE];if(pT==="\n"){const{fold:pT,offset:xT}=Node.foldNewline(OT,BE,-1);LE+=pT;BE=xT}else if(pT===" "||pT==="\t"){const RE=BE;let ME=OT[BE+1];while(BE<xT&&(ME===" "||ME==="\t")){BE+=1;ME=OT[BE+1]}if(ME!=="\n")LE+=BE>RE?OT.slice(RE,BE+1):pT}else{LE+=pT}}const RE=OT[pT];switch(RE){case"\t":{const pT="Plain value cannot start with a tab character";const xT=[new YAMLSemanticError(this,pT)];return{errors:xT,str:LE}}case"@":case"`":{const pT=`Plain value cannot start with reserved character ${RE}`;const xT=[new YAMLSemanticError(this,pT)];return{errors:xT,str:LE}}default:return LE}}parseBlockValue(pT){const{indent:xT,inFlow:OT,src:BE}=this.context;let LE=pT;let RE=pT;for(let pT=BE[LE];pT==="\n";pT=BE[LE]){if(Node.atDocumentBoundary(BE,LE+1))break;const pT=Node.endOfBlockIndent(BE,xT,LE+1);if(pT===null||BE[pT]==="#")break;if(BE[pT]==="\n"){LE=pT}else{RE=PlainValue.endOfLine(BE,pT,OT);LE=RE}}if(this.valueRange.isEmpty())this.valueRange.start=pT;this.valueRange.end=RE;return RE}parse(pT,xT){this.context=pT;const{inFlow:OT,src:BE}=pT;let LE=xT;const RE=BE[LE];if(RE&&RE!=="#"&&RE!=="\n"){LE=PlainValue.endOfLine(BE,xT,OT)}this.valueRange=new Range(xT,LE);LE=Node.endOfWhiteSpace(BE,LE);LE=this.parseComment(LE);if(!this.hasComment||this.valueRange.isEmpty()){LE=this.parseBlockValue(LE)}return LE}}xT.Char=OT;xT.Node=Node;xT.PlainValue=PlainValue;xT.Range=Range;xT.Type=BE;xT.YAMLError=YAMLError;xT.YAMLReferenceError=YAMLReferenceError;xT.YAMLSemanticError=YAMLSemanticError;xT.YAMLSyntaxError=YAMLSyntaxError;xT.YAMLWarning=YAMLWarning;xT._defineProperty=_defineProperty;xT.defaultTagPrefix=LE;xT.defaultTags=RE},8021:(pT,xT,OT)=>{"use strict";var BE=OT(5215);var LE=OT(4227);var RE=OT(6003);function createMap(pT,xT,OT){const BE=new LE.YAMLMap(pT);if(xT instanceof Map){for(const[LE,RE]of xT)BE.items.push(pT.createPair(LE,RE,OT))}else if(xT&&typeof xT==="object"){for(const LE of Object.keys(xT))BE.items.push(pT.createPair(LE,xT[LE],OT))}if(typeof pT.sortMapEntries==="function"){BE.items.sort(pT.sortMapEntries)}return BE}const ME={createNode:createMap,default:true,nodeClass:LE.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:LE.resolveMap};function createSeq(pT,xT,OT){const BE=new LE.YAMLSeq(pT);if(xT&&xT[Symbol.iterator]){for(const LE of xT){const xT=pT.createNode(LE,OT.wrapScalars,null,OT);BE.items.push(xT)}}return BE}const jE={createNode:createSeq,default:true,nodeClass:LE.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:LE.resolveSeq};const VE={identify:pT=>typeof pT==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:LE.resolveString,stringify(pT,xT,OT,BE){xT=Object.assign({actualString:true},xT);return LE.stringifyString(pT,xT,OT,BE)},options:LE.strOptions};const UE=[ME,jE,VE];const intIdentify$2=pT=>typeof pT==="bigint"||Number.isInteger(pT);const intResolve$1=(pT,xT,OT)=>LE.intOptions.asBigInt?BigInt(pT):parseInt(xT,OT);function intStringify$1(pT,xT,OT){const{value:BE}=pT;if(intIdentify$2(BE)&&BE>=0)return OT+BE.toString(xT);return LE.stringifyNumber(pT)}const JE={identify:pT=>pT==null,createNode:(pT,xT,OT)=>OT.wrapScalars?new LE.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:LE.nullOptions,stringify:()=>LE.nullOptions.nullStr};const qE={identify:pT=>typeof pT==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:pT=>pT[0]==="t"||pT[0]==="T",options:LE.boolOptions,stringify:({value:pT})=>pT?LE.boolOptions.trueStr:LE.boolOptions.falseStr};const KE={identify:pT=>intIdentify$2(pT)&&pT>=0,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(pT,xT)=>intResolve$1(pT,xT,8),options:LE.intOptions,stringify:pT=>intStringify$1(pT,8,"0o")};const zE={identify:intIdentify$2,default:true,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:pT=>intResolve$1(pT,pT,10),options:LE.intOptions,stringify:LE.stringifyNumber};const $E={identify:pT=>intIdentify$2(pT)&&pT>=0,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(pT,xT)=>intResolve$1(pT,xT,16),options:LE.intOptions,stringify:pT=>intStringify$1(pT,16,"0x")};const GE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(pT,xT)=>xT?NaN:pT[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:LE.stringifyNumber};const WE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:pT=>parseFloat(pT),stringify:({value:pT})=>Number(pT).toExponential()};const YE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(pT,xT,OT){const BE=xT||OT;const RE=new LE.Scalar(parseFloat(pT));if(BE&&BE[BE.length-1]==="0")RE.minFractionDigits=BE.length;return RE},stringify:LE.stringifyNumber};const HE=UE.concat([JE,qE,KE,zE,$E,GE,WE,YE]);const intIdentify$1=pT=>typeof pT==="bigint"||Number.isInteger(pT);const stringifyJSON=({value:pT})=>JSON.stringify(pT);const XE=[ME,jE,{identify:pT=>typeof pT==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:LE.resolveString,stringify:stringifyJSON},{identify:pT=>pT==null,createNode:(pT,xT,OT)=>OT.wrapScalars?new LE.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:stringifyJSON},{identify:pT=>typeof pT==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:pT=>pT==="true",stringify:stringifyJSON},{identify:intIdentify$1,default:true,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:pT=>LE.intOptions.asBigInt?BigInt(pT):parseInt(pT,10),stringify:({value:pT})=>intIdentify$1(pT)?pT.toString():JSON.stringify(pT)},{identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:pT=>parseFloat(pT),stringify:stringifyJSON}];XE.scalarFallback=pT=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(pT)}`)};const boolStringify=({value:pT})=>pT?LE.boolOptions.trueStr:LE.boolOptions.falseStr;const intIdentify=pT=>typeof pT==="bigint"||Number.isInteger(pT);function intResolve(pT,xT,OT){let BE=xT.replace(/_/g,"");if(LE.intOptions.asBigInt){switch(OT){case 2:BE=`0b${BE}`;break;case 8:BE=`0o${BE}`;break;case 16:BE=`0x${BE}`;break}const xT=BigInt(BE);return pT==="-"?BigInt(-1)*xT:xT}const RE=parseInt(BE,OT);return pT==="-"?-1*RE:RE}function intStringify(pT,xT,OT){const{value:BE}=pT;if(intIdentify(BE)){const pT=BE.toString(xT);return BE<0?"-"+OT+pT.substr(1):OT+pT}return LE.stringifyNumber(pT)}const QE=UE.concat([{identify:pT=>pT==null,createNode:(pT,xT,OT)=>OT.wrapScalars?new LE.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:LE.nullOptions,stringify:()=>LE.nullOptions.nullStr},{identify:pT=>typeof pT==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>true,options:LE.boolOptions,stringify:boolStringify},{identify:pT=>typeof pT==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>false,options:LE.boolOptions,stringify:boolStringify},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(pT,xT,OT)=>intResolve(xT,OT,2),stringify:pT=>intStringify(pT,2,"0b")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(pT,xT,OT)=>intResolve(xT,OT,8),stringify:pT=>intStringify(pT,8,"0")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(pT,xT,OT)=>intResolve(xT,OT,10),stringify:LE.stringifyNumber},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(pT,xT,OT)=>intResolve(xT,OT,16),stringify:pT=>intStringify(pT,16,"0x")},{identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(pT,xT)=>xT?NaN:pT[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:LE.stringifyNumber},{identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:pT=>parseFloat(pT.replace(/_/g,"")),stringify:({value:pT})=>Number(pT).toExponential()},{identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(pT,xT){const OT=new LE.Scalar(parseFloat(pT.replace(/_/g,"")));if(xT){const pT=xT.replace(/_/g,"");if(pT[pT.length-1]==="0")OT.minFractionDigits=pT.length}return OT},stringify:LE.stringifyNumber}],RE.binary,RE.omap,RE.pairs,RE.set,RE.intTime,RE.floatTime,RE.timestamp);const ZE={core:HE,failsafe:UE,json:XE,yaml11:QE};const eC={binary:RE.binary,bool:qE,float:YE,floatExp:WE,floatNaN:GE,floatTime:RE.floatTime,int:zE,intHex:$E,intOct:KE,intTime:RE.intTime,map:ME,null:JE,omap:RE.omap,pairs:RE.pairs,seq:jE,set:RE.set,timestamp:RE.timestamp};function findTagObject(pT,xT,OT){if(xT){const pT=OT.filter((pT=>pT.tag===xT));const BE=pT.find((pT=>!pT.format))||pT[0];if(!BE)throw new Error(`Tag ${xT} not found`);return BE}return OT.find((xT=>(xT.identify&&xT.identify(pT)||xT.class&&pT instanceof xT.class)&&!xT.format))}function createNode(pT,xT,OT){if(pT instanceof LE.Node)return pT;const{defaultPrefix:BE,onTagObj:RE,prevObjects:VE,schema:UE,wrapScalars:JE}=OT;if(xT&&xT.startsWith("!!"))xT=BE+xT.slice(2);let qE=findTagObject(pT,xT,UE.tags);if(!qE){if(typeof pT.toJSON==="function")pT=pT.toJSON();if(!pT||typeof pT!=="object")return JE?new LE.Scalar(pT):pT;qE=pT instanceof Map?ME:pT[Symbol.iterator]?jE:ME}if(RE){RE(qE);delete OT.onTagObj}const KE={value:undefined,node:undefined};if(pT&&typeof pT==="object"&&VE){const xT=VE.get(pT);if(xT){const pT=new LE.Alias(xT);OT.aliasNodes.push(pT);return pT}KE.value=pT;VE.set(pT,KE)}KE.node=qE.createNode?qE.createNode(OT.schema,pT,OT):JE?new LE.Scalar(pT):pT;if(xT&&KE.node instanceof LE.Node)KE.node.tag=xT;return KE.node}function getSchemaTags(pT,xT,OT,BE){let LE=pT[BE.replace(/\W/g,"")];if(!LE){const xT=Object.keys(pT).map((pT=>JSON.stringify(pT))).join(", ");throw new Error(`Unknown schema "${BE}"; use one of ${xT}`)}if(Array.isArray(OT)){for(const pT of OT)LE=LE.concat(pT)}else if(typeof OT==="function"){LE=OT(LE.slice())}for(let pT=0;pT<LE.length;++pT){const OT=LE[pT];if(typeof OT==="string"){const BE=xT[OT];if(!BE){const pT=Object.keys(xT).map((pT=>JSON.stringify(pT))).join(", ");throw new Error(`Unknown custom tag "${OT}"; use one of ${pT}`)}LE[pT]=BE}}return LE}const sortMapEntriesByKey=(pT,xT)=>pT.key<xT.key?-1:pT.key>xT.key?1:0;class Schema{constructor({customTags:pT,merge:xT,schema:OT,sortMapEntries:BE,tags:LE}){this.merge=!!xT;this.name=OT;this.sortMapEntries=BE===true?sortMapEntriesByKey:BE||null;if(!pT&&LE)RE.warnOptionDeprecation("tags","customTags");this.tags=getSchemaTags(ZE,eC,pT||LE,OT)}createNode(pT,xT,OT,BE){const LE={defaultPrefix:Schema.defaultPrefix,schema:this,wrapScalars:xT};const RE=BE?Object.assign(BE,LE):LE;return createNode(pT,OT,RE)}createPair(pT,xT,OT){if(!OT)OT={wrapScalars:true};const BE=this.createNode(pT,OT.wrapScalars,null,OT);const RE=this.createNode(xT,OT.wrapScalars,null,OT);return new LE.Pair(BE,RE)}}BE._defineProperty(Schema,"defaultPrefix",BE.defaultTagPrefix);BE._defineProperty(Schema,"defaultTags",BE.defaultTags);xT.Schema=Schema},5065:(pT,xT,OT)=>{"use strict";var BE=OT(445);var LE=OT(5506);var RE=OT(8021);var ME=OT(5215);var jE=OT(6003);OT(4227);function createNode(pT,xT=true,OT){if(OT===undefined&&typeof xT==="string"){OT=xT;xT=true}const BE=Object.assign({},LE.Document.defaults[LE.defaultOptions.version],LE.defaultOptions);const ME=new RE.Schema(BE);return ME.createNode(pT,xT,OT)}class Document extends LE.Document{constructor(pT){super(Object.assign({},LE.defaultOptions,pT))}}function parseAllDocuments(pT,xT){const OT=[];let LE;for(const RE of BE.parse(pT)){const pT=new Document(xT);pT.parse(RE,LE);OT.push(pT);LE=pT}return OT}function parseDocument(pT,xT){const OT=BE.parse(pT);const LE=new Document(xT).parse(OT[0]);if(OT.length>1){const pT="Source contains multiple documents; please use YAML.parseAllDocuments()";LE.errors.unshift(new ME.YAMLSemanticError(OT[1],pT))}return LE}function parse(pT,xT){const OT=parseDocument(pT,xT);OT.warnings.forEach((pT=>jE.warn(pT)));if(OT.errors.length>0)throw OT.errors[0];return OT.toJSON()}function stringify(pT,xT){const OT=new Document(xT);OT.contents=pT;return String(OT)}const VE={createNode:createNode,defaultOptions:LE.defaultOptions,Document:Document,parse:parse,parseAllDocuments:parseAllDocuments,parseCST:BE.parse,parseDocument:parseDocument,scalarOptions:LE.scalarOptions,stringify:stringify};xT.YAML=VE},445:(pT,xT,OT)=>{"use strict";var BE=OT(5215);class BlankLine extends BE.Node{constructor(){super(BE.Type.BLANK_LINE)}get includesTrailingLines(){return true}parse(pT,xT){this.context=pT;this.range=new BE.Range(xT,xT+1);return xT+1}}class CollectionItem extends BE.Node{constructor(pT,xT){super(pT,xT);this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(pT,xT){this.context=pT;const{parseNode:OT,src:LE}=pT;let{atLineStart:RE,lineStart:ME}=pT;if(!RE&&this.type===BE.Type.SEQ_ITEM)this.error=new BE.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line");const jE=RE?xT-ME:pT.indent;let VE=BE.Node.endOfWhiteSpace(LE,xT+1);let UE=LE[VE];const JE=UE==="#";const qE=[];let KE=null;while(UE==="\n"||UE==="#"){if(UE==="#"){const pT=BE.Node.endOfLine(LE,VE+1);qE.push(new BE.Range(VE,pT));VE=pT}else{RE=true;ME=VE+1;const pT=BE.Node.endOfWhiteSpace(LE,ME);if(LE[pT]==="\n"&&qE.length===0){KE=new BlankLine;ME=KE.parse({src:LE},ME)}VE=BE.Node.endOfIndent(LE,ME)}UE=LE[VE]}if(BE.Node.nextNodeIsIndented(UE,VE-(ME+jE),this.type!==BE.Type.SEQ_ITEM)){this.node=OT({atLineStart:RE,inCollection:false,indent:jE,lineStart:ME,parent:this},VE)}else if(UE&&ME>xT+1){VE=ME-1}if(this.node){if(KE){const xT=pT.parent.items||pT.parent.contents;if(xT)xT.push(KE)}if(qE.length)Array.prototype.push.apply(this.props,qE);VE=this.node.range.end}else{if(JE){const pT=qE[0];this.props.push(pT);VE=pT.end}else{VE=BE.Node.endOfLine(LE,xT+1)}}const zE=this.node?this.node.valueRange.end:VE;this.valueRange=new BE.Range(xT,zE);return VE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);return this.node?this.node.setOrigRanges(pT,xT):xT}toString(){const{context:{src:pT},node:xT,range:OT,value:LE}=this;if(LE!=null)return LE;const RE=xT?pT.slice(OT.start,xT.range.start)+String(xT):pT.slice(OT.start,OT.end);return BE.Node.addStringTerminator(pT,OT.end,RE)}}class Comment extends BE.Node{constructor(){super(BE.Type.COMMENT)}parse(pT,xT){this.context=pT;const OT=this.parseComment(xT);this.range=new BE.Range(xT,OT);return OT}}function grabCollectionEndComments(pT){let xT=pT;while(xT instanceof CollectionItem)xT=xT.node;if(!(xT instanceof Collection))return null;const OT=xT.items.length;let LE=-1;for(let pT=OT-1;pT>=0;--pT){const OT=xT.items[pT];if(OT.type===BE.Type.COMMENT){const{indent:xT,lineStart:BE}=OT.context;if(xT>0&&OT.range.start>=BE+xT)break;LE=pT}else if(OT.type===BE.Type.BLANK_LINE)LE=pT;else break}if(LE===-1)return null;const RE=xT.items.splice(LE,OT-LE);const ME=RE[0].range.start;while(true){xT.range.end=ME;if(xT.valueRange&&xT.valueRange.end>ME)xT.valueRange.end=ME;if(xT===pT)break;xT=xT.context.parent}return RE}class Collection extends BE.Node{static nextContentHasIndent(pT,xT,OT){const LE=BE.Node.endOfLine(pT,xT)+1;xT=BE.Node.endOfWhiteSpace(pT,LE);const RE=pT[xT];if(!RE)return false;if(xT>=LE+OT)return true;if(RE!=="#"&&RE!=="\n")return false;return Collection.nextContentHasIndent(pT,xT,OT)}constructor(pT){super(pT.type===BE.Type.SEQ_ITEM?BE.Type.SEQ:BE.Type.MAP);for(let xT=pT.props.length-1;xT>=0;--xT){if(pT.props[xT].start<pT.context.lineStart){this.props=pT.props.slice(0,xT+1);pT.props=pT.props.slice(xT+1);const OT=pT.props[0]||pT.valueRange;pT.range.start=OT.start;break}}this.items=[pT];const xT=grabCollectionEndComments(pT);if(xT)Array.prototype.push.apply(this.items,xT)}get includesTrailingLines(){return this.items.length>0}parse(pT,xT){this.context=pT;const{parseNode:OT,src:LE}=pT;let RE=BE.Node.startOfLine(LE,xT);const ME=this.items[0];ME.context.parent=this;this.valueRange=BE.Range.copy(ME.valueRange);const jE=ME.range.start-ME.context.lineStart;let VE=xT;VE=BE.Node.normalizeOffset(LE,VE);let UE=LE[VE];let JE=BE.Node.endOfWhiteSpace(LE,RE)===VE;let qE=false;while(UE){while(UE==="\n"||UE==="#"){if(JE&&UE==="\n"&&!qE){const pT=new BlankLine;VE=pT.parse({src:LE},VE);this.valueRange.end=VE;if(VE>=LE.length){UE=null;break}this.items.push(pT);VE-=1}else if(UE==="#"){if(VE<RE+jE&&!Collection.nextContentHasIndent(LE,VE,jE)){return VE}const pT=new Comment;VE=pT.parse({indent:jE,lineStart:RE,src:LE},VE);this.items.push(pT);this.valueRange.end=VE;if(VE>=LE.length){UE=null;break}}RE=VE+1;VE=BE.Node.endOfIndent(LE,RE);if(BE.Node.atBlank(LE,VE)){const pT=BE.Node.endOfWhiteSpace(LE,VE);const xT=LE[pT];if(!xT||xT==="\n"||xT==="#"){VE=pT}}UE=LE[VE];JE=true}if(!UE){break}if(VE!==RE+jE&&(JE||UE!==":")){if(VE<RE+jE){if(RE>xT)VE=RE;break}else if(!this.error){const pT="All collection items must start at the same column";this.error=new BE.YAMLSyntaxError(this,pT)}}if(ME.type===BE.Type.SEQ_ITEM){if(UE!=="-"){if(RE>xT)VE=RE;break}}else if(UE==="-"&&!this.error){const pT=LE[VE+1];if(!pT||pT==="\n"||pT==="\t"||pT===" "){const pT="A collection cannot be both a mapping and a sequence";this.error=new BE.YAMLSyntaxError(this,pT)}}const pT=OT({atLineStart:JE,inCollection:true,indent:jE,lineStart:RE,parent:this},VE);if(!pT)return VE;this.items.push(pT);this.valueRange.end=pT.valueRange.end;VE=BE.Node.normalizeOffset(LE,pT.range.end);UE=LE[VE];JE=false;qE=pT.includesTrailingLines;if(UE){let pT=VE-1;let xT=LE[pT];while(xT===" "||xT==="\t")xT=LE[--pT];if(xT==="\n"){RE=pT+1;JE=true}}const KE=grabCollectionEndComments(pT);if(KE)Array.prototype.push.apply(this.items,KE)}return VE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);this.items.forEach((OT=>{xT=OT.setOrigRanges(pT,xT)}));return xT}toString(){const{context:{src:pT},items:xT,range:OT,value:LE}=this;if(LE!=null)return LE;let RE=pT.slice(OT.start,xT[0].range.start)+String(xT[0]);for(let pT=1;pT<xT.length;++pT){const OT=xT[pT];const{atLineStart:BE,indent:LE}=OT.context;if(BE)for(let pT=0;pT<LE;++pT)RE+=" ";RE+=String(OT)}return BE.Node.addStringTerminator(pT,OT.end,RE)}}class Directive extends BE.Node{constructor(){super(BE.Type.DIRECTIVE);this.name=null}get parameters(){const pT=this.rawValue;return pT?pT.trim().split(/[ \t]+/):[]}parseName(pT){const{src:xT}=this.context;let OT=pT;let BE=xT[OT];while(BE&&BE!=="\n"&&BE!=="\t"&&BE!==" ")BE=xT[OT+=1];this.name=xT.slice(pT,OT);return OT}parseParameters(pT){const{src:xT}=this.context;let OT=pT;let LE=xT[OT];while(LE&&LE!=="\n"&&LE!=="#")LE=xT[OT+=1];this.valueRange=new BE.Range(pT,OT);return OT}parse(pT,xT){this.context=pT;let OT=this.parseName(xT+1);OT=this.parseParameters(OT);OT=this.parseComment(OT);this.range=new BE.Range(xT,OT);return OT}}class Document extends BE.Node{static startCommentOrEndBlankLine(pT,xT){const OT=BE.Node.endOfWhiteSpace(pT,xT);const LE=pT[OT];return LE==="#"||LE==="\n"?OT:xT}constructor(){super(BE.Type.DOCUMENT);this.directives=null;this.contents=null;this.directivesEndMarker=null;this.documentEndMarker=null}parseDirectives(pT){const{src:xT}=this.context;this.directives=[];let OT=true;let LE=false;let RE=pT;while(!BE.Node.atDocumentBoundary(xT,RE,BE.Char.DIRECTIVES_END)){RE=Document.startCommentOrEndBlankLine(xT,RE);switch(xT[RE]){case"\n":if(OT){const pT=new BlankLine;RE=pT.parse({src:xT},RE);if(RE<xT.length){this.directives.push(pT)}}else{RE+=1;OT=true}break;case"#":{const pT=new Comment;RE=pT.parse({src:xT},RE);this.directives.push(pT);OT=false}break;case"%":{const pT=new Directive;RE=pT.parse({parent:this,src:xT},RE);this.directives.push(pT);LE=true;OT=false}break;default:if(LE){this.error=new BE.YAMLSemanticError(this,"Missing directives-end indicator line")}else if(this.directives.length>0){this.contents=this.directives;this.directives=[]}return RE}}if(xT[RE]){this.directivesEndMarker=new BE.Range(RE,RE+3);return RE+3}if(LE){this.error=new BE.YAMLSemanticError(this,"Missing directives-end indicator line")}else if(this.directives.length>0){this.contents=this.directives;this.directives=[]}return RE}parseContents(pT){const{parseNode:xT,src:OT}=this.context;if(!this.contents)this.contents=[];let LE=pT;while(OT[LE-1]==="-")LE-=1;let RE=BE.Node.endOfWhiteSpace(OT,pT);let ME=LE===pT;this.valueRange=new BE.Range(RE);while(!BE.Node.atDocumentBoundary(OT,RE,BE.Char.DOCUMENT_END)){switch(OT[RE]){case"\n":if(ME){const pT=new BlankLine;RE=pT.parse({src:OT},RE);if(RE<OT.length){this.contents.push(pT)}}else{RE+=1;ME=true}LE=RE;break;case"#":{const pT=new Comment;RE=pT.parse({src:OT},RE);this.contents.push(pT);ME=false}break;default:{const pT=BE.Node.endOfIndent(OT,RE);const jE={atLineStart:ME,indent:-1,inFlow:false,inCollection:false,lineStart:LE,parent:this};const VE=xT(jE,pT);if(!VE)return this.valueRange.end=pT;this.contents.push(VE);RE=VE.range.end;ME=false;const UE=grabCollectionEndComments(VE);if(UE)Array.prototype.push.apply(this.contents,UE)}}RE=Document.startCommentOrEndBlankLine(OT,RE)}this.valueRange.end=RE;if(OT[RE]){this.documentEndMarker=new BE.Range(RE,RE+3);RE+=3;if(OT[RE]){RE=BE.Node.endOfWhiteSpace(OT,RE);if(OT[RE]==="#"){const pT=new Comment;RE=pT.parse({src:OT},RE);this.contents.push(pT)}switch(OT[RE]){case"\n":RE+=1;break;case undefined:break;default:this.error=new BE.YAMLSyntaxError(this,"Document end marker line cannot have a non-comment suffix")}}}return RE}parse(pT,xT){pT.root=this;this.context=pT;const{src:OT}=pT;let BE=OT.charCodeAt(xT)===65279?xT+1:xT;BE=this.parseDirectives(BE);BE=this.parseContents(BE);return BE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);this.directives.forEach((OT=>{xT=OT.setOrigRanges(pT,xT)}));if(this.directivesEndMarker)xT=this.directivesEndMarker.setOrigRange(pT,xT);this.contents.forEach((OT=>{xT=OT.setOrigRanges(pT,xT)}));if(this.documentEndMarker)xT=this.documentEndMarker.setOrigRange(pT,xT);return xT}toString(){const{contents:pT,directives:xT,value:OT}=this;if(OT!=null)return OT;let LE=xT.join("");if(pT.length>0){if(xT.length>0||pT[0].type===BE.Type.COMMENT)LE+="---\n";LE+=pT.join("")}if(LE[LE.length-1]!=="\n")LE+="\n";return LE}}class Alias extends BE.Node{parse(pT,xT){this.context=pT;const{src:OT}=pT;let LE=BE.Node.endOfIdentifier(OT,xT+1);this.valueRange=new BE.Range(xT+1,LE);LE=BE.Node.endOfWhiteSpace(OT,LE);LE=this.parseComment(LE);return LE}}const LE={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"};class BlockValue extends BE.Node{constructor(pT,xT){super(pT,xT);this.blockIndent=null;this.chomping=LE.CLIP;this.header=null}get includesTrailingLines(){return this.chomping===LE.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:pT,end:xT}=this.valueRange;const{indent:OT,src:RE}=this.context;if(this.valueRange.isEmpty())return"";let ME=null;let jE=RE[xT-1];while(jE==="\n"||jE==="\t"||jE===" "){xT-=1;if(xT<=pT){if(this.chomping===LE.KEEP)break;else return""}if(jE==="\n")ME=xT;jE=RE[xT-1]}let VE=xT+1;if(ME){if(this.chomping===LE.KEEP){VE=ME;xT=this.valueRange.end}else{xT=ME}}const UE=OT+this.blockIndent;const JE=this.type===BE.Type.BLOCK_FOLDED;let qE=true;let KE="";let zE="";let $E=false;for(let OT=pT;OT<xT;++OT){for(let pT=0;pT<UE;++pT){if(RE[OT]!==" ")break;OT+=1}const pT=RE[OT];if(pT==="\n"){if(zE==="\n")KE+="\n";else zE="\n"}else{const LE=BE.Node.endOfLine(RE,OT);const ME=RE.slice(OT,LE);OT=LE;if(JE&&(pT===" "||pT==="\t")&&OT<VE){if(zE===" ")zE="\n";else if(!$E&&!qE&&zE==="\n")zE="\n\n";KE+=zE+ME;zE=LE<xT&&RE[LE]||"";$E=true}else{KE+=zE+ME;zE=JE&&OT<VE?" ":"\n";$E=false}if(qE&&ME!=="")qE=false}}return this.chomping===LE.STRIP?KE:KE+"\n"}parseBlockHeader(pT){const{src:xT}=this.context;let OT=pT+1;let RE="";while(true){const ME=xT[OT];switch(ME){case"-":this.chomping=LE.STRIP;break;case"+":this.chomping=LE.KEEP;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":RE+=ME;break;default:this.blockIndent=Number(RE)||null;this.header=new BE.Range(pT,OT);return OT}OT+=1}}parseBlockValue(pT){const{indent:xT,src:OT}=this.context;const RE=!!this.blockIndent;let ME=pT;let jE=pT;let VE=1;for(let pT=OT[ME];pT==="\n";pT=OT[ME]){ME+=1;if(BE.Node.atDocumentBoundary(OT,ME))break;const pT=BE.Node.endOfBlockIndent(OT,xT,ME);if(pT===null)break;const LE=OT[pT];const UE=pT-(ME+xT);if(!this.blockIndent){if(OT[pT]!=="\n"){if(UE<VE){const pT="Block scalars with more-indented leading empty lines must use an explicit indentation indicator";this.error=new BE.YAMLSemanticError(this,pT)}this.blockIndent=UE}else if(UE>VE){VE=UE}}else if(LE&&LE!=="\n"&&UE<this.blockIndent){if(OT[pT]==="#")break;if(!this.error){const pT=RE?"explicit indentation indicator":"first line";const xT=`Block scalars must not be less indented than their ${pT}`;this.error=new BE.YAMLSemanticError(this,xT)}}if(OT[pT]==="\n"){ME=pT}else{ME=jE=BE.Node.endOfLine(OT,pT)}}if(this.chomping!==LE.KEEP){ME=OT[jE]?jE+1:jE}this.valueRange=new BE.Range(pT+1,ME);return ME}parse(pT,xT){this.context=pT;const{src:OT}=pT;let LE=this.parseBlockHeader(xT);LE=BE.Node.endOfWhiteSpace(OT,LE);LE=this.parseComment(LE);LE=this.parseBlockValue(LE);return LE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);return this.header?this.header.setOrigRange(pT,xT):xT}}class FlowCollection extends BE.Node{constructor(pT,xT){super(pT,xT);this.items=null}prevNodeIsJsonLike(pT=this.items.length){const xT=this.items[pT-1];return!!xT&&(xT.jsonLike||xT.type===BE.Type.COMMENT&&this.prevNodeIsJsonLike(pT-1))}parse(pT,xT){this.context=pT;const{parseNode:OT,src:LE}=pT;let{indent:RE,lineStart:ME}=pT;let jE=LE[xT];this.items=[{char:jE,offset:xT}];let VE=BE.Node.endOfWhiteSpace(LE,xT+1);jE=LE[VE];while(jE&&jE!=="]"&&jE!=="}"){switch(jE){case"\n":{ME=VE+1;const pT=BE.Node.endOfWhiteSpace(LE,ME);if(LE[pT]==="\n"){const pT=new BlankLine;ME=pT.parse({src:LE},ME);this.items.push(pT)}VE=BE.Node.endOfIndent(LE,ME);if(VE<=ME+RE){jE=LE[VE];if(VE<ME+RE||jE!=="]"&&jE!=="}"){const pT="Insufficient indentation in flow collection";this.error=new BE.YAMLSemanticError(this,pT)}}}break;case",":{this.items.push({char:jE,offset:VE});VE+=1}break;case"#":{const pT=new Comment;VE=pT.parse({src:LE},VE);this.items.push(pT)}break;case"?":case":":{const pT=LE[VE+1];if(pT==="\n"||pT==="\t"||pT===" "||pT===","||jE===":"&&this.prevNodeIsJsonLike()){this.items.push({char:jE,offset:VE});VE+=1;break}}default:{const pT=OT({atLineStart:false,inCollection:false,inFlow:true,indent:-1,lineStart:ME,parent:this},VE);if(!pT){this.valueRange=new BE.Range(xT,VE);return VE}this.items.push(pT);VE=BE.Node.normalizeOffset(LE,pT.range.end)}}VE=BE.Node.endOfWhiteSpace(LE,VE);jE=LE[VE]}this.valueRange=new BE.Range(xT,VE+1);if(jE){this.items.push({char:jE,offset:VE});VE=BE.Node.endOfWhiteSpace(LE,VE+1);VE=this.parseComment(VE)}return VE}setOrigRanges(pT,xT){xT=super.setOrigRanges(pT,xT);this.items.forEach((OT=>{if(OT instanceof BE.Node){xT=OT.setOrigRanges(pT,xT)}else if(pT.length===0){OT.origOffset=OT.offset}else{let BE=xT;while(BE<pT.length){if(pT[BE]>OT.offset)break;else++BE}OT.origOffset=OT.offset+BE;xT=BE}}));return xT}toString(){const{context:{src:pT},items:xT,range:OT,value:LE}=this;if(LE!=null)return LE;const RE=xT.filter((pT=>pT instanceof BE.Node));let ME="";let jE=OT.start;RE.forEach((xT=>{const OT=pT.slice(jE,xT.range.start);jE=xT.range.end;ME+=OT+String(xT);if(ME[ME.length-1]==="\n"&&pT[jE-1]!=="\n"&&pT[jE]==="\n"){jE+=1}}));ME+=pT.slice(jE,OT.end);return BE.Node.addStringTerminator(pT,OT.end,ME)}}class QuoteDouble extends BE.Node{static endOfQuote(pT,xT){let OT=pT[xT];while(OT&&OT!=='"'){xT+=OT==="\\"?2:1;OT=pT[xT]}return xT+1}get strValue(){if(!this.valueRange||!this.context)return null;const pT=[];const{start:xT,end:OT}=this.valueRange;const{indent:LE,src:RE}=this.context;if(RE[OT-1]!=='"')pT.push(new BE.YAMLSyntaxError(this,'Missing closing "quote'));let ME="";for(let jE=xT+1;jE<OT-1;++jE){const xT=RE[jE];if(xT==="\n"){if(BE.Node.atDocumentBoundary(RE,jE+1))pT.push(new BE.YAMLSemanticError(this,"Document boundary indicators are not allowed within string values"));const{fold:xT,offset:OT,error:VE}=BE.Node.foldNewline(RE,jE,LE);ME+=xT;jE=OT;if(VE)pT.push(new BE.YAMLSemanticError(this,"Multi-line double-quoted string needs to be sufficiently indented"))}else if(xT==="\\"){jE+=1;switch(RE[jE]){case"0":ME+="\0";break;case"a":ME+="";break;case"b":ME+="\b";break;case"e":ME+="";break;case"f":ME+="\f";break;case"n":ME+="\n";break;case"r":ME+="\r";break;case"t":ME+="\t";break;case"v":ME+="\v";break;case"N":ME+="…";break;case"_":ME+=" ";break;case"L":ME+="\u2028";break;case"P":ME+="\u2029";break;case" ":ME+=" ";break;case'"':ME+='"';break;case"/":ME+="/";break;case"\\":ME+="\\";break;case"\t":ME+="\t";break;case"x":ME+=this.parseCharCode(jE+1,2,pT);jE+=2;break;case"u":ME+=this.parseCharCode(jE+1,4,pT);jE+=4;break;case"U":ME+=this.parseCharCode(jE+1,8,pT);jE+=8;break;case"\n":while(RE[jE+1]===" "||RE[jE+1]==="\t")jE+=1;break;default:pT.push(new BE.YAMLSyntaxError(this,`Invalid escape sequence ${RE.substr(jE-1,2)}`));ME+="\\"+RE[jE]}}else if(xT===" "||xT==="\t"){const pT=jE;let OT=RE[jE+1];while(OT===" "||OT==="\t"){jE+=1;OT=RE[jE+1]}if(OT!=="\n")ME+=jE>pT?RE.slice(pT,jE+1):xT}else{ME+=xT}}return pT.length>0?{errors:pT,str:ME}:ME}parseCharCode(pT,xT,OT){const{src:LE}=this.context;const RE=LE.substr(pT,xT);const ME=RE.length===xT&&/^[0-9a-fA-F]+$/.test(RE);const jE=ME?parseInt(RE,16):NaN;if(isNaN(jE)){OT.push(new BE.YAMLSyntaxError(this,`Invalid escape sequence ${LE.substr(pT-2,xT+2)}`));return LE.substr(pT-2,xT+2)}return String.fromCodePoint(jE)}parse(pT,xT){this.context=pT;const{src:OT}=pT;let LE=QuoteDouble.endOfQuote(OT,xT+1);this.valueRange=new BE.Range(xT,LE);LE=BE.Node.endOfWhiteSpace(OT,LE);LE=this.parseComment(LE);return LE}}class QuoteSingle extends BE.Node{static endOfQuote(pT,xT){let OT=pT[xT];while(OT){if(OT==="'"){if(pT[xT+1]!=="'")break;OT=pT[xT+=2]}else{OT=pT[xT+=1]}}return xT+1}get strValue(){if(!this.valueRange||!this.context)return null;const pT=[];const{start:xT,end:OT}=this.valueRange;const{indent:LE,src:RE}=this.context;if(RE[OT-1]!=="'")pT.push(new BE.YAMLSyntaxError(this,"Missing closing 'quote"));let ME="";for(let jE=xT+1;jE<OT-1;++jE){const xT=RE[jE];if(xT==="\n"){if(BE.Node.atDocumentBoundary(RE,jE+1))pT.push(new BE.YAMLSemanticError(this,"Document boundary indicators are not allowed within string values"));const{fold:xT,offset:OT,error:VE}=BE.Node.foldNewline(RE,jE,LE);ME+=xT;jE=OT;if(VE)pT.push(new BE.YAMLSemanticError(this,"Multi-line single-quoted string needs to be sufficiently indented"))}else if(xT==="'"){ME+=xT;jE+=1;if(RE[jE]!=="'")pT.push(new BE.YAMLSyntaxError(this,"Unescaped single quote? This should not happen."))}else if(xT===" "||xT==="\t"){const pT=jE;let OT=RE[jE+1];while(OT===" "||OT==="\t"){jE+=1;OT=RE[jE+1]}if(OT!=="\n")ME+=jE>pT?RE.slice(pT,jE+1):xT}else{ME+=xT}}return pT.length>0?{errors:pT,str:ME}:ME}parse(pT,xT){this.context=pT;const{src:OT}=pT;let LE=QuoteSingle.endOfQuote(OT,xT+1);this.valueRange=new BE.Range(xT,LE);LE=BE.Node.endOfWhiteSpace(OT,LE);LE=this.parseComment(LE);return LE}}function createNewNode(pT,xT){switch(pT){case BE.Type.ALIAS:return new Alias(pT,xT);case BE.Type.BLOCK_FOLDED:case BE.Type.BLOCK_LITERAL:return new BlockValue(pT,xT);case BE.Type.FLOW_MAP:case BE.Type.FLOW_SEQ:return new FlowCollection(pT,xT);case BE.Type.MAP_KEY:case BE.Type.MAP_VALUE:case BE.Type.SEQ_ITEM:return new CollectionItem(pT,xT);case BE.Type.COMMENT:case BE.Type.PLAIN:return new BE.PlainValue(pT,xT);case BE.Type.QUOTE_DOUBLE:return new QuoteDouble(pT,xT);case BE.Type.QUOTE_SINGLE:return new QuoteSingle(pT,xT);default:return null}}class ParseContext{static parseType(pT,xT,OT){switch(pT[xT]){case"*":return BE.Type.ALIAS;case">":return BE.Type.BLOCK_FOLDED;case"|":return BE.Type.BLOCK_LITERAL;case"{":return BE.Type.FLOW_MAP;case"[":return BE.Type.FLOW_SEQ;case"?":return!OT&&BE.Node.atBlank(pT,xT+1,true)?BE.Type.MAP_KEY:BE.Type.PLAIN;case":":return!OT&&BE.Node.atBlank(pT,xT+1,true)?BE.Type.MAP_VALUE:BE.Type.PLAIN;case"-":return!OT&&BE.Node.atBlank(pT,xT+1,true)?BE.Type.SEQ_ITEM:BE.Type.PLAIN;case'"':return BE.Type.QUOTE_DOUBLE;case"'":return BE.Type.QUOTE_SINGLE;default:return BE.Type.PLAIN}}constructor(pT={},{atLineStart:xT,inCollection:OT,inFlow:LE,indent:RE,lineStart:ME,parent:jE}={}){BE._defineProperty(this,"parseNode",((pT,xT)=>{if(BE.Node.atDocumentBoundary(this.src,xT))return null;const OT=new ParseContext(this,pT);const{props:LE,type:RE,valueStart:ME}=OT.parseProps(xT);const jE=createNewNode(RE,LE);let VE=jE.parse(OT,ME);jE.range=new BE.Range(xT,VE);if(VE<=xT){jE.error=new Error(`Node#parse consumed no characters`);jE.error.parseEnd=VE;jE.error.source=jE;jE.range.end=xT+1}if(OT.nodeStartsCollection(jE)){if(!jE.error&&!OT.atLineStart&&OT.parent.type===BE.Type.DOCUMENT){jE.error=new BE.YAMLSyntaxError(jE,"Block collection must not have preceding content here (e.g. directives-end indicator)")}const pT=new Collection(jE);VE=pT.parse(new ParseContext(OT),VE);pT.range=new BE.Range(xT,VE);return pT}return jE}));this.atLineStart=xT!=null?xT:pT.atLineStart||false;this.inCollection=OT!=null?OT:pT.inCollection||false;this.inFlow=LE!=null?LE:pT.inFlow||false;this.indent=RE!=null?RE:pT.indent;this.lineStart=ME!=null?ME:pT.lineStart;this.parent=jE!=null?jE:pT.parent||{};this.root=pT.root;this.src=pT.src}nodeStartsCollection(pT){const{inCollection:xT,inFlow:OT,src:LE}=this;if(xT||OT)return false;if(pT instanceof CollectionItem)return true;let RE=pT.range.end;if(LE[RE]==="\n"||LE[RE-1]==="\n")return false;RE=BE.Node.endOfWhiteSpace(LE,RE);return LE[RE]===":"}parseProps(pT){const{inFlow:xT,parent:OT,src:LE}=this;const RE=[];let ME=false;pT=this.atLineStart?BE.Node.endOfIndent(LE,pT):BE.Node.endOfWhiteSpace(LE,pT);let jE=LE[pT];while(jE===BE.Char.ANCHOR||jE===BE.Char.COMMENT||jE===BE.Char.TAG||jE==="\n"){if(jE==="\n"){let xT=pT;let RE;do{RE=xT+1;xT=BE.Node.endOfIndent(LE,RE)}while(LE[xT]==="\n");const jE=xT-(RE+this.indent);const VE=OT.type===BE.Type.SEQ_ITEM&&OT.context.atLineStart;if(LE[xT]!=="#"&&!BE.Node.nextNodeIsIndented(LE[xT],jE,!VE))break;this.atLineStart=true;this.lineStart=RE;ME=false;pT=xT}else if(jE===BE.Char.COMMENT){const xT=BE.Node.endOfLine(LE,pT+1);RE.push(new BE.Range(pT,xT));pT=xT}else{let xT=BE.Node.endOfIdentifier(LE,pT+1);if(jE===BE.Char.TAG&&LE[xT]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(LE.slice(pT+1,xT+13))){xT=BE.Node.endOfIdentifier(LE,xT+5)}RE.push(new BE.Range(pT,xT));ME=true;pT=BE.Node.endOfWhiteSpace(LE,xT)}jE=LE[pT]}if(ME&&jE===":"&&BE.Node.atBlank(LE,pT+1,true))pT-=1;const VE=ParseContext.parseType(LE,pT,xT);return{props:RE,type:VE,valueStart:pT}}}function parse(pT){const xT=[];if(pT.indexOf("\r")!==-1){pT=pT.replace(/\r\n?/g,((pT,OT)=>{if(pT.length>1)xT.push(OT);return"\n"}))}const OT=[];let BE=0;do{const xT=new Document;const LE=new ParseContext({src:pT});BE=xT.parse(LE,BE);OT.push(xT)}while(BE<pT.length);OT.setOrigRanges=()=>{if(xT.length===0)return false;for(let pT=1;pT<xT.length;++pT)xT[pT]-=pT;let pT=0;for(let BE=0;BE<OT.length;++BE){pT=OT[BE].setOrigRanges(xT,pT)}xT.splice(0,xT.length);return true};OT.toString=()=>OT.join("...\n");return OT}xT.parse=parse},4227:(pT,xT,OT)=>{"use strict";var BE=OT(5215);function addCommentBefore(pT,xT,OT){if(!OT)return pT;const BE=OT.replace(/[\s\S]^/gm,`$&${xT}#`);return`#${BE}\n${xT}${pT}`}function addComment(pT,xT,OT){return!OT?pT:OT.indexOf("\n")===-1?`${pT} #${OT}`:`${pT}\n`+OT.replace(/^/gm,`${xT||""}#`)}class Node{}function toJSON(pT,xT,OT){if(Array.isArray(pT))return pT.map(((pT,xT)=>toJSON(pT,String(xT),OT)));if(pT&&typeof pT.toJSON==="function"){const BE=OT&&OT.anchors&&OT.anchors.get(pT);if(BE)OT.onCreate=pT=>{BE.res=pT;delete OT.onCreate};const LE=pT.toJSON(xT,OT);if(BE&&OT.onCreate)OT.onCreate(LE);return LE}if((!OT||!OT.keep)&&typeof pT==="bigint")return Number(pT);return pT}class Scalar extends Node{constructor(pT){super();this.value=pT}toJSON(pT,xT){return xT&&xT.keep?this.value:toJSON(this.value,pT,xT)}toString(){return String(this.value)}}function collectionFromPath(pT,xT,OT){let BE=OT;for(let pT=xT.length-1;pT>=0;--pT){const OT=xT[pT];if(Number.isInteger(OT)&&OT>=0){const pT=[];pT[OT]=BE;BE=pT}else{const pT={};Object.defineProperty(pT,OT,{value:BE,writable:true,enumerable:true,configurable:true});BE=pT}}return pT.createNode(BE,false)}const isEmptyPath=pT=>pT==null||typeof pT==="object"&&pT[Symbol.iterator]().next().done;class Collection extends Node{constructor(pT){super();BE._defineProperty(this,"items",[]);this.schema=pT}addIn(pT,xT){if(isEmptyPath(pT))this.add(xT);else{const[OT,...BE]=pT;const LE=this.get(OT,true);if(LE instanceof Collection)LE.addIn(BE,xT);else if(LE===undefined&&this.schema)this.set(OT,collectionFromPath(this.schema,BE,xT));else throw new Error(`Expected YAML collection at ${OT}. Remaining path: ${BE}`)}}deleteIn([pT,...xT]){if(xT.length===0)return this.delete(pT);const OT=this.get(pT,true);if(OT instanceof Collection)return OT.deleteIn(xT);else throw new Error(`Expected YAML collection at ${pT}. Remaining path: ${xT}`)}getIn([pT,...xT],OT){const BE=this.get(pT,true);if(xT.length===0)return!OT&&BE instanceof Scalar?BE.value:BE;else return BE instanceof Collection?BE.getIn(xT,OT):undefined}hasAllNullValues(){return this.items.every((pT=>{if(!pT||pT.type!=="PAIR")return false;const xT=pT.value;return xT==null||xT instanceof Scalar&&xT.value==null&&!xT.commentBefore&&!xT.comment&&!xT.tag}))}hasIn([pT,...xT]){if(xT.length===0)return this.has(pT);const OT=this.get(pT,true);return OT instanceof Collection?OT.hasIn(xT):false}setIn([pT,...xT],OT){if(xT.length===0){this.set(pT,OT)}else{const BE=this.get(pT,true);if(BE instanceof Collection)BE.setIn(xT,OT);else if(BE===undefined&&this.schema)this.set(pT,collectionFromPath(this.schema,xT,OT));else throw new Error(`Expected YAML collection at ${pT}. Remaining path: ${xT}`)}}toJSON(){return null}toString(pT,{blockItem:xT,flowChars:OT,isMap:LE,itemIndent:RE},ME,jE){const{indent:VE,indentStep:UE,stringify:JE}=pT;const qE=this.type===BE.Type.FLOW_MAP||this.type===BE.Type.FLOW_SEQ||pT.inFlow;if(qE)RE+=UE;const KE=LE&&this.hasAllNullValues();pT=Object.assign({},pT,{allNullValues:KE,indent:RE,inFlow:qE,type:null});let zE=false;let $E=false;const GE=this.items.reduce(((xT,OT,BE)=>{let LE;if(OT){if(!zE&&OT.spaceBefore)xT.push({type:"comment",str:""});if(OT.commentBefore)OT.commentBefore.match(/^.*$/gm).forEach((pT=>{xT.push({type:"comment",str:`#${pT}`})}));if(OT.comment)LE=OT.comment;if(qE&&(!zE&&OT.spaceBefore||OT.commentBefore||OT.comment||OT.key&&(OT.key.commentBefore||OT.key.comment)||OT.value&&(OT.value.commentBefore||OT.value.comment)))$E=true}zE=false;let ME=JE(OT,pT,(()=>LE=null),(()=>zE=true));if(qE&&!$E&&ME.includes("\n"))$E=true;if(qE&&BE<this.items.length-1)ME+=",";ME=addComment(ME,RE,LE);if(zE&&(LE||qE))zE=false;xT.push({type:"item",str:ME});return xT}),[]);let WE;if(GE.length===0){WE=OT.start+OT.end}else if(qE){const{start:pT,end:xT}=OT;const BE=GE.map((pT=>pT.str));if($E||BE.reduce(((pT,xT)=>pT+xT.length+2),2)>Collection.maxFlowStringSingleLineLength){WE=pT;for(const pT of BE){WE+=pT?`\n${UE}${VE}${pT}`:"\n"}WE+=`\n${VE}${xT}`}else{WE=`${pT} ${BE.join(" ")} ${xT}`}}else{const pT=GE.map(xT);WE=pT.shift();for(const xT of pT)WE+=xT?`\n${VE}${xT}`:"\n"}if(this.comment){WE+="\n"+this.comment.replace(/^/gm,`${VE}#`);if(ME)ME()}else if(zE&&jE)jE();return WE}}BE._defineProperty(Collection,"maxFlowStringSingleLineLength",60);function asItemIndex(pT){let xT=pT instanceof Scalar?pT.value:pT;if(xT&&typeof xT==="string")xT=Number(xT);return Number.isInteger(xT)&&xT>=0?xT:null}class YAMLSeq extends Collection{add(pT){this.items.push(pT)}delete(pT){const xT=asItemIndex(pT);if(typeof xT!=="number")return false;const OT=this.items.splice(xT,1);return OT.length>0}get(pT,xT){const OT=asItemIndex(pT);if(typeof OT!=="number")return undefined;const BE=this.items[OT];return!xT&&BE instanceof Scalar?BE.value:BE}has(pT){const xT=asItemIndex(pT);return typeof xT==="number"&&xT<this.items.length}set(pT,xT){const OT=asItemIndex(pT);if(typeof OT!=="number")throw new Error(`Expected a valid index, not ${pT}.`);this.items[OT]=xT}toJSON(pT,xT){const OT=[];if(xT&&xT.onCreate)xT.onCreate(OT);let BE=0;for(const pT of this.items)OT.push(toJSON(pT,String(BE++),xT));return OT}toString(pT,xT,OT){if(!pT)return JSON.stringify(this);return super.toString(pT,{blockItem:pT=>pT.type==="comment"?pT.str:`- ${pT.str}`,flowChars:{start:"[",end:"]"},isMap:false,itemIndent:(pT.indent||"")+" "},xT,OT)}}const stringifyKey=(pT,xT,OT)=>{if(xT===null)return"";if(typeof xT!=="object")return String(xT);if(pT instanceof Node&&OT&&OT.doc)return pT.toString({anchors:Object.create(null),doc:OT.doc,indent:"",indentStep:OT.indentStep,inFlow:true,inStringifyKey:true,stringify:OT.stringify});return JSON.stringify(xT)};class Pair extends Node{constructor(pT,xT=null){super();this.key=pT;this.value=xT;this.type=Pair.Type.PAIR}get commentBefore(){return this.key instanceof Node?this.key.commentBefore:undefined}set commentBefore(pT){if(this.key==null)this.key=new Scalar(null);if(this.key instanceof Node)this.key.commentBefore=pT;else{const pT="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(pT)}}addToJSMap(pT,xT){const OT=toJSON(this.key,"",pT);if(xT instanceof Map){const BE=toJSON(this.value,OT,pT);xT.set(OT,BE)}else if(xT instanceof Set){xT.add(OT)}else{const BE=stringifyKey(this.key,OT,pT);const LE=toJSON(this.value,BE,pT);if(BE in xT)Object.defineProperty(xT,BE,{value:LE,writable:true,enumerable:true,configurable:true});else xT[BE]=LE}return xT}toJSON(pT,xT){const OT=xT&&xT.mapAsMap?new Map:{};return this.addToJSMap(xT,OT)}toString(pT,xT,OT){if(!pT||!pT.doc)return JSON.stringify(this);const{indent:LE,indentSeq:RE,simpleKeys:ME}=pT.doc.options;let{key:jE,value:VE}=this;let UE=jE instanceof Node&&jE.comment;if(ME){if(UE){throw new Error("With simple keys, key nodes cannot have comments")}if(jE instanceof Collection){const pT="With simple keys, collection cannot be used as a key value";throw new Error(pT)}}let JE=!ME&&(!jE||UE||(jE instanceof Node?jE instanceof Collection||jE.type===BE.Type.BLOCK_FOLDED||jE.type===BE.Type.BLOCK_LITERAL:typeof jE==="object"));const{doc:qE,indent:KE,indentStep:zE,stringify:$E}=pT;pT=Object.assign({},pT,{implicitKey:!JE,indent:KE+zE});let GE=false;let WE=$E(jE,pT,(()=>UE=null),(()=>GE=true));WE=addComment(WE,pT.indent,UE);if(!JE&&WE.length>1024){if(ME)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");JE=true}if(pT.allNullValues&&!ME){if(this.comment){WE=addComment(WE,pT.indent,this.comment);if(xT)xT()}else if(GE&&!UE&&OT)OT();return pT.inFlow&&!JE?WE:`? ${WE}`}WE=JE?`? ${WE}\n${KE}:`:`${WE}:`;if(this.comment){WE=addComment(WE,pT.indent,this.comment);if(xT)xT()}let YE="";let HE=null;if(VE instanceof Node){if(VE.spaceBefore)YE="\n";if(VE.commentBefore){const xT=VE.commentBefore.replace(/^/gm,`${pT.indent}#`);YE+=`\n${xT}`}HE=VE.comment}else if(VE&&typeof VE==="object"){VE=qE.schema.createNode(VE,true)}pT.implicitKey=false;if(!JE&&!this.comment&&VE instanceof Scalar)pT.indentAtStart=WE.length+1;GE=false;if(!RE&&LE>=2&&!pT.inFlow&&!JE&&VE instanceof YAMLSeq&&VE.type!==BE.Type.FLOW_SEQ&&!VE.tag&&!qE.anchors.getName(VE)){pT.indent=pT.indent.substr(2)}const XE=$E(VE,pT,(()=>HE=null),(()=>GE=true));let QE=" ";if(YE||this.comment){QE=`${YE}\n${pT.indent}`}else if(!JE&&VE instanceof Collection){const xT=XE[0]==="["||XE[0]==="{";if(!xT||XE.includes("\n"))QE=`\n${pT.indent}`}else if(XE[0]==="\n")QE="";if(GE&&!HE&&OT)OT();return addComment(WE+QE+XE,pT.indent,HE)}}BE._defineProperty(Pair,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});const getAliasCount=(pT,xT)=>{if(pT instanceof Alias){const OT=xT.get(pT.source);return OT.count*OT.aliasCount}else if(pT instanceof Collection){let OT=0;for(const BE of pT.items){const pT=getAliasCount(BE,xT);if(pT>OT)OT=pT}return OT}else if(pT instanceof Pair){const OT=getAliasCount(pT.key,xT);const BE=getAliasCount(pT.value,xT);return Math.max(OT,BE)}return 1};class Alias extends Node{static stringify({range:pT,source:xT},{anchors:OT,doc:BE,implicitKey:LE,inStringifyKey:RE}){let ME=Object.keys(OT).find((pT=>OT[pT]===xT));if(!ME&&RE)ME=BE.anchors.getName(xT)||BE.anchors.newName();if(ME)return`*${ME}${LE?" ":""}`;const jE=BE.anchors.getName(xT)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${jE} [${pT}]`)}constructor(pT){super();this.source=pT;this.type=BE.Type.ALIAS}set tag(pT){throw new Error("Alias nodes cannot have tags")}toJSON(pT,xT){if(!xT)return toJSON(this.source,pT,xT);const{anchors:OT,maxAliasCount:LE}=xT;const RE=OT.get(this.source);if(!RE||RE.res===undefined){const pT="This should not happen: Alias anchor was not resolved?";if(this.cstNode)throw new BE.YAMLReferenceError(this.cstNode,pT);else throw new ReferenceError(pT)}if(LE>=0){RE.count+=1;if(RE.aliasCount===0)RE.aliasCount=getAliasCount(this.source,OT);if(RE.count*RE.aliasCount>LE){const pT="Excessive alias count indicates a resource exhaustion attack";if(this.cstNode)throw new BE.YAMLReferenceError(this.cstNode,pT);else throw new ReferenceError(pT)}}return RE.res}toString(pT){return Alias.stringify(this,pT)}}BE._defineProperty(Alias,"default",true);function findPair(pT,xT){const OT=xT instanceof Scalar?xT.value:xT;for(const BE of pT){if(BE instanceof Pair){if(BE.key===xT||BE.key===OT)return BE;if(BE.key&&BE.key.value===OT)return BE}}return undefined}class YAMLMap extends Collection{add(pT,xT){if(!pT)pT=new Pair(pT);else if(!(pT instanceof Pair))pT=new Pair(pT.key||pT,pT.value);const OT=findPair(this.items,pT.key);const BE=this.schema&&this.schema.sortMapEntries;if(OT){if(xT)OT.value=pT.value;else throw new Error(`Key ${pT.key} already set`)}else if(BE){const xT=this.items.findIndex((xT=>BE(pT,xT)<0));if(xT===-1)this.items.push(pT);else this.items.splice(xT,0,pT)}else{this.items.push(pT)}}delete(pT){const xT=findPair(this.items,pT);if(!xT)return false;const OT=this.items.splice(this.items.indexOf(xT),1);return OT.length>0}get(pT,xT){const OT=findPair(this.items,pT);const BE=OT&&OT.value;return!xT&&BE instanceof Scalar?BE.value:BE}has(pT){return!!findPair(this.items,pT)}set(pT,xT){this.add(new Pair(pT,xT),true)}toJSON(pT,xT,OT){const BE=OT?new OT:xT&&xT.mapAsMap?new Map:{};if(xT&&xT.onCreate)xT.onCreate(BE);for(const pT of this.items)pT.addToJSMap(xT,BE);return BE}toString(pT,xT,OT){if(!pT)return JSON.stringify(this);for(const pT of this.items){if(!(pT instanceof Pair))throw new Error(`Map items must all be pairs; found ${JSON.stringify(pT)} instead`)}return super.toString(pT,{blockItem:pT=>pT.str,flowChars:{start:"{",end:"}"},isMap:true,itemIndent:pT.indent||""},xT,OT)}}const LE="<<";class Merge extends Pair{constructor(pT){if(pT instanceof Pair){let xT=pT.value;if(!(xT instanceof YAMLSeq)){xT=new YAMLSeq;xT.items.push(pT.value);xT.range=pT.value.range}super(pT.key,xT);this.range=pT.range}else{super(new Scalar(LE),new YAMLSeq)}this.type=Pair.Type.MERGE_PAIR}addToJSMap(pT,xT){for(const{source:OT}of this.value.items){if(!(OT instanceof YAMLMap))throw new Error("Merge sources must be maps");const BE=OT.toJSON(null,pT,Map);for(const[pT,OT]of BE){if(xT instanceof Map){if(!xT.has(pT))xT.set(pT,OT)}else if(xT instanceof Set){xT.add(pT)}else if(!Object.prototype.hasOwnProperty.call(xT,pT)){Object.defineProperty(xT,pT,{value:OT,writable:true,enumerable:true,configurable:true})}}}return xT}toString(pT,xT){const OT=this.value;if(OT.items.length>1)return super.toString(pT,xT);this.value=OT.items[0];const BE=super.toString(pT,xT);this.value=OT;return BE}}const RE={defaultType:BE.Type.BLOCK_LITERAL,lineWidth:76};const ME={trueStr:"true",falseStr:"false"};const jE={asBigInt:false};const VE={nullStr:"null"};const UE={defaultType:BE.Type.PLAIN,doubleQuoted:{jsonEncoding:false,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function resolveScalar(pT,xT,OT){for(const{format:OT,test:BE,resolve:LE}of xT){if(BE){const xT=pT.match(BE);if(xT){let pT=LE.apply(null,xT);if(!(pT instanceof Scalar))pT=new Scalar(pT);if(OT)pT.format=OT;return pT}}}if(OT)pT=OT(pT);return new Scalar(pT)}const JE="flow";const qE="block";const KE="quoted";const consumeMoreIndentedLines=(pT,xT)=>{let OT=pT[xT+1];while(OT===" "||OT==="\t"){do{OT=pT[xT+=1]}while(OT&&OT!=="\n");OT=pT[xT+1]}return xT};function foldFlowLines(pT,xT,OT,{indentAtStart:BE,lineWidth:LE=80,minContentWidth:RE=20,onFold:ME,onOverflow:jE}){if(!LE||LE<0)return pT;const VE=Math.max(1+RE,1+LE-xT.length);if(pT.length<=VE)return pT;const UE=[];const JE={};let zE=LE-xT.length;if(typeof BE==="number"){if(BE>LE-Math.max(2,RE))UE.push(0);else zE=LE-BE}let $E=undefined;let GE=undefined;let WE=false;let YE=-1;let HE=-1;let XE=-1;if(OT===qE){YE=consumeMoreIndentedLines(pT,YE);if(YE!==-1)zE=YE+VE}for(let xT;xT=pT[YE+=1];){if(OT===KE&&xT==="\\"){HE=YE;switch(pT[YE+1]){case"x":YE+=3;break;case"u":YE+=5;break;case"U":YE+=9;break;default:YE+=1}XE=YE}if(xT==="\n"){if(OT===qE)YE=consumeMoreIndentedLines(pT,YE);zE=YE+VE;$E=undefined}else{if(xT===" "&&GE&&GE!==" "&&GE!=="\n"&&GE!=="\t"){const xT=pT[YE+1];if(xT&&xT!==" "&&xT!=="\n"&&xT!=="\t")$E=YE}if(YE>=zE){if($E){UE.push($E);zE=$E+VE;$E=undefined}else if(OT===KE){while(GE===" "||GE==="\t"){GE=xT;xT=pT[YE+=1];WE=true}const OT=YE>XE+1?YE-2:HE-1;if(JE[OT])return pT;UE.push(OT);JE[OT]=true;zE=OT+VE;$E=undefined}else{WE=true}}}GE=xT}if(WE&&jE)jE();if(UE.length===0)return pT;if(ME)ME();let QE=pT.slice(0,UE[0]);for(let BE=0;BE<UE.length;++BE){const LE=UE[BE];const RE=UE[BE+1]||pT.length;if(LE===0)QE=`\n${xT}${pT.slice(0,RE)}`;else{if(OT===KE&&JE[LE])QE+=`${pT[LE]}\\`;QE+=`\n${xT}${pT.slice(LE+1,RE)}`}}return QE}const getFoldOptions=({indentAtStart:pT})=>pT?Object.assign({indentAtStart:pT},UE.fold):UE.fold;const containsDocumentMarker=pT=>/^(%|---|\.\.\.)/m.test(pT);function lineLengthOverLimit(pT,xT,OT){if(!xT||xT<0)return false;const BE=xT-OT;const LE=pT.length;if(LE<=BE)return false;for(let xT=0,OT=0;xT<LE;++xT){if(pT[xT]==="\n"){if(xT-OT>BE)return true;OT=xT+1;if(LE-OT<=BE)return false}}return true}function doubleQuotedString(pT,xT){const{implicitKey:OT}=xT;const{jsonEncoding:BE,minMultiLineLength:LE}=UE.doubleQuoted;const RE=JSON.stringify(pT);if(BE)return RE;const ME=xT.indent||(containsDocumentMarker(pT)?" ":"");let jE="";let VE=0;for(let pT=0,xT=RE[pT];xT;xT=RE[++pT]){if(xT===" "&&RE[pT+1]==="\\"&&RE[pT+2]==="n"){jE+=RE.slice(VE,pT)+"\\ ";pT+=1;VE=pT;xT="\\"}if(xT==="\\")switch(RE[pT+1]){case"u":{jE+=RE.slice(VE,pT);const xT=RE.substr(pT+2,4);switch(xT){case"0000":jE+="\\0";break;case"0007":jE+="\\a";break;case"000b":jE+="\\v";break;case"001b":jE+="\\e";break;case"0085":jE+="\\N";break;case"00a0":jE+="\\_";break;case"2028":jE+="\\L";break;case"2029":jE+="\\P";break;default:if(xT.substr(0,2)==="00")jE+="\\x"+xT.substr(2);else jE+=RE.substr(pT,6)}pT+=5;VE=pT+1}break;case"n":if(OT||RE[pT+2]==='"'||RE.length<LE){pT+=1}else{jE+=RE.slice(VE,pT)+"\n\n";while(RE[pT+2]==="\\"&&RE[pT+3]==="n"&&RE[pT+4]!=='"'){jE+="\n";pT+=2}jE+=ME;if(RE[pT+2]===" ")jE+="\\";pT+=1;VE=pT+1}break;default:pT+=1}}jE=VE?jE+RE.slice(VE):RE;return OT?jE:foldFlowLines(jE,ME,KE,getFoldOptions(xT))}function singleQuotedString(pT,xT){if(xT.implicitKey){if(/\n/.test(pT))return doubleQuotedString(pT,xT)}else{if(/[ \t]\n|\n[ \t]/.test(pT))return doubleQuotedString(pT,xT)}const OT=xT.indent||(containsDocumentMarker(pT)?" ":"");const BE="'"+pT.replace(/'/g,"''").replace(/\n+/g,`$&\n${OT}`)+"'";return xT.implicitKey?BE:foldFlowLines(BE,OT,JE,getFoldOptions(xT))}function blockString({comment:pT,type:xT,value:OT},LE,RE,ME){if(/\n[\t ]+$/.test(OT)||/^\s*$/.test(OT)){return doubleQuotedString(OT,LE)}const jE=LE.indent||(LE.forceBlockIndent||containsDocumentMarker(OT)?" ":"");const VE=jE?"2":"1";const JE=xT===BE.Type.BLOCK_FOLDED?false:xT===BE.Type.BLOCK_LITERAL?true:!lineLengthOverLimit(OT,UE.fold.lineWidth,jE.length);let KE=JE?"|":">";if(!OT)return KE+"\n";let zE="";let $E="";OT=OT.replace(/[\n\t ]*$/,(pT=>{const xT=pT.indexOf("\n");if(xT===-1){KE+="-"}else if(OT===pT||xT!==pT.length-1){KE+="+";if(ME)ME()}$E=pT.replace(/\n$/,"");return""})).replace(/^[\n ]*/,(pT=>{if(pT.indexOf(" ")!==-1)KE+=VE;const xT=pT.match(/ +$/);if(xT){zE=pT.slice(0,-xT[0].length);return xT[0]}else{zE=pT;return""}}));if($E)$E=$E.replace(/\n+(?!\n|$)/g,`$&${jE}`);if(zE)zE=zE.replace(/\n+/g,`$&${jE}`);if(pT){KE+=" #"+pT.replace(/ ?[\r\n]+/g," ");if(RE)RE()}if(!OT)return`${KE}${VE}\n${jE}${$E}`;if(JE){OT=OT.replace(/\n+/g,`$&${jE}`);return`${KE}\n${jE}${zE}${OT}${$E}`}OT=OT.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${jE}`);const GE=foldFlowLines(`${zE}${OT}${$E}`,jE,qE,UE.fold);return`${KE}\n${jE}${GE}`}function plainString(pT,xT,OT,LE){const{comment:RE,type:ME,value:jE}=pT;const{actualString:VE,implicitKey:UE,indent:qE,inFlow:KE}=xT;if(UE&&/[\n[\]{},]/.test(jE)||KE&&/[[\]{},]/.test(jE)){return doubleQuotedString(jE,xT)}if(!jE||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(jE)){return UE||KE||jE.indexOf("\n")===-1?jE.indexOf('"')!==-1&&jE.indexOf("'")===-1?singleQuotedString(jE,xT):doubleQuotedString(jE,xT):blockString(pT,xT,OT,LE)}if(!UE&&!KE&&ME!==BE.Type.PLAIN&&jE.indexOf("\n")!==-1){return blockString(pT,xT,OT,LE)}if(qE===""&&containsDocumentMarker(jE)){xT.forceBlockIndent=true;return blockString(pT,xT,OT,LE)}const zE=jE.replace(/\n+/g,`$&\n${qE}`);if(VE){const{tags:pT}=xT.doc.schema;const OT=resolveScalar(zE,pT,pT.scalarFallback).value;if(typeof OT!=="string")return doubleQuotedString(jE,xT)}const $E=UE?zE:foldFlowLines(zE,qE,JE,getFoldOptions(xT));if(RE&&!KE&&($E.indexOf("\n")!==-1||RE.indexOf("\n")!==-1)){if(OT)OT();return addCommentBefore($E,qE,RE)}return $E}function stringifyString(pT,xT,OT,LE){const{defaultType:RE}=UE;const{implicitKey:ME,inFlow:jE}=xT;let{type:VE,value:JE}=pT;if(typeof JE!=="string"){JE=String(JE);pT=Object.assign({},pT,{value:JE})}const _stringify=RE=>{switch(RE){case BE.Type.BLOCK_FOLDED:case BE.Type.BLOCK_LITERAL:return blockString(pT,xT,OT,LE);case BE.Type.QUOTE_DOUBLE:return doubleQuotedString(JE,xT);case BE.Type.QUOTE_SINGLE:return singleQuotedString(JE,xT);case BE.Type.PLAIN:return plainString(pT,xT,OT,LE);default:return null}};if(VE!==BE.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(JE)){VE=BE.Type.QUOTE_DOUBLE}else if((ME||jE)&&(VE===BE.Type.BLOCK_FOLDED||VE===BE.Type.BLOCK_LITERAL)){VE=BE.Type.QUOTE_DOUBLE}let qE=_stringify(VE);if(qE===null){qE=_stringify(RE);if(qE===null)throw new Error(`Unsupported default string type ${RE}`)}return qE}function stringifyNumber({format:pT,minFractionDigits:xT,tag:OT,value:BE}){if(typeof BE==="bigint")return String(BE);if(!isFinite(BE))return isNaN(BE)?".nan":BE<0?"-.inf":".inf";let LE=JSON.stringify(BE);if(!pT&&xT&&(!OT||OT==="tag:yaml.org,2002:float")&&/^\d/.test(LE)){let pT=LE.indexOf(".");if(pT<0){pT=LE.length;LE+="."}let OT=xT-(LE.length-pT-1);while(OT-- >0)LE+="0"}return LE}function checkFlowCollectionEnd(pT,xT){let OT,LE;switch(xT.type){case BE.Type.FLOW_MAP:OT="}";LE="flow map";break;case BE.Type.FLOW_SEQ:OT="]";LE="flow sequence";break;default:pT.push(new BE.YAMLSemanticError(xT,"Not a flow collection!?"));return}let RE;for(let pT=xT.items.length-1;pT>=0;--pT){const OT=xT.items[pT];if(!OT||OT.type!==BE.Type.COMMENT){RE=OT;break}}if(RE&&RE.char!==OT){const ME=`Expected ${LE} to end with ${OT}`;let jE;if(typeof RE.offset==="number"){jE=new BE.YAMLSemanticError(xT,ME);jE.offset=RE.offset+1}else{jE=new BE.YAMLSemanticError(RE,ME);if(RE.range&&RE.range.end)jE.offset=RE.range.end-RE.range.start}pT.push(jE)}}function checkFlowCommentSpace(pT,xT){const OT=xT.context.src[xT.range.start-1];if(OT!=="\n"&&OT!=="\t"&&OT!==" "){const OT="Comments must be separated from other tokens by white space characters";pT.push(new BE.YAMLSemanticError(xT,OT))}}function getLongKeyError(pT,xT){const OT=String(xT);const LE=OT.substr(0,8)+"..."+OT.substr(-8);return new BE.YAMLSemanticError(pT,`The "${LE}" key is too long`)}function resolveComments(pT,xT){for(const{afterKey:OT,before:BE,comment:LE}of xT){let xT=pT.items[BE];if(!xT){if(LE!==undefined){if(pT.comment)pT.comment+="\n"+LE;else pT.comment=LE}}else{if(OT&&xT.value)xT=xT.value;if(LE===undefined){if(OT||!xT.commentBefore)xT.spaceBefore=true}else{if(xT.commentBefore)xT.commentBefore+="\n"+LE;else xT.commentBefore=LE}}}}function resolveString(pT,xT){const OT=xT.strValue;if(!OT)return"";if(typeof OT==="string")return OT;OT.errors.forEach((OT=>{if(!OT.source)OT.source=xT;pT.errors.push(OT)}));return OT.str}function resolveTagHandle(pT,xT){const{handle:OT,suffix:LE}=xT.tag;let RE=pT.tagPrefixes.find((pT=>pT.handle===OT));if(!RE){const LE=pT.getDefaults().tagPrefixes;if(LE)RE=LE.find((pT=>pT.handle===OT));if(!RE)throw new BE.YAMLSemanticError(xT,`The ${OT} tag handle is non-default and was not declared.`)}if(!LE)throw new BE.YAMLSemanticError(xT,`The ${OT} tag has no suffix.`);if(OT==="!"&&(pT.version||pT.options.version)==="1.0"){if(LE[0]==="^"){pT.warnings.push(new BE.YAMLWarning(xT,"YAML 1.0 ^ tag expansion is not supported"));return LE}if(/[:/]/.test(LE)){const pT=LE.match(/^([a-z0-9-]+)\/(.*)/i);return pT?`tag:${pT[1]}.yaml.org,2002:${pT[2]}`:`tag:${LE}`}}return RE.prefix+decodeURIComponent(LE)}function resolveTagName(pT,xT){const{tag:OT,type:LE}=xT;let RE=false;if(OT){const{handle:LE,suffix:ME,verbatim:jE}=OT;if(jE){if(jE!=="!"&&jE!=="!!")return jE;const OT=`Verbatim tags aren't resolved, so ${jE} is invalid.`;pT.errors.push(new BE.YAMLSemanticError(xT,OT))}else if(LE==="!"&&!ME){RE=true}else{try{return resolveTagHandle(pT,xT)}catch(xT){pT.errors.push(xT)}}}switch(LE){case BE.Type.BLOCK_FOLDED:case BE.Type.BLOCK_LITERAL:case BE.Type.QUOTE_DOUBLE:case BE.Type.QUOTE_SINGLE:return BE.defaultTags.STR;case BE.Type.FLOW_MAP:case BE.Type.MAP:return BE.defaultTags.MAP;case BE.Type.FLOW_SEQ:case BE.Type.SEQ:return BE.defaultTags.SEQ;case BE.Type.PLAIN:return RE?BE.defaultTags.STR:null;default:return null}}function resolveByTagName(pT,xT,OT){const{tags:BE}=pT.schema;const LE=[];for(const RE of BE){if(RE.tag===OT){if(RE.test)LE.push(RE);else{const OT=RE.resolve(pT,xT);return OT instanceof Collection?OT:new Scalar(OT)}}}const RE=resolveString(pT,xT);if(typeof RE==="string"&&LE.length>0)return resolveScalar(RE,LE,BE.scalarFallback);return null}function getFallbackTagName({type:pT}){switch(pT){case BE.Type.FLOW_MAP:case BE.Type.MAP:return BE.defaultTags.MAP;case BE.Type.FLOW_SEQ:case BE.Type.SEQ:return BE.defaultTags.SEQ;default:return BE.defaultTags.STR}}function resolveTag(pT,xT,OT){try{const BE=resolveByTagName(pT,xT,OT);if(BE){if(OT&&xT.tag)BE.tag=OT;return BE}}catch(OT){if(!OT.source)OT.source=xT;pT.errors.push(OT);return null}try{const LE=getFallbackTagName(xT);if(!LE)throw new Error(`The tag ${OT} is unavailable`);const RE=`The tag ${OT} is unavailable, falling back to ${LE}`;pT.warnings.push(new BE.YAMLWarning(xT,RE));const ME=resolveByTagName(pT,xT,LE);ME.tag=OT;return ME}catch(OT){const LE=new BE.YAMLReferenceError(xT,OT.message);LE.stack=OT.stack;pT.errors.push(LE);return null}}const isCollectionItem=pT=>{if(!pT)return false;const{type:xT}=pT;return xT===BE.Type.MAP_KEY||xT===BE.Type.MAP_VALUE||xT===BE.Type.SEQ_ITEM};function resolveNodeProps(pT,xT){const OT={before:[],after:[]};let LE=false;let RE=false;const ME=isCollectionItem(xT.context.parent)?xT.context.parent.props.concat(xT.props):xT.props;for(const{start:jE,end:VE}of ME){switch(xT.context.src[jE]){case BE.Char.COMMENT:{if(!xT.commentHasRequiredWhitespace(jE)){const OT="Comments must be separated from other tokens by white space characters";pT.push(new BE.YAMLSemanticError(xT,OT))}const{header:LE,valueRange:RE}=xT;const ME=RE&&(jE>RE.start||LE&&jE>LE.start)?OT.after:OT.before;ME.push(xT.context.src.slice(jE+1,VE));break}case BE.Char.ANCHOR:if(LE){const OT="A node can have at most one anchor";pT.push(new BE.YAMLSemanticError(xT,OT))}LE=true;break;case BE.Char.TAG:if(RE){const OT="A node can have at most one tag";pT.push(new BE.YAMLSemanticError(xT,OT))}RE=true;break}}return{comments:OT,hasAnchor:LE,hasTag:RE}}function resolveNodeValue(pT,xT){const{anchors:OT,errors:LE,schema:RE}=pT;if(xT.type===BE.Type.ALIAS){const pT=xT.rawValue;const RE=OT.getNode(pT);if(!RE){const OT=`Aliased anchor not found: ${pT}`;LE.push(new BE.YAMLReferenceError(xT,OT));return null}const ME=new Alias(RE);OT._cstAliases.push(ME);return ME}const ME=resolveTagName(pT,xT);if(ME)return resolveTag(pT,xT,ME);if(xT.type!==BE.Type.PLAIN){const pT=`Failed to resolve ${xT.type} node here`;LE.push(new BE.YAMLSyntaxError(xT,pT));return null}try{const OT=resolveString(pT,xT);return resolveScalar(OT,RE.tags,RE.tags.scalarFallback)}catch(pT){if(!pT.source)pT.source=xT;LE.push(pT);return null}}function resolveNode(pT,xT){if(!xT)return null;if(xT.error)pT.errors.push(xT.error);const{comments:OT,hasAnchor:LE,hasTag:RE}=resolveNodeProps(pT.errors,xT);if(LE){const{anchors:OT}=pT;const BE=xT.anchor;const LE=OT.getNode(BE);if(LE)OT.map[OT.newName(BE)]=LE;OT.map[BE]=xT}if(xT.type===BE.Type.ALIAS&&(LE||RE)){const OT="An alias node must not specify any properties";pT.errors.push(new BE.YAMLSemanticError(xT,OT))}const ME=resolveNodeValue(pT,xT);if(ME){ME.range=[xT.range.start,xT.range.end];if(pT.options.keepCstNodes)ME.cstNode=xT;if(pT.options.keepNodeTypes)ME.type=xT.type;const BE=OT.before.join("\n");if(BE){ME.commentBefore=ME.commentBefore?`${ME.commentBefore}\n${BE}`:BE}const LE=OT.after.join("\n");if(LE)ME.comment=ME.comment?`${ME.comment}\n${LE}`:LE}return xT.resolved=ME}function resolveMap(pT,xT){if(xT.type!==BE.Type.MAP&&xT.type!==BE.Type.FLOW_MAP){const OT=`A ${xT.type} node cannot be resolved as a mapping`;pT.errors.push(new BE.YAMLSyntaxError(xT,OT));return null}const{comments:OT,items:RE}=xT.type===BE.Type.FLOW_MAP?resolveFlowMapItems(pT,xT):resolveBlockMapItems(pT,xT);const ME=new YAMLMap;ME.items=RE;resolveComments(ME,OT);let jE=false;for(let OT=0;OT<RE.length;++OT){const{key:ME}=RE[OT];if(ME instanceof Collection)jE=true;if(pT.schema.merge&&ME&&ME.value===LE){RE[OT]=new Merge(RE[OT]);const LE=RE[OT].value.items;let ME=null;LE.some((pT=>{if(pT instanceof Alias){const{type:xT}=pT.source;if(xT===BE.Type.MAP||xT===BE.Type.FLOW_MAP)return false;return ME="Merge nodes aliases can only point to maps"}return ME="Merge nodes can only have Alias nodes as values"}));if(ME)pT.errors.push(new BE.YAMLSemanticError(xT,ME))}else{for(let LE=OT+1;LE<RE.length;++LE){const{key:OT}=RE[LE];if(ME===OT||ME&&OT&&Object.prototype.hasOwnProperty.call(ME,"value")&&ME.value===OT.value){const OT=`Map keys must be unique; "${ME}" is repeated`;pT.errors.push(new BE.YAMLSemanticError(xT,OT));break}}}}if(jE&&!pT.options.mapAsMap){const OT="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";pT.warnings.push(new BE.YAMLWarning(xT,OT))}xT.resolved=ME;return ME}const valueHasPairComment=({context:{lineStart:pT,node:xT,src:OT},props:LE})=>{if(LE.length===0)return false;const{start:RE}=LE[0];if(xT&&RE>xT.valueRange.start)return false;if(OT[RE]!==BE.Char.COMMENT)return false;for(let xT=pT;xT<RE;++xT)if(OT[xT]==="\n")return false;return true};function resolvePairComment(pT,xT){if(!valueHasPairComment(pT))return;const OT=pT.getPropValue(0,BE.Char.COMMENT,true);let LE=false;const RE=xT.value.commentBefore;if(RE&&RE.startsWith(OT)){xT.value.commentBefore=RE.substr(OT.length+1);LE=true}else{const BE=xT.value.comment;if(!pT.node&&BE&&BE.startsWith(OT)){xT.value.comment=BE.substr(OT.length+1);LE=true}}if(LE)xT.comment=OT}function resolveBlockMapItems(pT,xT){const OT=[];const LE=[];let RE=undefined;let ME=null;for(let jE=0;jE<xT.items.length;++jE){const VE=xT.items[jE];switch(VE.type){case BE.Type.BLANK_LINE:OT.push({afterKey:!!RE,before:LE.length});break;case BE.Type.COMMENT:OT.push({afterKey:!!RE,before:LE.length,comment:VE.comment});break;case BE.Type.MAP_KEY:if(RE!==undefined)LE.push(new Pair(RE));if(VE.error)pT.errors.push(VE.error);RE=resolveNode(pT,VE.node);ME=null;break;case BE.Type.MAP_VALUE:{if(RE===undefined)RE=null;if(VE.error)pT.errors.push(VE.error);if(!VE.context.atLineStart&&VE.node&&VE.node.type===BE.Type.MAP&&!VE.node.context.atLineStart){const xT="Nested mappings are not allowed in compact mappings";pT.errors.push(new BE.YAMLSemanticError(VE.node,xT))}let OT=VE.node;if(!OT&&VE.props.length>0){OT=new BE.PlainValue(BE.Type.PLAIN,[]);OT.context={parent:VE,src:VE.context.src};const pT=VE.range.start+1;OT.range={start:pT,end:pT};OT.valueRange={start:pT,end:pT};if(typeof VE.range.origStart==="number"){const pT=VE.range.origStart+1;OT.range.origStart=OT.range.origEnd=pT;OT.valueRange.origStart=OT.valueRange.origEnd=pT}}const jE=new Pair(RE,resolveNode(pT,OT));resolvePairComment(VE,jE);LE.push(jE);if(RE&&typeof ME==="number"){if(VE.range.start>ME+1024)pT.errors.push(getLongKeyError(xT,RE))}RE=undefined;ME=null}break;default:if(RE!==undefined)LE.push(new Pair(RE));RE=resolveNode(pT,VE);ME=VE.range.start;if(VE.error)pT.errors.push(VE.error);e:for(let OT=jE+1;;++OT){const LE=xT.items[OT];switch(LE&&LE.type){case BE.Type.BLANK_LINE:case BE.Type.COMMENT:continue e;case BE.Type.MAP_VALUE:break e;default:{const xT="Implicit map keys need to be followed by map values";pT.errors.push(new BE.YAMLSemanticError(VE,xT));break e}}}if(VE.valueRangeContainsNewline){const xT="Implicit map keys need to be on a single line";pT.errors.push(new BE.YAMLSemanticError(VE,xT))}}}if(RE!==undefined)LE.push(new Pair(RE));return{comments:OT,items:LE}}function resolveFlowMapItems(pT,xT){const OT=[];const LE=[];let RE=undefined;let ME=false;let jE="{";for(let VE=0;VE<xT.items.length;++VE){const UE=xT.items[VE];if(typeof UE.char==="string"){const{char:OT,offset:JE}=UE;if(OT==="?"&&RE===undefined&&!ME){ME=true;jE=":";continue}if(OT===":"){if(RE===undefined)RE=null;if(jE===":"){jE=",";continue}}else{if(ME){if(RE===undefined&&OT!==",")RE=null;ME=false}if(RE!==undefined){LE.push(new Pair(RE));RE=undefined;if(OT===","){jE=":";continue}}}if(OT==="}"){if(VE===xT.items.length-1)continue}else if(OT===jE){jE=":";continue}const qE=`Flow map contains an unexpected ${OT}`;const KE=new BE.YAMLSyntaxError(xT,qE);KE.offset=JE;pT.errors.push(KE)}else if(UE.type===BE.Type.BLANK_LINE){OT.push({afterKey:!!RE,before:LE.length})}else if(UE.type===BE.Type.COMMENT){checkFlowCommentSpace(pT.errors,UE);OT.push({afterKey:!!RE,before:LE.length,comment:UE.comment})}else if(RE===undefined){if(jE===",")pT.errors.push(new BE.YAMLSemanticError(UE,"Separator , missing in flow map"));RE=resolveNode(pT,UE)}else{if(jE!==",")pT.errors.push(new BE.YAMLSemanticError(UE,"Indicator : missing in flow map entry"));LE.push(new Pair(RE,resolveNode(pT,UE)));RE=undefined;ME=false}}checkFlowCollectionEnd(pT.errors,xT);if(RE!==undefined)LE.push(new Pair(RE));return{comments:OT,items:LE}}function resolveSeq(pT,xT){if(xT.type!==BE.Type.SEQ&&xT.type!==BE.Type.FLOW_SEQ){const OT=`A ${xT.type} node cannot be resolved as a sequence`;pT.errors.push(new BE.YAMLSyntaxError(xT,OT));return null}const{comments:OT,items:LE}=xT.type===BE.Type.FLOW_SEQ?resolveFlowSeqItems(pT,xT):resolveBlockSeqItems(pT,xT);const RE=new YAMLSeq;RE.items=LE;resolveComments(RE,OT);if(!pT.options.mapAsMap&&LE.some((pT=>pT instanceof Pair&&pT.key instanceof Collection))){const OT="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";pT.warnings.push(new BE.YAMLWarning(xT,OT))}xT.resolved=RE;return RE}function resolveBlockSeqItems(pT,xT){const OT=[];const LE=[];for(let RE=0;RE<xT.items.length;++RE){const ME=xT.items[RE];switch(ME.type){case BE.Type.BLANK_LINE:OT.push({before:LE.length});break;case BE.Type.COMMENT:OT.push({comment:ME.comment,before:LE.length});break;case BE.Type.SEQ_ITEM:if(ME.error)pT.errors.push(ME.error);LE.push(resolveNode(pT,ME.node));if(ME.hasProps){const xT="Sequence items cannot have tags or anchors before the - indicator";pT.errors.push(new BE.YAMLSemanticError(ME,xT))}break;default:if(ME.error)pT.errors.push(ME.error);pT.errors.push(new BE.YAMLSyntaxError(ME,`Unexpected ${ME.type} node in sequence`))}}return{comments:OT,items:LE}}function resolveFlowSeqItems(pT,xT){const OT=[];const LE=[];let RE=false;let ME=undefined;let jE=null;let VE="[";let UE=null;for(let JE=0;JE<xT.items.length;++JE){const qE=xT.items[JE];if(typeof qE.char==="string"){const{char:OT,offset:KE}=qE;if(OT!==":"&&(RE||ME!==undefined)){if(RE&&ME===undefined)ME=VE?LE.pop():null;LE.push(new Pair(ME));RE=false;ME=undefined;jE=null}if(OT===VE){VE=null}else if(!VE&&OT==="?"){RE=true}else if(VE!=="["&&OT===":"&&ME===undefined){if(VE===","){ME=LE.pop();if(ME instanceof Pair){const OT="Chaining flow sequence pairs is invalid";const LE=new BE.YAMLSemanticError(xT,OT);LE.offset=KE;pT.errors.push(LE)}if(!RE&&typeof jE==="number"){const OT=qE.range?qE.range.start:qE.offset;if(OT>jE+1024)pT.errors.push(getLongKeyError(xT,ME));const{src:LE}=UE.context;for(let xT=jE;xT<OT;++xT)if(LE[xT]==="\n"){const xT="Implicit keys of flow sequence pairs need to be on a single line";pT.errors.push(new BE.YAMLSemanticError(UE,xT));break}}}else{ME=null}jE=null;RE=false;VE=null}else if(VE==="["||OT!=="]"||JE<xT.items.length-1){const LE=`Flow sequence contains an unexpected ${OT}`;const RE=new BE.YAMLSyntaxError(xT,LE);RE.offset=KE;pT.errors.push(RE)}}else if(qE.type===BE.Type.BLANK_LINE){OT.push({before:LE.length})}else if(qE.type===BE.Type.COMMENT){checkFlowCommentSpace(pT.errors,qE);OT.push({comment:qE.comment,before:LE.length})}else{if(VE){const xT=`Expected a ${VE} in flow sequence`;pT.errors.push(new BE.YAMLSemanticError(qE,xT))}const xT=resolveNode(pT,qE);if(ME===undefined){LE.push(xT);UE=qE}else{LE.push(new Pair(ME,xT));ME=undefined}jE=qE.range.start;VE=","}}checkFlowCollectionEnd(pT.errors,xT);if(ME!==undefined)LE.push(new Pair(ME));return{comments:OT,items:LE}}xT.Alias=Alias;xT.Collection=Collection;xT.Merge=Merge;xT.Node=Node;xT.Pair=Pair;xT.Scalar=Scalar;xT.YAMLMap=YAMLMap;xT.YAMLSeq=YAMLSeq;xT.addComment=addComment;xT.binaryOptions=RE;xT.boolOptions=ME;xT.findPair=findPair;xT.intOptions=jE;xT.isEmptyPath=isEmptyPath;xT.nullOptions=VE;xT.resolveMap=resolveMap;xT.resolveNode=resolveNode;xT.resolveSeq=resolveSeq;xT.resolveString=resolveString;xT.strOptions=UE;xT.stringifyNumber=stringifyNumber;xT.stringifyString=stringifyString;xT.toJSON=toJSON},6003:(pT,xT,OT)=>{"use strict";var BE=OT(5215);var LE=OT(4227);const RE={identify:pT=>pT instanceof Uint8Array,default:false,tag:"tag:yaml.org,2002:binary",resolve:(pT,xT)=>{const OT=LE.resolveString(pT,xT);if(typeof Buffer==="function"){return Buffer.from(OT,"base64")}else if(typeof atob==="function"){const pT=atob(OT.replace(/[\n\r]/g,""));const xT=new Uint8Array(pT.length);for(let OT=0;OT<pT.length;++OT)xT[OT]=pT.charCodeAt(OT);return xT}else{const OT="This environment does not support reading binary tags; either Buffer or atob is required";pT.errors.push(new BE.YAMLReferenceError(xT,OT));return null}},options:LE.binaryOptions,stringify:({comment:pT,type:xT,value:OT},RE,ME,jE)=>{let VE;if(typeof Buffer==="function"){VE=OT instanceof Buffer?OT.toString("base64"):Buffer.from(OT.buffer).toString("base64")}else if(typeof btoa==="function"){let pT="";for(let xT=0;xT<OT.length;++xT)pT+=String.fromCharCode(OT[xT]);VE=btoa(pT)}else{throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required")}if(!xT)xT=LE.binaryOptions.defaultType;if(xT===BE.Type.QUOTE_DOUBLE){OT=VE}else{const{lineWidth:pT}=LE.binaryOptions;const RE=Math.ceil(VE.length/pT);const ME=new Array(RE);for(let xT=0,OT=0;xT<RE;++xT,OT+=pT){ME[xT]=VE.substr(OT,pT)}OT=ME.join(xT===BE.Type.BLOCK_LITERAL?"\n":" ")}return LE.stringifyString({comment:pT,type:xT,value:OT},RE,ME,jE)}};function parsePairs(pT,xT){const OT=LE.resolveSeq(pT,xT);for(let pT=0;pT<OT.items.length;++pT){let RE=OT.items[pT];if(RE instanceof LE.Pair)continue;else if(RE instanceof LE.YAMLMap){if(RE.items.length>1){const pT="Each pair must have its own sequence indicator";throw new BE.YAMLSemanticError(xT,pT)}const pT=RE.items[0]||new LE.Pair;if(RE.commentBefore)pT.commentBefore=pT.commentBefore?`${RE.commentBefore}\n${pT.commentBefore}`:RE.commentBefore;if(RE.comment)pT.comment=pT.comment?`${RE.comment}\n${pT.comment}`:RE.comment;RE=pT}OT.items[pT]=RE instanceof LE.Pair?RE:new LE.Pair(RE)}return OT}function createPairs(pT,xT,OT){const BE=new LE.YAMLSeq(pT);BE.tag="tag:yaml.org,2002:pairs";for(const LE of xT){let xT,RE;if(Array.isArray(LE)){if(LE.length===2){xT=LE[0];RE=LE[1]}else throw new TypeError(`Expected [key, value] tuple: ${LE}`)}else if(LE&&LE instanceof Object){const pT=Object.keys(LE);if(pT.length===1){xT=pT[0];RE=LE[xT]}else throw new TypeError(`Expected { key: value } tuple: ${LE}`)}else{xT=LE}const ME=pT.createPair(xT,RE,OT);BE.items.push(ME)}return BE}const ME={default:false,tag:"tag:yaml.org,2002:pairs",resolve:parsePairs,createNode:createPairs};class YAMLOMap extends LE.YAMLSeq{constructor(){super();BE._defineProperty(this,"add",LE.YAMLMap.prototype.add.bind(this));BE._defineProperty(this,"delete",LE.YAMLMap.prototype.delete.bind(this));BE._defineProperty(this,"get",LE.YAMLMap.prototype.get.bind(this));BE._defineProperty(this,"has",LE.YAMLMap.prototype.has.bind(this));BE._defineProperty(this,"set",LE.YAMLMap.prototype.set.bind(this));this.tag=YAMLOMap.tag}toJSON(pT,xT){const OT=new Map;if(xT&&xT.onCreate)xT.onCreate(OT);for(const pT of this.items){let BE,RE;if(pT instanceof LE.Pair){BE=LE.toJSON(pT.key,"",xT);RE=LE.toJSON(pT.value,BE,xT)}else{BE=LE.toJSON(pT,"",xT)}if(OT.has(BE))throw new Error("Ordered maps must not include duplicate keys");OT.set(BE,RE)}return OT}}BE._defineProperty(YAMLOMap,"tag","tag:yaml.org,2002:omap");function parseOMap(pT,xT){const OT=parsePairs(pT,xT);const RE=[];for(const{key:pT}of OT.items){if(pT instanceof LE.Scalar){if(RE.includes(pT.value)){const pT="Ordered maps must not include duplicate keys";throw new BE.YAMLSemanticError(xT,pT)}else{RE.push(pT.value)}}}return Object.assign(new YAMLOMap,OT)}function createOMap(pT,xT,OT){const BE=createPairs(pT,xT,OT);const LE=new YAMLOMap;LE.items=BE.items;return LE}const jE={identify:pT=>pT instanceof Map,nodeClass:YAMLOMap,default:false,tag:"tag:yaml.org,2002:omap",resolve:parseOMap,createNode:createOMap};class YAMLSet extends LE.YAMLMap{constructor(){super();this.tag=YAMLSet.tag}add(pT){const xT=pT instanceof LE.Pair?pT:new LE.Pair(pT);const OT=LE.findPair(this.items,xT.key);if(!OT)this.items.push(xT)}get(pT,xT){const OT=LE.findPair(this.items,pT);return!xT&&OT instanceof LE.Pair?OT.key instanceof LE.Scalar?OT.key.value:OT.key:OT}set(pT,xT){if(typeof xT!=="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof xT}`);const OT=LE.findPair(this.items,pT);if(OT&&!xT){this.items.splice(this.items.indexOf(OT),1)}else if(!OT&&xT){this.items.push(new LE.Pair(pT))}}toJSON(pT,xT){return super.toJSON(pT,xT,Set)}toString(pT,xT,OT){if(!pT)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(pT,xT,OT);else throw new Error("Set items must all have null values")}}BE._defineProperty(YAMLSet,"tag","tag:yaml.org,2002:set");function parseSet(pT,xT){const OT=LE.resolveMap(pT,xT);if(!OT.hasAllNullValues())throw new BE.YAMLSemanticError(xT,"Set items must all have null values");return Object.assign(new YAMLSet,OT)}function createSet(pT,xT,OT){const BE=new YAMLSet;for(const LE of xT)BE.items.push(pT.createPair(LE,null,OT));return BE}const VE={identify:pT=>pT instanceof Set,nodeClass:YAMLSet,default:false,tag:"tag:yaml.org,2002:set",resolve:parseSet,createNode:createSet};const parseSexagesimal=(pT,xT)=>{const OT=xT.split(":").reduce(((pT,xT)=>pT*60+Number(xT)),0);return pT==="-"?-OT:OT};const stringifySexagesimal=({value:pT})=>{if(isNaN(pT)||!isFinite(pT))return LE.stringifyNumber(pT);let xT="";if(pT<0){xT="-";pT=Math.abs(pT)}const OT=[pT%60];if(pT<60){OT.unshift(0)}else{pT=Math.round((pT-OT[0])/60);OT.unshift(pT%60);if(pT>=60){pT=Math.round((pT-OT[0])/60);OT.unshift(pT)}}return xT+OT.map((pT=>pT<10?"0"+String(pT):String(pT))).join(":").replace(/000000\d*$/,"")};const UE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(pT,xT,OT)=>parseSexagesimal(xT,OT.replace(/_/g,"")),stringify:stringifySexagesimal};const JE={identify:pT=>typeof pT==="number",default:true,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(pT,xT,OT)=>parseSexagesimal(xT,OT.replace(/_/g,"")),stringify:stringifySexagesimal};const qE={identify:pT=>pT instanceof Date,default:true,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:"+"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"+"(?:(?:t|T|[ \\t]+)"+"([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)"+"(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?"+")?"+")$"),resolve:(pT,xT,OT,BE,LE,RE,ME,jE,VE)=>{if(jE)jE=(jE+"00").substr(1,3);let UE=Date.UTC(xT,OT-1,BE,LE||0,RE||0,ME||0,jE||0);if(VE&&VE!=="Z"){let pT=parseSexagesimal(VE[0],VE.slice(1));if(Math.abs(pT)<30)pT*=60;UE-=6e4*pT}return new Date(UE)},stringify:({value:pT})=>pT.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function shouldWarn(pT){const xT=typeof process!=="undefined"&&process.env||{};if(pT){if(typeof YAML_SILENCE_DEPRECATION_WARNINGS!=="undefined")return!YAML_SILENCE_DEPRECATION_WARNINGS;return!xT.YAML_SILENCE_DEPRECATION_WARNINGS}if(typeof YAML_SILENCE_WARNINGS!=="undefined")return!YAML_SILENCE_WARNINGS;return!xT.YAML_SILENCE_WARNINGS}function warn(pT,xT){if(shouldWarn(false)){const OT=typeof process!=="undefined"&&process.emitWarning;if(OT)OT(pT,xT);else{console.warn(xT?`${xT}: ${pT}`:pT)}}}function warnFileDeprecation(pT){if(shouldWarn(true)){const xT=pT.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");warn(`The endpoint 'yaml/${xT}' will be removed in a future release.`,"DeprecationWarning")}}const KE={};function warnOptionDeprecation(pT,xT){if(!KE[pT]&&shouldWarn(true)){KE[pT]=true;let OT=`The option '${pT}' will be removed in a future release`;OT+=xT?`, use '${xT}' instead.`:".";warn(OT,"DeprecationWarning")}}xT.binary=RE;xT.floatTime=JE;xT.intTime=UE;xT.omap=jE;xT.pairs=ME;xT.set=VE;xT.timestamp=qE;xT.warn=warn;xT.warnFileDeprecation=warnFileDeprecation;xT.warnOptionDeprecation=warnOptionDeprecation},7236:(pT,xT,OT)=>{pT.exports=OT(5065).YAML},6615:pT=>{"use strict";pT.exports=JSON.parse('{"dots":{"interval":80,"frames":["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"]},"dots2":{"interval":80,"frames":["⣾","⣽","⣻","⢿","⡿","⣟","⣯","⣷"]},"dots3":{"interval":80,"frames":["⠋","⠙","⠚","⠞","⠖","⠦","⠴","⠲","⠳","⠓"]},"dots4":{"interval":80,"frames":["⠄","⠆","⠇","⠋","⠙","⠸","⠰","⠠","⠰","⠸","⠙","⠋","⠇","⠆"]},"dots5":{"interval":80,"frames":["⠋","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋"]},"dots6":{"interval":80,"frames":["⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠴","⠲","⠒","⠂","⠂","⠒","⠚","⠙","⠉","⠁"]},"dots7":{"interval":80,"frames":["⠈","⠉","⠋","⠓","⠒","⠐","⠐","⠒","⠖","⠦","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈"]},"dots8":{"interval":80,"frames":["⠁","⠁","⠉","⠙","⠚","⠒","⠂","⠂","⠒","⠲","⠴","⠤","⠄","⠄","⠤","⠠","⠠","⠤","⠦","⠖","⠒","⠐","⠐","⠒","⠓","⠋","⠉","⠈","⠈"]},"dots9":{"interval":80,"frames":["⢹","⢺","⢼","⣸","⣇","⡧","⡗","⡏"]},"dots10":{"interval":80,"frames":["⢄","⢂","⢁","⡁","⡈","⡐","⡠"]},"dots11":{"interval":100,"frames":["⠁","⠂","⠄","⡀","⢀","⠠","⠐","⠈"]},"dots12":{"interval":80,"frames":["⢀⠀","⡀⠀","⠄⠀","⢂⠀","⡂⠀","⠅⠀","⢃⠀","⡃⠀","⠍⠀","⢋⠀","⡋⠀","⠍⠁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⢈⠩","⡀⢙","⠄⡙","⢂⠩","⡂⢘","⠅⡘","⢃⠨","⡃⢐","⠍⡐","⢋⠠","⡋⢀","⠍⡁","⢋⠁","⡋⠁","⠍⠉","⠋⠉","⠋⠉","⠉⠙","⠉⠙","⠉⠩","⠈⢙","⠈⡙","⠈⠩","⠀⢙","⠀⡙","⠀⠩","⠀⢘","⠀⡘","⠀⠨","⠀⢐","⠀⡐","⠀⠠","⠀⢀","⠀⡀"]},"dots8Bit":{"interval":80,"frames":["⠀","⠁","⠂","⠃","⠄","⠅","⠆","⠇","⡀","⡁","⡂","⡃","⡄","⡅","⡆","⡇","⠈","⠉","⠊","⠋","⠌","⠍","⠎","⠏","⡈","⡉","⡊","⡋","⡌","⡍","⡎","⡏","⠐","⠑","⠒","⠓","⠔","⠕","⠖","⠗","⡐","⡑","⡒","⡓","⡔","⡕","⡖","⡗","⠘","⠙","⠚","⠛","⠜","⠝","⠞","⠟","⡘","⡙","⡚","⡛","⡜","⡝","⡞","⡟","⠠","⠡","⠢","⠣","⠤","⠥","⠦","⠧","⡠","⡡","⡢","⡣","⡤","⡥","⡦","⡧","⠨","⠩","⠪","⠫","⠬","⠭","⠮","⠯","⡨","⡩","⡪","⡫","⡬","⡭","⡮","⡯","⠰","⠱","⠲","⠳","⠴","⠵","⠶","⠷","⡰","⡱","⡲","⡳","⡴","⡵","⡶","⡷","⠸","⠹","⠺","⠻","⠼","⠽","⠾","⠿","⡸","⡹","⡺","⡻","⡼","⡽","⡾","⡿","⢀","⢁","⢂","⢃","⢄","⢅","⢆","⢇","⣀","⣁","⣂","⣃","⣄","⣅","⣆","⣇","⢈","⢉","⢊","⢋","⢌","⢍","⢎","⢏","⣈","⣉","⣊","⣋","⣌","⣍","⣎","⣏","⢐","⢑","⢒","⢓","⢔","⢕","⢖","⢗","⣐","⣑","⣒","⣓","⣔","⣕","⣖","⣗","⢘","⢙","⢚","⢛","⢜","⢝","⢞","⢟","⣘","⣙","⣚","⣛","⣜","⣝","⣞","⣟","⢠","⢡","⢢","⢣","⢤","⢥","⢦","⢧","⣠","⣡","⣢","⣣","⣤","⣥","⣦","⣧","⢨","⢩","⢪","⢫","⢬","⢭","⢮","⢯","⣨","⣩","⣪","⣫","⣬","⣭","⣮","⣯","⢰","⢱","⢲","⢳","⢴","⢵","⢶","⢷","⣰","⣱","⣲","⣳","⣴","⣵","⣶","⣷","⢸","⢹","⢺","⢻","⢼","⢽","⢾","⢿","⣸","⣹","⣺","⣻","⣼","⣽","⣾","⣿"]},"line":{"interval":130,"frames":["-","\\\\","|","/"]},"line2":{"interval":100,"frames":["⠂","-","–","—","–","-"]},"pipe":{"interval":100,"frames":["┤","┘","┴","└","├","┌","┬","┐"]},"simpleDots":{"interval":400,"frames":[". ",".. ","..."," "]},"simpleDotsScrolling":{"interval":200,"frames":[". ",".. ","..."," .."," ."," "]},"star":{"interval":70,"frames":["✶","✸","✹","✺","✹","✷"]},"star2":{"interval":80,"frames":["+","x","*"]},"flip":{"interval":70,"frames":["_","_","_","-","`","`","\'","´","-","_","_","_"]},"hamburger":{"interval":100,"frames":["☱","☲","☴"]},"growVertical":{"interval":120,"frames":["▁","▃","▄","▅","▆","▇","▆","▅","▄","▃"]},"growHorizontal":{"interval":120,"frames":["▏","▎","▍","▌","▋","▊","▉","▊","▋","▌","▍","▎"]},"balloon":{"interval":140,"frames":[" ",".","o","O","@","*"," "]},"balloon2":{"interval":120,"frames":[".","o","O","°","O","o","."]},"noise":{"interval":100,"frames":["▓","▒","░"]},"bounce":{"interval":120,"frames":["⠁","⠂","⠄","⠂"]},"boxBounce":{"interval":120,"frames":["▖","▘","▝","▗"]},"boxBounce2":{"interval":100,"frames":["▌","▀","▐","▄"]},"triangle":{"interval":50,"frames":["◢","◣","◤","◥"]},"arc":{"interval":100,"frames":["◜","◠","◝","◞","◡","◟"]},"circle":{"interval":120,"frames":["◡","⊙","◠"]},"squareCorners":{"interval":180,"frames":["◰","◳","◲","◱"]},"circleQuarters":{"interval":120,"frames":["◴","◷","◶","◵"]},"circleHalves":{"interval":50,"frames":["◐","◓","◑","◒"]},"squish":{"interval":100,"frames":["╫","╪"]},"toggle":{"interval":250,"frames":["⊶","⊷"]},"toggle2":{"interval":80,"frames":["▫","▪"]},"toggle3":{"interval":120,"frames":["□","■"]},"toggle4":{"interval":100,"frames":["■","□","▪","▫"]},"toggle5":{"interval":100,"frames":["▮","▯"]},"toggle6":{"interval":300,"frames":["ဝ","၀"]},"toggle7":{"interval":80,"frames":["⦾","⦿"]},"toggle8":{"interval":100,"frames":["◍","◌"]},"toggle9":{"interval":100,"frames":["◉","◎"]},"toggle10":{"interval":100,"frames":["㊂","㊀","㊁"]},"toggle11":{"interval":50,"frames":["⧇","⧆"]},"toggle12":{"interval":120,"frames":["☗","☖"]},"toggle13":{"interval":80,"frames":["=","*","-"]},"arrow":{"interval":100,"frames":["←","↖","↑","↗","→","↘","↓","↙"]},"arrow2":{"interval":80,"frames":["⬆️ ","↗️ ","➡️ ","↘️ ","⬇️ ","↙️ ","⬅️ ","↖️ "]},"arrow3":{"interval":120,"frames":["▹▹▹▹▹","▸▹▹▹▹","▹▸▹▹▹","▹▹▸▹▹","▹▹▹▸▹","▹▹▹▹▸"]},"bouncingBar":{"interval":80,"frames":["[ ]","[= ]","[== ]","[=== ]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},"bouncingBall":{"interval":80,"frames":["( ● )","( ● )","( ● )","( ● )","( ●)","( ● )","( ● )","( ● )","( ● )","(● )"]},"smiley":{"interval":200,"frames":["😄 ","😝 "]},"monkey":{"interval":300,"frames":["🙈 ","🙈 ","🙉 ","🙊 "]},"hearts":{"interval":100,"frames":["💛 ","💙 ","💜 ","💚 ","❤️ "]},"clock":{"interval":100,"frames":["🕛 ","🕐 ","🕑 ","🕒 ","🕓 ","🕔 ","🕕 ","🕖 ","🕗 ","🕘 ","🕙 ","🕚 "]},"earth":{"interval":180,"frames":["🌍 ","🌎 ","🌏 "]},"material":{"interval":17,"frames":["█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁","███████▁▁▁▁▁▁▁▁▁▁▁▁▁","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","██████████▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","█████████████▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁██████████████▁▁▁▁","▁▁▁██████████████▁▁▁","▁▁▁▁█████████████▁▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁██████████████▁▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁██████████████▁","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁██████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁█████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁████████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁███████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁██████████","▁▁▁▁▁▁▁▁▁▁▁▁████████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","██████▁▁▁▁▁▁▁▁▁▁▁▁▁█","████████▁▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","█████████▁▁▁▁▁▁▁▁▁▁▁","███████████▁▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","████████████▁▁▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","██████████████▁▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁██████████████▁▁▁▁▁","▁▁▁█████████████▁▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁████████████▁▁▁","▁▁▁▁▁▁███████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁█████████▁▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁█████████▁▁","▁▁▁▁▁▁▁▁▁▁█████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁████████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁███████▁","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁███████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁","▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"]},"moon":{"interval":80,"frames":["🌑 ","🌒 ","🌓 ","🌔 ","🌕 ","🌖 ","🌗 ","🌘 "]},"runner":{"interval":140,"frames":["🚶 ","🏃 "]},"pong":{"interval":80,"frames":["▐⠂ ▌","▐⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂▌","▐ ⠠▌","▐ ⡀▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐ ⠠ ▌","▐ ⠂ ▌","▐ ⠈ ▌","▐ ⠂ ▌","▐ ⠠ ▌","▐ ⡀ ▌","▐⠠ ▌"]},"shark":{"interval":120,"frames":["▐|\\\\____________▌","▐_|\\\\___________▌","▐__|\\\\__________▌","▐___|\\\\_________▌","▐____|\\\\________▌","▐_____|\\\\_______▌","▐______|\\\\______▌","▐_______|\\\\_____▌","▐________|\\\\____▌","▐_________|\\\\___▌","▐__________|\\\\__▌","▐___________|\\\\_▌","▐____________|\\\\▌","▐____________/|▌","▐___________/|_▌","▐__________/|__▌","▐_________/|___▌","▐________/|____▌","▐_______/|_____▌","▐______/|______▌","▐_____/|_______▌","▐____/|________▌","▐___/|_________▌","▐__/|__________▌","▐_/|___________▌","▐/|____________▌"]},"dqpb":{"interval":100,"frames":["d","q","p","b"]},"weather":{"interval":100,"frames":["☀️ ","☀️ ","☀️ ","🌤 ","⛅️ ","🌥 ","☁️ ","🌧 ","🌨 ","🌧 ","🌨 ","🌧 ","🌨 ","⛈ ","🌨 ","🌧 ","🌨 ","☁️ ","🌥 ","⛅️ ","🌤 ","☀️ ","☀️ "]},"christmas":{"interval":400,"frames":["🌲","🎄"]},"grenade":{"interval":80,"frames":["، ","′ "," ´ "," ‾ "," ⸌"," ⸊"," |"," ⁎"," ⁕"," ෴ "," ⁓"," "," "," "]},"point":{"interval":125,"frames":["∙∙∙","●∙∙","∙●∙","∙∙●","∙∙∙"]},"layer":{"interval":150,"frames":["-","=","≡"]},"betaWave":{"interval":80,"frames":["ρββββββ","βρβββββ","ββρββββ","βββρβββ","ββββρββ","βββββρβ","ββββββρ"]},"fingerDance":{"interval":160,"frames":["🤘 ","🤟 ","🖖 ","✋ ","🤚 ","👆 "]},"fistBump":{"interval":80,"frames":["🤜    🤛 ","🤜    🤛 ","🤜    🤛 "," 🤜  🤛  ","  🤜🤛   "," 🤜✨🤛   ","🤜 ✨ 🤛  "]},"soccerHeader":{"interval":80,"frames":[" 🧑⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 ","🧑 ⚽️ 🧑 "]},"mindblown":{"interval":160,"frames":["😐 ","😐 ","😮 ","😮 ","😦 ","😦 ","😧 ","😧 ","🤯 ","💥 ","✨ ","  ","  ","  "]},"speaker":{"interval":160,"frames":["🔈 ","🔉 ","🔊 ","🔉 "]},"orangePulse":{"interval":100,"frames":["🔸 ","🔶 ","🟠 ","🟠 ","🔶 "]},"bluePulse":{"interval":100,"frames":["🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},"orangeBluePulse":{"interval":100,"frames":["🔸 ","🔶 ","🟠 ","🟠 ","🔶 ","🔹 ","🔷 ","🔵 ","🔵 ","🔷 "]},"timeTravel":{"interval":100,"frames":["🕛 ","🕚 ","🕙 ","🕘 ","🕗 ","🕖 ","🕕 ","🕔 ","🕓 ","🕒 ","🕑 ","🕐 "]},"aesthetic":{"interval":80,"frames":["▰▱▱▱▱▱▱","▰▰▱▱▱▱▱","▰▰▰▱▱▱▱","▰▰▰▰▱▱▱","▰▰▰▰▰▱▱","▰▰▰▰▰▰▱","▰▰▰▰▰▰▰","▰▱▱▱▱▱▱"]}}')},2357:pT=>{"use strict";pT.exports=require("assert")},4293:pT=>{"use strict";pT.exports=require("buffer")},3129:pT=>{"use strict";pT.exports=require("child_process")},8614:pT=>{"use strict";pT.exports=require("events")},5747:pT=>{"use strict";pT.exports=require("fs")},2282:pT=>{"use strict";pT.exports=require("module")},2087:pT=>{"use strict";pT.exports=require("os")},5622:pT=>{"use strict";pT.exports=require("path")},1058:pT=>{"use strict";pT.exports=require("readline")},2413:pT=>{"use strict";pT.exports=require("stream")},3867:pT=>{"use strict";pT.exports=require("tty")},1669:pT=>{"use strict";pT.exports=require("util")}};var xT={};function __nccwpck_require__(OT){var BE=xT[OT];if(BE!==undefined){return BE.exports}var LE=xT[OT]={id:OT,loaded:false,exports:{}};var RE=true;try{pT[OT].call(LE.exports,LE,LE.exports,__nccwpck_require__);RE=false}finally{if(RE)delete xT[OT]}LE.loaded=true;return LE.exports}(()=>{__nccwpck_require__.n=pT=>{var xT=pT&&pT.__esModule?()=>pT["default"]:()=>pT;__nccwpck_require__.d(xT,{a:xT});return xT}})();(()=>{__nccwpck_require__.d=(pT,xT)=>{for(var OT in xT){if(__nccwpck_require__.o(xT,OT)&&!__nccwpck_require__.o(pT,OT)){Object.defineProperty(pT,OT,{enumerable:true,get:xT[OT]})}}}})();(()=>{__nccwpck_require__.o=(pT,xT)=>Object.prototype.hasOwnProperty.call(pT,xT)})();(()=>{__nccwpck_require__.r=pT=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(pT,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(pT,"__esModule",{value:true})}})();(()=>{__nccwpck_require__.nmd=pT=>{pT.paths=[];if(!pT.children)pT.children=[];return pT}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var OT={};(()=>{"use strict";__nccwpck_require__.r(OT);var pT=__nccwpck_require__(1904);var xT=__nccwpck_require__(970);var BE=__nccwpck_require__.n(xT);var LE=__nccwpck_require__(5622);var RE=__nccwpck_require__.n(LE);var ME=__nccwpck_require__(5747);var jE=__nccwpck_require__.n(ME);var VE=__nccwpck_require__(6155);var UE=__nccwpck_require__(7314);var JE=__nccwpck_require__(9882);var qE=__nccwpck_require__(5655);let makeExtractTagsFromSource=pT=>xT=>{const OT=(0,UE.getLocator)(xT);const BE=[];let LE;while((LE=pT.exec(xT))!==null){let pT=OT(LE.index);let xT=OT(LE.index+LE[0].length);BE.push({content:LE[0],start:pT.character,end:xT.character})}return BE};const KE=new RegExp(/(?<=\%relay\([\s]*`)[\s\S.]+?(?=`[\s]*\))/g);const zE=makeExtractTagsFromSource(KE);function prettify(pT){return(0,JE.format)(pT,{parser:"graphql",plugins:[qE]}).replace(/^\s+|\s+$/g,"")}const padOperation=(pT,xT)=>pT.split("\n").map((pT=>" ".repeat(xT)+pT)).join("\n");const $E=new RegExp(/^[\s]*(?=[\w])/g);const GE=new RegExp(/[\s]*$/g);const findOperationPadding=pT=>{const xT=(pT.match($E)||[]).pop();const OT=(xT||"").split("\n").pop();return OT?OT.length:0};const restoreOperationPadding=(pT,xT)=>{const OT=(xT.match(GE)||[]).join("");return"\n"+padOperation(pT,findOperationPadding(xT))+OT};const isNodeInterfaceWithSingleMember=pT=>{var xT;const OT=pT.selectionSet.selections.find((pT=>pT.kind==="Field"&&pT.name.value==="node"));if((OT===null||OT===void 0?void 0:OT.kind)==="Field"){const pT=(xT=OT.selectionSet)===null||xT===void 0?void 0:xT.selections.filter((pT=>pT.kind==="InlineFragment"));return(pT===null||pT===void 0?void 0:pT.length)===1}return false};const namedPathOfAncestors=pT=>(pT||[]).reduce(((pT,xT)=>{var OT,BE;if(Array.isArray(xT)){return pT}const LE=xT;switch(LE.kind){case"Field":return[...pT,LE.name.value];case"InlineFragment":return[...pT,(BE=(OT=LE.typeCondition)===null||OT===void 0?void 0:OT.name.value)!==null&&BE!==void 0?BE:""];default:return pT}}),[]).join("_");const getPathAssets=({unusedFieldPaths:pT,fieldName:xT,ancestors:OT})=>{const BE=namedPathOfAncestors(OT);const LE=BE===""?xT:[namedPathOfAncestors(OT),xT].join("_");const RE=`${LE}.`;const ME=pT.filter((pT=>pT.startsWith(RE))).map((pT=>pT.slice(RE.length)));return{fieldsToRemove:ME,shouldRemoveFullSelection:pT.includes(LE),path:LE,ancestorPath:BE}};const removeUnusedFieldsFromOperation=({definition:pT,unusedFieldPaths:xT})=>{let OT=false;const BE=(0,VE.Vn3)(pT,{InlineFragment(OT,BE,LE,RE,ME){if(OT.typeCondition==null)return OT;const jE=namedPathOfAncestors(ME);const VE=jE==="node"&&isNodeInterfaceWithSingleMember(pT);const UE=VE?jE:[jE,OT.typeCondition.name.value].filter((pT=>pT!=="")).join("_");const JE=`${UE}.`;const qE=xT.filter((pT=>pT.startsWith(JE))).map((pT=>pT.slice(JE.length)));if(qE.length>0){const pT=qE.includes("fragmentRefs");const xT=Object.assign(Object.assign({},OT.selectionSet),{selections:OT.selectionSet.selections.filter((xT=>{var OT,BE;if(xT.kind==="FragmentSpread"&&pT){return false}if(xT.kind==="Field"){const pT=(BE=(OT=xT.alias)===null||OT===void 0?void 0:OT.value)!==null&&BE!==void 0?BE:xT.name.value;return!qE.includes(pT)}return true}))});if(xT.selections.length===0){return null}return Object.assign(Object.assign({},OT),{selectionSet:xT})}return OT},FragmentDefinition(pT){const BE=xT.filter((pT=>!pT.includes(".")));const LE=BE.includes("fragmentRefs");if(BE.length>0){const xT=Object.assign(Object.assign({},pT.selectionSet),{selections:pT.selectionSet.selections.filter((pT=>{var xT,OT;if(pT.kind==="FragmentSpread"&&LE){return false}if(pT.kind==="Field"){const LE=(OT=(xT=pT.alias)===null||xT===void 0?void 0:xT.value)!==null&&OT!==void 0?OT:pT.name.value;return!BE.includes(LE)}return true}))});if(xT.selections.length===0){OT=true;return VE.$_X}return Object.assign(Object.assign({},pT),{selectionSet:xT})}return pT},OperationDefinition(pT){if(pT.operation!=="query"){return pT}const BE=xT.filter((pT=>!pT.includes(".")));const LE=BE.includes("fragmentRefs");if(BE.length>0){const xT=Object.assign(Object.assign({},pT.selectionSet),{selections:pT.selectionSet.selections.filter((pT=>{var xT,OT;if(pT.kind==="FragmentSpread"&&LE){return false}if(pT.kind==="Field"){const LE=(OT=(xT=pT.alias)===null||xT===void 0?void 0:xT.value)!==null&&OT!==void 0?OT:pT.name.value;return!BE.includes(LE)}return true}))});if(xT.selections.length===0){OT=true;return VE.$_X}return Object.assign(Object.assign({},pT),{selectionSet:xT})}return pT},Field(pT,OT,BE,LE,RE){var ME,jE,VE,UE;const JE=(jE=(ME=pT.alias)===null||ME===void 0?void 0:ME.value)!==null&&jE!==void 0?jE:pT.name.value;const{fieldsToRemove:qE,shouldRemoveFullSelection:KE}=getPathAssets({unusedFieldPaths:xT,fieldName:JE,ancestors:RE});if(KE){return null}if(qE.length>0){const xT=qE.includes("fragmentRefs");const OT=(UE=(VE=pT.selectionSet)===null||VE===void 0?void 0:VE.selections)===null||UE===void 0?void 0:UE.filter((pT=>{var OT,BE;if(pT.kind==="FragmentSpread"&&xT){return false}if(pT.kind==="Field"){const xT=(BE=(OT=pT.alias)===null||OT===void 0?void 0:OT.value)!==null&&BE!==void 0?BE:pT.name.value;return!qE.includes(xT)}return true}));const BE={kind:"Field",name:{kind:"Name",value:"__typename"}};return Object.assign(Object.assign({},pT),{selectionSet:{kind:"SelectionSet",selections:(OT===null||OT===void 0?void 0:OT.length)===0?[BE]:OT}})}return pT}});if(OT){return null}return BE};const WE=new RegExp(/(?<=__generated__\/)[A-Za-z_0-9]+(?=_graphql\.res)/g);const YE=new RegExp(/(?<=Types\.(fragment|response)[_.])[A-Za-z_.0-9]+(?= )/g);const HE=new RegExp(/Types\.(fragment|response)/g);const processReanalyzeOutput=pT=>{const xT=pT.split(/\n\n/g).filter((pT=>pT.match(HE))).reduce(((pT,xT)=>{var OT,BE;const LE=xT.includes("Types.fragment")?"fragment":"query";const RE=(OT=xT.match(WE))===null||OT===void 0?void 0:OT[0];const ME=RE==null?null:`${RE}_graphql.res`;const jE=(BE=xT.match(YE))===null||BE===void 0?void 0:BE[0];if(LE==="query"&&!(RE===null||RE===void 0?void 0:RE.toLowerCase().endsWith("query"))){return pT}if(jE==="id"){return pT}if(jE===null||jE===void 0?void 0:jE.endsWith("__typename")){return pT}if(RE==null||jE==null||ME==null){return pT}pT[ME]=pT[ME]||{type:LE,graphqlName:RE,unusedFieldPaths:[]};pT[ME].unusedFieldPaths.push(jE);return pT}),{});return xT};const maybePluralize=(pT,xT)=>{if(xT===1){return`${xT} ${pT}`}return`${xT} ${pT}s`};var XE=__nccwpck_require__(7519);var QE=__nccwpck_require__.n(XE);var ZE=__nccwpck_require__(4066);var eC=undefined&&undefined.__awaiter||function(pT,xT,OT,BE){function adopt(pT){return pT instanceof OT?pT:new OT((function(xT){xT(pT)}))}return new(OT||(OT=Promise))((function(OT,LE){function fulfilled(pT){try{step(BE.next(pT))}catch(pT){LE(pT)}}function rejected(pT){try{step(BE["throw"](pT))}catch(pT){LE(pT)}}function step(pT){pT.done?OT(pT.value):adopt(pT.value).then(fulfilled,rejected)}step((BE=BE.apply(pT,xT||[])).next())}))};const tC=(0,ZE.Wy)("relay",{searchPlaces:["package.json","relay.json","relay.config.json","relay.config.js","relay.config.cjs"]});const loadRelayConfig=()=>{const pT=tC.search();if(!pT){console.error("Could not find relay.config.js. You must configure Relay through relay.config.js for RescriptRelay to work.");process.exit(1)}const xT=pT.config;if(!xT.artifactDirectory){console.error("RescriptRelay requires you to define 'artifactDirectory' (for outputing generated files in a single directory) in your relay.config.js. Please define it and re-run this command.");process.exit(1)}return xT};const getRelayArtifactDirectoryLocation=pT=>{const xT=RE().resolve(RE().join(process.cwd(),pT.artifactDirectory));return xT};const getAllGeneratedFiles=pT=>eC(void 0,void 0,void 0,(function*(){const xT=yield QE()(`${pT}/*.res`,{absolute:true,onlyFiles:true});return xT}));const rC=new RegExp(/(?<=\/\* @sourceLoc )[A-Za-z_.0-9]+(?= \*\/)/g);const findAllSourceFilesFromGeneratedFiles=(pT,xT)=>eC(void 0,void 0,void 0,(function*(){const OT=yield Promise.all(pT.map((pT=>eC(void 0,void 0,void 0,(function*(){var OT;if(xT!=null){xT.text=`Checking ${RE().basename(pT)}...`}const BE=yield jE().promises.readFile(pT,{encoding:"utf-8"});return(OT=BE.match(rC))===null||OT===void 0?void 0:OT[0]})))));const BE=OT.reduce(((pT,xT)=>{if(xT!=null){const OT=xT;if(!pT.includes(OT)){pT.push(OT)}return pT}return pT}),[]);return BE}));const getSrcCwd=pT=>RE().resolve(RE().join(process.cwd(),pT));const findSourceFiles=(pT,xT)=>eC(void 0,void 0,void 0,(function*(){const OT=getSrcCwd(xT);const BE=yield QE()(pT.map((pT=>`**/${pT}`)),{cwd:OT,absolute:true,onlyFiles:true});return BE}));const formatOperationsInDocument=pT=>{const xT=zE(pT);if(xT.length===0){return pT}let OT="";for(let BE=0;BE<=xT.length-1;BE+=1){const LE=xT[BE];const RE=xT[BE-1];const ME=RE==null?0:RE.end;OT+=pT.slice(ME,LE.start);const jE=LE.content.split("\n").some((pT=>pT.trim().startsWith("//")));if(jE){const pT=LE.content.split("\n").map((pT=>pT.replace("//",""))).join("\n");OT+=restoreOperationPadding(prettify(pT),pT).split("\n").map((pT=>pT!==""?`//${pT}`:pT)).join("\n")}else{OT+=restoreOperationPadding(prettify(LE.content),LE.content)}}const BE=xT[xT.length-1];OT+=pT.slice(BE.end);return OT};var nC=undefined&&undefined.__awaiter||function(pT,xT,OT,BE){function adopt(pT){return pT instanceof OT?pT:new OT((function(xT){xT(pT)}))}return new(OT||(OT=Promise))((function(OT,LE){function fulfilled(pT){try{step(BE.next(pT))}catch(pT){LE(pT)}}function rejected(pT){try{step(BE["throw"](pT))}catch(pT){LE(pT)}}function step(pT){pT.done?OT(pT.value):adopt(pT.value).then(fulfilled,rejected)}step((BE=BE.apply(pT,xT||[])).next())}))};const addFormatGraphQLCommands=pT=>{pT.command("format-all-graphql").option("--ci","CI mode: Exit if unformatted files are encountered.").description("Format all GraphQL operations in project.").action((({ci:pT})=>nC(void 0,void 0,void 0,(function*(){const xT=loadRelayConfig();const OT=getRelayArtifactDirectoryLocation(xT);const LE=BE()("Findings files to format").start();const ME=yield getAllGeneratedFiles(OT);const VE=yield findAllSourceFilesFromGeneratedFiles(ME,LE);LE.text=`Searching for ${maybePluralize("source file",VE.length)}.`;const UE=yield findSourceFiles(VE,xT.src);const JE=yield Promise.all(UE.map((xT=>nC(void 0,void 0,void 0,(function*(){LE.text=`${pT?"Checking":"Formatting"} "${RE().basename(xT)}".`;const OT=yield jE().promises.readFile(xT,{encoding:"utf-8"});const BE=formatOperationsInDocument(OT);if(OT!==BE&&!pT){yield jE().promises.writeFile(xT,BE)}return OT!==BE})))));const qE=JE.filter((pT=>pT===true)).length;if(pT){if(qE===0){LE.succeed(`Done! None of ${maybePluralize("file",UE.length)} in need of formatting.`);process.exit(0)}else{LE.fail(`${maybePluralize("file",qE)} needs formatting.`);process.exit(1)}}else{if(qE===0){LE.succeed(`Done! None of ${maybePluralize("scanned file",UE.length)} needed formatting.`)}else{LE.succeed(`Done! Formatted ${maybePluralize("file",qE)} of ${maybePluralize("scanned file",UE.length)}.`)}}}))));pT.command("format-single-graphql").description("Format GraphQL operations in single file.").argument("<file>","Path to file to format. Must be absolute.").action((pT=>nC(void 0,void 0,void 0,(function*(){const xT=BE()("Formatting file..").start();const OT=yield jE().promises.stat(pT,{throwIfNoEntry:false});if(OT==null){xT.fail("File does not exist.");process.exit(1)}try{const OT=yield jE().promises.readFile(pT,{encoding:"utf-8"});const BE=formatOperationsInDocument(OT);if(OT!==BE){yield jE().promises.writeFile(pT,BE);xT.succeed("Successfully formatted file.")}else{xT.succeed("File already formatted.")}}catch(pT){xT.fail("Could not format file.");process.exit(1)}}))))};var iC=undefined&&undefined.__awaiter||function(pT,xT,OT,BE){function adopt(pT){return pT instanceof OT?pT:new OT((function(xT){xT(pT)}))}return new(OT||(OT=Promise))((function(OT,LE){function fulfilled(pT){try{step(BE.next(pT))}catch(pT){LE(pT)}}function rejected(pT){try{step(BE["throw"](pT))}catch(pT){LE(pT)}}function step(pT){pT.done?OT(pT.value):adopt(pT.value).then(fulfilled,rejected)}step((BE=BE.apply(pT,xT||[])).next())}))};const addDebugCommand=pT=>{pT.command("debug").description("Prints debug information for the CLI.").action((()=>iC(void 0,void 0,void 0,(function*(){const pT=loadRelayConfig();const xT=getRelayArtifactDirectoryLocation(pT);console.log(`Artifact directory location: ${xT}\n`);console.log("Getting all generated files...\n");const OT=yield getAllGeneratedFiles(xT);console.log(`Number of generated files found in artifact directory: ${OT.length}\n`);console.log("Looking up source files\n");const BE=yield findAllSourceFilesFromGeneratedFiles(OT);console.log(`Found ${BE.length} source locations with explicit definitions.\n`);console.log("Looking up source files..\n");const LE=yield findSourceFiles(BE,pT.src);console.log(`Found ${LE.length} actual source files, when looking in ${getSrcCwd(pT.src)}.\n`);console.log("Done!")}))))};var aC=__nccwpck_require__(3129);var oC=__nccwpck_require__.n(aC);var sC=undefined&&undefined.__awaiter||function(pT,xT,OT,BE){function adopt(pT){return pT instanceof OT?pT:new OT((function(xT){xT(pT)}))}return new(OT||(OT=Promise))((function(OT,LE){function fulfilled(pT){try{step(BE.next(pT))}catch(pT){LE(pT)}}function rejected(pT){try{step(BE["throw"](pT))}catch(pT){LE(pT)}}function step(pT){pT.done?OT(pT.value):adopt(pT.value).then(fulfilled,rejected)}step((BE=BE.apply(pT,xT||[])).next())}))};const addRemoveUnusedFieldsCommand=pT=>{pT.command("remove-unused-fields").option("--verbose","Verbose mode").option("--debug","Debug mode").option("--ci","CI mode: Exit if unused fields exist, but don't remove them.").description("Remove unused GraphQL selections in fragments in current project.").action((({ci:pT,verbose:xT,debug:OT})=>{var LE;const ME=loadRelayConfig();const UE=getRelayArtifactDirectoryLocation(ME);const JE=BE()("Analyzing ReScript project").start();const qE=oC().spawn("npx",["--yes","@rescript/tools","reanalyze","-dce"]);if(qE.stdout==null){console.error("Something went wrong.");process.exit(1)}let KE="";qE.stdout.on("data",(pT=>{KE+=pT}));(LE=qE.stderr)===null||LE===void 0?void 0:LE.on("data",(pT=>{if(pT.includes("End_of_file")){JE.fail(`Something went wrong trying to analyze the ReScript project. Try cleaning your ReScript project and rebuilding it from scratch before trying again.`)}else{JE.fail(`Something went wrong trying to analyze the ReScript project.`)}if(OT){console.error(pT)}process.exit(1)}));qE.on("close",(()=>sC(void 0,void 0,void 0,(function*(){JE.text="Analyzing GraphQL usage";const BE=processReanalyzeOutput(KE);if(OT){console.log(`Found ${maybePluralize("file",Object.keys(BE).length)} with potentially missing fields.`)}const LE=[];JE.text="Scanning fragment files";if(OT){console.log(`Extracing source locations for ${maybePluralize("files",Object.keys(BE).length)}.`)}yield Promise.all(Object.entries(BE).map((([pT,xT])=>sC(void 0,void 0,void 0,(function*(){var OT;const BE=RE().resolve(UE,pT);try{const pT=yield jE().promises.readFile(BE,{encoding:"utf-8"});const RE=(OT=pT.match(rC))===null||OT===void 0?void 0:OT[0];if(RE!=null){LE.push(Object.assign(Object.assign({},xT),{sourceLocation:RE}))}}catch(pT){console.error(pT)}})))));JE.text=`Findings files`;const qE=LE.map((pT=>({path:pT.sourceLocation,graphqlName:pT.graphqlName})));const $E=yield findSourceFiles(qE.map((pT=>pT.path)),ME.src);const GE=$E.map((pT=>{const xT=LE.find((xT=>pT.endsWith(xT.sourceLocation)));if(xT!=null){return Object.assign(Object.assign({},xT),{absoluteFilePath:pT})}}));JE.text=`Analyzing found files`;const WE=[];yield Promise.all(GE.map((pT=>sC(void 0,void 0,void 0,(function*(){var xT;if(pT==null)return;try{const OT=yield jE().promises.readFile(pT.absoluteFilePath,{encoding:"utf-8"});const BE=zE(OT);let LE=null;let RE=null;for(const OT of BE){const BE=(0,VE.Qc3)(OT.content);const ME=BE.definitions[0];if(ME==null){continue}if((ME.kind==="OperationDefinition"||ME.kind==="FragmentDefinition")&&((xT=ME.name)===null||xT===void 0?void 0:xT.value)===pT.graphqlName){LE=BE;RE=OT;break}}if(LE==null||RE==null)return;const ME=LE.definitions[0];if(ME==null||!(ME.kind==="FragmentDefinition"||ME.kind==="OperationDefinition")){return}WE.push(Object.assign({targetDef:ME,fileContents:OT,targetTag:RE},pT))}catch(pT){console.error(pT)}})))));if(xT&&LE.length>0){console.log(`\n\n------\nUnused fields: \n`,WE.map((pT=>`${pT.type==="fragment"?"Fragment":"Query"} "${pT.graphqlName}" in ${pT.sourceLocation}: \n ${pT.unusedFieldPaths.join("\n ")}`)).join("\n\n"),`\n------\n\n`)}if(pT){if(WE.length===0){JE.succeed("No unused fields found.");process.exit(0)}else{JE.fail(`Found ${WE.length} file(s) with unused fields.`);process.exit(1)}}JE.text=`Removing unused fields`;yield Promise.all(WE.map((({targetDef:pT,unusedFieldPaths:xT,targetTag:OT,absoluteFilePath:BE,fileContents:LE})=>sC(void 0,void 0,void 0,(function*(){const RE=removeUnusedFieldsFromOperation({definition:pT,unusedFieldPaths:xT});const ME=RE==null?"# This module is unused and can be removed":restoreOperationPadding(prettify((0,VE.S0v)(RE)),OT.content);yield jE().promises.writeFile(BE,`${LE.slice(0,OT.start)}${ME}${LE.slice(OT.end)}`)})))));const YE=WE.reduce(((pT,xT)=>{var OT;return pT+((OT=xT===null||xT===void 0?void 0:xT.unusedFieldPaths.length)!==null&&OT!==void 0?OT:0)}),0);if(YE===0){JE.succeed("Done! No unused fields found.")}else{JE.succeed(`Done! Removed ${maybePluralize("field",YE)} from ${maybePluralize("file",WE.length)}.`)}}))))}))};pT.program.version("0.1.0");addFormatGraphQLCommands(pT.program);addDebugCommand(pT.program);addRemoveUnusedFieldsCommand(pT.program);pT.program.parse(process.argv)})();module.exports=OT})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rescript-relay",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "main": "src/RescriptRelay.res",
5
5
  "license": "MIT",
6
6
  "author": "Gabriel Nordeborn",
Binary file
Binary file